%A Bela Lugosi %T Plan 9 from outer space %I Nostalgia Merchant %C Hollywood, CA, USA %Y 1981 #bibdate: Mon May 27 14:32:08 MDT 1996 #note: 1 videocassette (78 min.) #acknowledgement: ack-nhfb #annote: VHS format; 3908. Videorecording of the motion picture. ``Winner of the dubious `Golden Turkey Award' for the worst picture of all time.'' Bela Lugosi, Lyle Talbot, Tor Johnson, Vampira. Aliens invade the Earth in flying saucers that look suspiciously like paper plates, intent on conquering the Earth by resurrecting the dead. #keywords: Feature films; Science fiction films. %A Edward D. (Edward Davis) Wood %A Tor Johnson %A Vampira %A Tom Keene %A Gregory Walcott %T Plan 9 from outer space %I Goodtimes Home Video %C New York, NY, USA %Y 1984 #isbn: 1-55511-689-2 #lccn: ???? #bibdate: Mon May 27 14:32:08 MDT 1996 #note: 1 videocassette (approx. 79 min.) #series: Sherlock Theatre: the best of the worst #acknowledgement: ack-nhfb #alttitle: Plan nine from outer space #annote: Videocassette release of the c1958 motion picture. Recorded in LP mode. Executive producer, J. Edward Reynolds; director of photography, William C. Thompson; film editor, Edward D. Wood, Jr., Tor Johnson, Vampira, Tom Keene, Gregory Walcott, Dudley Manlove, Mona McKinnon, Bela Lugosi, John Breckinridge, Lyle Talbot. Universally hailed as the worst movie ever made, it is also one of the funniest. Aliens from outer space are robbing graves in the San Fernando Valley and turning the corpses into murdering zombies. VHS. 8311; Goodtimes Home Video. #keywords: Comedy films; Feature films; Science fiction films. %A Anonymous %T Beyond Unix: Plan 9 %J j-INFORMATION-WEEK %V 293 %P 20--?? #day: 29 %D oct %Y 1990 #coden: INFWE4 #issn: 8750-6874 #bibdate: Fri Aug 16 18:40:11 1996 #bibsource: UnCover library database # Bell Labs scientists are working with an internally developed operating system that allows easier distributed processing using networks with diskless workstation nodes. #acknowledgement: ack-nhfb %A T. Duff %T Rc --- a shell for Plan 9 and Unix systems %J j-EUUG-NEWSLETTER %V 10 %N 3 %P 12--22 %D Autumn %Y 1990 #coden: EONLE8 #issn: 1011-4211 #bibdate: Sat Mar 22 15:10:17 MST 1997 #acknowledgement: ack-nhfb #classcodes: B6210L (Computer communications); C6150C (Compilers, interpreters and other processors); C6115 (Programming support); C5620 (Computer networks and techniques) #corpsource: AT&T Bell Labs., Murray Hill, NJ, USA #keywords: Bourne system; command interpreter; distributed computing environment; distributed processing; idiosyncratic syntax; Plan 9; program interpreters; rc; shell; software; SunOS; systems; Tenth Edition; tools; traditional; Unix; Unix systems #treatment: P Practical %A T. Duff %B UKUUG. UNIX - The Legend Evolves. Proceedings of the Summer 1990 UKUUG Conference %T Rc -- a shell for Plan 9 and Unix systems %I pub-UKUUG %C pub-UKUUG:adr %P 21--33 (of xi + 260) %Y 1990 #isbn: 0-9513181-7-9 #lccn: ???? #bibdate: Sat Mar 22 15:10:17 MST 1997 #acknowledgement: ack-nhfb #classcodes: C6150C (Compilers, interpreters and other processors); C6150J (Operating systems) #conflocation: London, UK; 9-13 July 1990 #corpsource: AT&T Bell Lab., Murray Hill, NJ, USA #keywords: command interpreter; Edition; multiprocessing programs; Plan 9; program interpreters; rc; SunOS; syntax; Tenth; Unix; Unix systems #treatment: P Practical %A Anke Goos %T Is Plan 9 Sci-Fi or UNIX for the Future? %J j-UNIX-WORLD %V 7 %N 10 %P 61--?? #day: 1 %D oct %Y 1990 #issn: 0739-5922 #bibdate: Mon May 27 14:15:40 MDT 1996 #bibsource: UnCover library database # Bell Labs unveils its latest creation-a distributed computing system that separates computation, file services, and display in a system of servers. #acknowledgement: ack-nhfb %A R. Pike %A D. Presotto %A K. Thompson %A H. Trickey %T Plan 9 from Bell Labs %J j-EUUG-NEWSLETTER %V 10 %N 3 %P 2--11 %D Autumn %Y 1990 #coden: EONLE8 #issn: 1011-4211 #bibdate: Sat Mar 22 15:10:17 MST 1997 #acknowledgement: ack-nhfb #classcodes: B6210L (Computer communications); C5620 (Computer networks and techniques); C5630 (Networking equipment) #corpsource: Bell Labs., Murray Hill, NJ, USA #keywords: CPU servers; distributed computing environment; distributed processing; distributed systems; file; file servers; general-; interconnections; local; name space operations; Plan 9; protocols; purpose components; reliability; security; servers; simplicity; single file-oriented protocol; specialised components; terminals #treatment: P Practical %A R. Pike %A D. Presotto %A K. Thompson %A H. Trickey %B UKUUG. UNIX - The Legend Evolves. Proceedings of the Summer 1990 UKUUG Conference %T Plan 9 from Bell Labs %I pub-UKUUG %C pub-UKUUG:adr %P 1--9 (of xi + 260) %Y 1990 #isbn: 0-9513181-7-9 #lccn: ???? #bibdate: Sat Mar 22 15:10:17 MST 1997 #note: See also \citeJacob:1996:AMD. #acknowledgement: ack-nhfb #classcodes: B6210L (Computer communications); C6150J (Operating systems); C5630 (Networking equipment); C5620 (Computer networks and techniques) #conflocation: London, UK; 9-13 July 1990 #corpsource: AT&T Bell Lab., Murray Hill, NJ, USA #keywords: building blocks; CPU servers; distributed computing environment; distributed processing; distributed systems; file; file servers; file-oriented protocol; interconnections; local name space; multiprocessing; operations; Plan 9; programs; protocols; security; servers; specialised components; terminals #treatment: P Practical %A D. L. Presotto %B UKUUG. UNIX - The Legend Evolves. Proceedings of the Summer 1990 UKUUG Conference %T Multiprocessor Streams for Plan 9 %I pub-UKUUG %C pub-UKUUG:adr %P 11--19 (of xi + 260) %D ???? %Y 1990 #isbn: 0-9513181-7-9 #lccn: ???? #bibdate: Sat Mar 22 15:10:17 MST 1997 #acknowledgement: ack-nhfb #classcodes: C6150J (Operating systems) #conflocation: London, UK; 9-13 July 1990 #corpsource: AT&T Bell Lab., Murray Hill, NJ, USA #keywords: abstraction; input-output programs; kernel; multi-threaded; multiprocessing programs; multiprocessor; Plan 9 kernel; Streams; system call interface; Unix #treatment: P Practical %A Rob Pike %A Dave Presotto %A Ken Thompson %A Howard Trickey %T Designing Plan 9 %J j-DDJ %V 16 %N 1 %P 49--50, 52, 54, 56--60 %D jan %Y 1991 #coden: DDJOEB #issn: 1044-789X #bibdate: Mon May 27 14:32:08 MDT 1996 # Contrary to what you might expect, tomorrow's distributed computer systems may look a lot like Plan 9. #acknowledgement: ack-nhfb #classcodes: C6150J (Operating systems); C5690 (Other data communication equipment and techniques); C5620 (Computer networks and techniques); C5440 (Multiprocessor systems and techniques) #corpsource: AT&T Bell Labs., Murray Hill, NJ, USA #keywords: (computers); AT and T; bitmap; command interpreter; compiler; CPU servers; distributed computing environment; distributed processing; file; file-oriented protocol; Gnot terminal; local name space; multiprocessors; network servers; networking software; operating system; operating systems; operations; Plan 9; process file system; protocols; screen; servers; window system #treatment: P Practical %A Rob Pike %A Dave Presotto %A Ken Thompson %T Designing Plan 9: contrary to what you might expect, tomorrow's distributed computer systems may look a lot like Plan 9 %J j-DDJ %V 16 %N 1 %P 49--?? #day: 1 %D jan %Y 1991 #coden: DDJOEB #issn: 1044-789X #bibdate: Mon May 27 14:15:40 MDT 1996 #bibsource: UnCover library database #acknowledgement: ack-nhfb %A R. Pike %B Proceedings of the Summer 1991 USENIX Conference, Nashville, TN, USA, June 10--14, 1991 %T $8 1/2$, the Plan 9 window system %I pub-USENIX %C pub-USENIX:adr %P 257--266 (of x + 473) %Y 1991 #bibdate: Sat Mar 22 15:10:17 MST 1997 # The Plan 9 window system, $8 1/2$, is a modest-sized program of novel design. It provides textual I/O and bitmap graphic services to both local and remote client programs by offering a multiplexed file service to those clients. It serves traditional UNIX files like \tt /dev/tty as well as more unusual ones that provide access to the mouse and the raw screen. Bitmap graphics operations are provided by serving a file called \tt /dev/bitblt that interprets client messages to perform raster operations. The file service that $8 1/2$ offers its clients is identical to that it uses for its own implementation, so it is fundamentally no more than a multiplexer. This architecture has some rewarding symmetries and can be implemented compactly. #acknowledgement: ack-nhfb #classcodes: C6180G (Graphical user interfaces); C6150N (Distributed systems); C6150J (Operating systems); C6130B (Graphics techniques) #conflocation: Nashville, TN, USA; 10-14 June 1991 #corpsource: AT&T Bell Labs., Murray Hill, NJ, USA #keywords: 8/sup 1///sub 2/; ASCII I/O; bitmap graphic services; client messages; file; graphical user interfaces; modest-sized; mouse; multiplexed file service; multiplexer; multiplexing; multiprogramming; Plan 9 window system; program; programs; raster operations; raw screen; remote client; service; traditional Unix files; Unix #treatment: P Practical %A D. Presotto %A R. Pike %A K. Thompson %A H. Trickey %T Plan 9, a distributed system #crossref: EurOpen:1991:EUD %P 43--50 %Y 1991 #bibdate: Fri May 22 11:52:09 1998 #acknowledgement: ack-nhfb #classcodes: C6150J (Operating systems) #corpsource: Bell Labs., Holmdel, NJ, USA #keywords: access; file caching; network operating systems; per process group name space; Plan 9; portable distributed system; software portability; uniform; Unix #treatment: P Practical %A S. Quinlan %T A Cached WORM File System %J j-SPE %V 21 %N 12 %P 1289--?? %D dec %Y 1991 #coden: SPEXBL #issn: 0038-0644 #bibdate: Fri Apr 30 10:31:10 1999 #note: See also \citeJacob:1996:AMD. #acknowledgement: ack-nhfb %A Sean Dorward %A Rob Pike %A Dave Presotto %T Plan 9 %J j-UNIX-REVIEW %V 10 %N 4 %P 28--?? #day: 1 %D apr %Y 1992 #coden: UNRED5 #issn: 0742-3136 #bibdate: Mon May 27 14:15:40 MDT 1996 #bibsource: UnCover library database #acknowledgement: ack-nhfb %A Rob Pike %A Dave Presotto %A Ken Thompson %A Howard Trickey %A Phil Winterbottom %B Proceedings of the 5th workshop on ACM SIGOPS European workshop: Models and paradigms for distributed systems structuring %T The Use of Name Spaces in Plan 9 %I pub-ACM %C pub-ACM:adr %P 1--5 %Y 1992 #bibdate: Fri Oct 18 18:11:54 2002 #url: http://doi.acm.org/10.1145/506378.506413; http://www.informatik.hu-berlin.de/~mint/Library/Plan9/names.html #acknowledgement: ack-nhfb %A D. Presotto %A R. Pike %A K. Thompson %A H. Trickey %B Proceedings of the USENIX Workshop on Micro-Kernels and Other Kernel Architectures %T Plan 9, a distributed system %I pub-USENIX %C pub-USENIX:adr %P 31--37 (of 303) %Y 1992 #bibdate: Sat Mar 22 15:10:17 MST 1997 #acknowledgement: ack-nhfb #classcodes: C6150N (Distributed systems) #conflocation: Seattle, WA, USA; 27-28 April 1992 #corpsource: AT&T Bell Lab., Murray Hill, NJ, USA #keywords: distributed system; group name space; multi user system; multiprogramming; network operating systems; per process; Plan 9; uniform access #treatment: P Practical %A Petra Gremeyer %A Axel T. Schreiner %T It's ugly but it gets you there: a poor man's installation guide for Plan 9 #type: Technical report %N 31 %I Fachbereich Mathematik\slash Informatik, Universit\at Osnabr\uck %C Osnabr\uck, Germany %P 13 %Y 1993 #bibdate: Tue Feb 12 14:32:07 2002 #acknowledgement: ack-nhfb %A Rob Pike %A Ken Thompson %T Hello World #crossref: USENIX:1993:PWU %P 43--50 %D Winter %Y 1993 #bibdate: Wed Aug 13 10:48:45 MDT 1997 #bibsource: http://www.usenix.org/cgi-bin/sortbib.pl?-sA #url: http://plan9.bell-labs.com/sys/doc/utf.pdf # Plan 9 from Bell Labs has recently been converted from ASCII to an ASCII-compatible variant of the Unicode Standard, a 16-bit character set. In this paper we explain the reasons for the change, describe the character set and representation we chose, and present the programming models and software changes that support the new text format. Although we stopped short of full internationalization for example, system error messages are in Unixese, not Japanese we believe Plan 9 is the first system to treat the representation of all major languages on a uniform, equal footing throughout all its software. #acknowledgement: ack-nhfb #keywords: 16 Bit; 16-Bit character set; ASCII-compatible variant; Character sets; Distributed OS text format; Linguistics; Major languages; Network operating systems; Plan 9; Programming; Programming models; Software changes; Standards; Unicode #remark: This is the paper that first introduced the UTF-8 encoding of Unicode. %A Rob Pike %A Dave Presotto %A Ken Thompson %A Howard Trickey %A Phil Winterbottom %T The Use of Name Spaces in Plan 9 %J j-OPER-SYS-REV %V 27 %N 2 %P 72--76 %D apr %Y 1993 #coden: OSRED8 #issn: 0163-5980 #bibdate: Mon May 27 14:32:08 MDT 1996 #url: http://plan9.bell-labs.com/sys/doc/names.html; http://plan9.bell-labs.com/sys/doc/names.pdf; http://plan9.bell-labs.com/sys/doc/names.ps # Plan 9 is a distributed system built at the Computing Sciences Research Center of AT\&T Bell Laboratories (now Lucent Technologies, Bell Labs) over the last few years. Its goal is to provide a production-quality system for software development and general computation using heterogeneous hardware and minimal software. A Plan 9 system comprises CPU and file servers in a central location connected together by fast networks. Slower networks fan out to workstation-class machines that serve as user terminals. Plan 9 argues that given a few carefully implemented abstractions it is possible to produce a small operating system that provides support for the largest systems on a variety of architectures and networks. The foundations of the system are built on two ideas: a per-process name space and a simple message-oriented file system protocol. #acknowledgement: ack-nhfb #classcodes: C6150N (Distributed systems); C6120 (File organisation) #corpsource: AT&T Bell Labs., Murray Hill, NJ, USA #keywords: CPU; distributed system; fast networks; file organisation; file servers; message-oriented file system; network operating systems; operating; per-process name space; Plan 9; production-quality system; protocol; software development; system; user terminals; workstation-class machines #treatment: P Practical %A D. Presotto %T Multiprocessor STREAMS for Plan 9 %J j-EUUG-NEWSLETTER %V ?? %N ?? %P ??--?? %D jan %Y 1993 #bibdate: Fri Oct 18 18:50:27 2002 #acknowledgement: ack-nhfb #xxnote: Check year: I found this citation, but an article of the same title was published in 1990 \citePresotto:1990:MSP. %A David Presotto %B USENIX Association. Proceedings of the Winter 1993 USENIX Conference %T Multiprocessor Streams for Plan 9 %I pub-USENIX %C pub-USENIX:adr %P ??--?? %Y 1993 #bibdate: Fri Oct 18 19:00:54 2002 #acknowledgement: ack-nhfb #bookpages: x + 530 %A D. Presotto %A P. Winterbottom %B USENIX Association. Proceedings of the Winter 1993 USENIX Conference %T The organization of networks in Plan 9 %I pub-USENIX %C pub-USENIX:adr %P 271--280 (of x + 530) %Y 1993 #bibdate: Sat Mar 22 15:10:17 MST 1997 #url: http://plan9.bell-labs.com/sys/doc/net/net.html; http://plan9.bell-labs.com/sys/doc/net/net.pdf; http://plan9.bell-labs.com/sys/doc/net/net.ps # In a distributed system networks are of paramount importance. This paper describes the implementation, design philosophy, and organization of network support in Plan 9. Topics include network requirements for distributed systems, our kernel implementation, network naming, user interfaces, and performance. We also observe that much of this organization is relevant to current systems. #acknowledgement: ack-nhfb #classcodes: C6150N (Distributed systems) #conflocation: San Diego, CA, USA; 25-29 Jan. 1993 #corpsource: AT&T Bell Labs., Murray Hill, NJ, USA #keywords: distributed processing; distributed system; distributed systems; kernel implementation; network naming; network operating systems; network requirements; network support; performance; user interfaces #sponsororg: USENIX #treatment: P Practical %A Brent Welch %T A comparison of three distributed file system architectures: Vnode, Sprite, and Plan 9 #type: Technical report %N CSL-93-18 %I Xerox Corp., Palo Alto Research Center %C Palo Alto, CA, USA %P 18 %D dec %Y 1993 #bibdate: Mon May 27 14:32:08 MDT 1996 # This paper compares three distributed file system architectures: the vnode architecture found in SunOS, the architecture used in the Sprite distributed file system, and the architecture used in the Plan 9 distributed file system. The emphasis of the comparison is on generalized support for remote access to file system resources, which include peripheral devices and IPC communication channels as well as regular files. The vnode architecture is an evolution of structures and interfaces used in the original, stand-alone UNIX file system. The Sprite architecture provides a network-wide shared name space and emphasizes a strong separation of the internal naming and I/O interfaces to easily provide remote access to a variety of resources. The Plan 9 architecture relies on per-process name spaces and is organized around a single file system protocol, 9P, through which a variety of devices and system services are accessed. #acknowledgement: ack-nhfb #keywords: Distributed parameter systems. %A Steve Kotsopoulos %T Plan 9 System Setup Guide (Draft) #type: Technical report %I University of Toronto %C Toronto, ON, Canada #day: 9 %D sep %Y 1994 #bibdate: Mon May 27 15:29:01 1996 #url: http://www.ecf.toronto.edu/plan9/9guide.ps #acknowledgement: ack-nhfb %A Rob Pike %T Acme: A User Interface for Programmers #crossref: USENIX:1994:PWU %P 223--234 %Y 1994 #bibdate: Tue Feb 12 11:41:28 2002 #url: http://plan9.bell-labs.com/sys/doc/acme/acme.html; http://plan9.bell-labs.com/sys/doc/acme/acme.pdf; http://plan9.bell-labs.com/sys/doc/acme/acme.ps # A hybrid of window system, shell, and editor, Acme gives text-oriented applications a clean, expressive, and consistent style of interaction. Traditional window systems support interactive client programs and offer libraries of pre-defined operations such as pop-up menus and buttons to promote a consistent user interface among the clients. Acme instead provides its clients with a fixed user interface and simple conventions to encourage its uniform use. Clients access the facilities of Acme through a file system interface; Acme is in part a file server that exports device-like files that may be manipulated to access and control the contents of its windows. Written in a concurrent programming language, Acme is structured as a set of communicating processes that neatly subdivide the various aspects of its tasks: display management, input, file server, and so on.\par Acme attaches distinct functions to the three mouse buttons: the left selects text; the middle executes textual commands; and the right combines context search and file opening functions to integrate the various applications and files in the system.\par Acme works well enough to have developed a community that uses it exclusively. Although Acme discourages the traditional style of interaction based on typescript windows teletypes its users find Acme's other services render typescripts obsolete. #acknowledgement: ack-nhfb %A D. Presotto %A R. Pike %A K. Thompson %A H. Trickey %T Plan 9: A Distributed System #crossref: Brazier:1994:DOS %P 49--56 %Y 1994 #bibdate: Mon May 27 14:32:08 MDT 1996 #acknowledgement: ack-nhfb %A Jerry Kent Rayome %T System security of the Plan 9 distributed operating system from Bell Laboratories #type: Thesis (M.S.) %I California State University, Chico %C Chico, CA, USA %P viii + 74 %Y 1994 #bibdate: Sat Aug 17 16:33:52 1996 #acknowledgement: ack-nhfb #keywords: Computer security; Plan 9 (Computer system) -- Security measures. %A B. Welch %T A comparison of three distributed file system architectures: Vnode, Sprite, and Plan 9 %J j-COMP-SYS %V 7 %N 2 %P 175--199 %D Spring %Y 1994 #coden: CMSYE2 #issn: 0895-6340 #bibdate: Sat Mar 22 15:10:17 MST 1997 #acknowledgement: ack-nhfb #classcodes: C6120 (File organisation); C6160B (Distributed DBMS); C6150J (Operating systems); C6150N (Distributed systems); C5640 (Protocols) #keywords: 9; 9P file system; devices; distributed databases; distributed file system architectures; file organisation; file system resources; I/O; interfaces; internal naming; IPC communication channels; network-wide shared name space; per-process name spaces; peripheral; Plan; procedure calls; protocol; protocols; remote; remote access; Sprite; SunOS; system services; telecommunication channels; Unix; UNIX file system; vnode #treatment: G General Review; P Practical %A Philip Winterbottom %T ACID: A Debugger based on a Language #crossref: USENIX:1994:PWU %P ??--?? %Y 1994 #bibdate: Tue Feb 12 11:44:28 2002 #url: http://plan9.bell-labs.com/sys/doc/acidpaper.html; http://plan9.bell-labs.com/sys/doc/acidpaper.ps; http://plan9.bell-labs.com/sys/doc/acidpaper.pdf #acknowledgement: ack-nhfb %A Anonymous %T AT\&T plans to hold the line and maintain tight controls on modifications to its new Plan 9 operating system %J j-PC-WEEK %V 12 %N 30 %P 21--?? %D jul %Y 1995 #issn: 0740-1604 #bibdate: Mon May 27 14:32:08 MDT 1996 #acknowledgement: ack-nhfb %A Anonymous %T What's GNU?: Plan 9 (part 1 of 2) %J j-LINUX-J %V 11 %P ??--?? %D mar %Y 1995 #coden: LIJOFX #issn: 1075-3583 #bibdate: Fri Oct 9 08:35:26 MDT 1998 #bibsource: http://www.linuxjournal.com/issue11/index.html #url: http://www.linuxjournal.com/issue11/gnu11.html #acknowledgement: ack-nhfb %A Anonymous %T What's GNU?: Plan 9 (part 2 of 2) %J j-LINUX-J %V 12 %P ??--?? %D apr %Y 1995 #coden: LIJOFX #issn: 1075-3583 #bibdate: Fri Oct 9 08:35:26 MDT 1998 #bibsource: http://www.linuxjournal.com/issue12/index.html #url: http://www.linuxjournal.com/issue12/gnu12.html #acknowledgement: ack-nhfb %A Rob Pike %A Dave Presotto %A Sean Dorward %A Bob Flandrena %A Ken Thompson %A Howard Trickey %A Phil Winterbottom %T Plan 9 from Bell Labs %J j-COMP-SYS %V 8 %N 3 %P 221--254 %D Summer %Y 1995 #coden: CMSYE2 #issn: 0895-6340 #bibdate: Sat Mar 22 15:10:17 MST 1997 #url: http://plan9.bell-labs.com/sys/doc/9.html; http://plan9.bell-labs.com/sys/doc/9.ps; http://plan9.bell-labs.com/sys/doc/9.pdf #acknowledgement: ack-nhfb #classcodes: C6150J (Operating systems); C6120 (File organisation); C5640 (Protocols) #corpsource: AT&T Bell Labs., Murray Hill, NJ, USA #keywords: 9P; Bell Labs; cheap modern microcomputers; environment; file system; multiprocessors; naming services; naming system; network level protocol; operating systems (computers); Plan 9; private computing; protocols; remote systems; shared memory; shared resources; system; time-sharing systems; timesharing; UNIX; workstations #treatment: P Practical %A Arnold Robbins %T What's GNU? [Plan 9 Part I] %J j-LINUX-J %V 10 %P ??--?? %D mar %Y 1995 #coden: LIJOFX #issn: 1075-3583 #bibdate: Thu Nov 16 11:13:05 2006 #url: http://interactive.linuxjournal.com/article/1012 #acknowledgement: ack-nhfb %A Arnold Robbins %T What's GNU? Plan 9 Part II %J j-LINUX-J %V 10 %P ??--?? %D apr %Y 1995 #coden: LIJOFX #issn: 1075-3583 #bibdate: Fri Oct 9 08:35:26 MDT 1998 #url: http://interactive.linuxjournal.com/article/0062; #http://portal.acm.org/citation.cfm?id: 324810 #acknowledgement: ack-nhfb %A Anonymous %T Cutting Edge --- Use DMI To Reduce Desktop Support Costs Summer School for IS Professionals. Java, Java Everywhere. First Plan 9, Now Inferno. Go Beyond RAID-5. Downsizing of IS Slows in '96. How To Link Relational and Object Databases. Brace Yourself for a Price Hike for ISDN Service %J j-DATAMATION %V 42 %N 11 %P 10--?? %D ???? %Y 1996 #coden: DTMNAT #issn: 0011-6963 #bibdate: Fri Aug 16 13:12:40 MDT 1996 #acknowledgement: ack-nhfb %A Anonymous %T A New Plan for Scalable Distributed Computing: AT\&T's Plan 9 %J j-DATA-COMMUNICATIONS %V 25 %N 1 %P 106--?? #day: 1 %D jan %Y 1996 #coden: DACODM #issn: 0363-6399 #bibdate: Mon May 27 14:15:40 MDT 1996 #bibsource: UnCover library database #acknowledgement: ack-nhfb %A Anonymous %T Plan 9: Multi-media Mobile OS %J j-SECURITY %V 33 %N 3 %P 64--?? %D ???? %Y 1996 #coden: SECUEU #issn: 0890-8826 #bibdate: Mon May 27 14:32:08 MDT 1996 #acknowledgement: ack-nhfb %A Anonymous %T Plan 9: From Outer Space to Kernel Space %J j-IEEE-SOFTWARE %V 13 %N 3 %P 98--?? %D ???? %Y 1996 #coden: IESOEG #issn: 0740-7459 #bibdate: Mon May 27 14:32:08 MDT 1996 #acknowledgement: ack-nhfb %A David Bailey %T Plan 9 from AT\&T %J j-UNIX-REVIEW %V 14 %N 1 %P 27--28 #day: 1 %D jan %Y 1996 #coden: UNRED5 #issn: 0742-3136 #bibdate: Tue Mar 11 22:37:17 1997 #bibsource: UnCover library database #acknowledgement: ack-nhfb %A David Bailey %T PC UNIX --- Plan 9 From AT\&T %J j-UNIX-REVIEW %V 14 %N 1 %P 27--?? %D ???? %Y 1996 #coden: UNRED5 #issn: 0742-3136 #bibdate: Mon May 27 14:32:08 MDT 1996 #acknowledgement: ack-nhfb %A Quentin Fennessy %T Plan 9: Bad Movie, Good Operating System %J j-COMPUTER %V 29 %N 5 %P 117--119, 121--123 %D may %Y 1996 #bibdate: Mon May 27 15:07:07 1996 #acknowledgement: ack-nhfb %A Paul Fillinich %T Plan 9: Feature Film to Feature-Rich OS %J j-BYTE %V 21 %N 3 %P 143--144 #day: 1 %D mar %Y 1996 #coden: BYTEDJ #issn: 0360-5280 #bibdate: Sat Mar 22 15:10:17 MST 1997 #bibsource: UnCover library database # Plan 9 from Bell Labs is a distributed and fairly portable operating system. It could be playing soon in a niche near you. #acknowledgement: ack-nhfb #classcodes: C6150J (Operating systems); C6150N (Distributed systems software); C6110J (Object-oriented programming) #keywords: distributed operating system; file; network operating systems; network software; object oriented; object-oriented programming; operating systems (computers); OS; Plan 9; portable distributed system; programming; server system; software portability #treatment: P Practical %A Bruce L. Jacob %A Peter M. Chen %A Seth R. Silverman %A Trevor N. Mudge %T An Analytical Model for Designing Memory Hierarchies %J j-IEEE-TRANS-COMPUT %V 45 %N 10 %P 1180--1194 %D oct %Y 1996 #coden: ITCOB4 #issn: 0018-9340 #bibdate: Fri Apr 30 10:30:45 1999 #note: Simulates a storage hierarchy similar to that of Plan 9 \citePike:1990:PBLb,Quinlan:1991:CWF. #acknowledgement: ack-nhfb %A Paul Korzeniowski %T In the News: Plan 9: From Outer Space to Kernel Space %J j-IEEE-SOFTWARE %V 13 %N 3 %P 105--105 %D may %Y 1996 #coden: IESOEG #issn: 0740-7459 #bibdate: Fri Aug 16 13:12:40 MDT 1996 #acknowledgement: ack-nhfb %A Rob Pike %A others %T Plan 9 Programmer's Manual: Volume 1: The Manuals %I pub-HB %C pub-HB:adr %P ???? %Y 1996 #isbn: ???? #lccn: ???? #bibdate: Mon May 27 15:10:24 1996 #url: http://plan9.bell-labs.com/plan9/vol1.html #acknowledgement: ack-nhfb %A Rob Pike %A others %T Plan 9 Programmer's Manual: Volume 2: The Documents %I pub-HB %C pub-HB:adr %P ???? %Y 1996 #isbn: ???? #lccn: ???? #bibdate: Sat Mar 22 15:31:21 1997 #url: http://plan9.bell-labs.com/plan9/vol2.html #acknowledgement: ack-nhfb %A B. Kuehl %T Die naechste Generation --- Plan 9 %J Offene Systeme %V 12 %P 16--24 %Y 1997 #issn: #lccn: #bibdate: Sat Oct 28 16:30:35 2000 #note: Proceedings of German UNIX User Group Jahrestagung 13 -- September 1997: Wiesbaden, Germany. #acknowledgement: ack-nhfb %A Ludek Skocovski %T UNIX, POSIX, Plan 9 %I ???? %C Brno, Czech Republic %P 394 %Y 1998 #isbn: 80-902612-0-5 #lccn: #bibdate: Sat Oct 28 16:43:55 2000 #note: In Czech. #acknowledgement: ack-nhfb %A Hans-Peter Bischof %A others %T Das Netzbetriebssystem Plan 9: Konzepte und Programmierung %I pub-HANSER %C pub-HANSER:adr %P viii + 242 %Y 1999 #isbn: 3-446-18881-9 #lccn: ???? #bibdate: Sat Oct 28 16:41:42 2000 #acknowledgement: ack-nhfb %A Anonymous %T Installing the Plan 9 Distribution %I inst-CSRC %C inst-CSRC:adr %P ???? %Y 19xx #bibdate: Sat Oct 28 16:39:38 2000 #url: http://plan9.att.com/plan9/doc/install.html #acknowledgement: ack-nhfb %A Anonymous %T Plan 9 %I inst-CSRC %C inst-CSRC:adr %P ???? %Y 19xx #bibdate: Sat Oct 28 16:39:38 2000 #url: http://plan9.att.com/plan9/index.html #acknowledgement: ack-nhfb %A Anonymous %T Plan 9 Distribution %I inst-CSRC %C inst-CSRC:adr %P ???? %Y 19xx #bibdate: Sat Oct 28 16:39:38 2000 #url: http://plan9.att.com/plan9/distrib.html #acknowledgement: ack-nhfb %A Anonymous %T Plan 9 Distribution Errata List %I inst-CSRC %C inst-CSRC:adr %P ???? %Y 19xx #bibdate: Sat Oct 28 16:39:39 2000 #url: http://plan9.att.com/plan9/errata.html #acknowledgement: ack-nhfb %A Anonymous %T Installing the Plan 9 Distribution #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %Y 2000 #bibdate: Tue Feb 12 14:21:55 2002 #url: http://plan9.bell-labs.com/sys/doc/install.html; http://plan9.bell-labs.com/sys/doc/install.ps; http://plan9.bell-labs.com/sys/doc/install.pdf #acknowledgement: ack-nhfb %A Anonymous %T The Various Ports #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %P 5 %Y 2000 #bibdate: Tue Feb 12 14:23:11 2002 #note: Comments about the architectures supported by Plan 9. #url: http://plan9.bell-labs.com/sys/doc/port.html; http://plan9.bell-labs.com/sys/doc/port.pdf; http://plan9.bell-labs.com/sys/doc/port.ps # This document collects comments about the various architectures supported by Plan 9. The system tries to hide most of the differences between machines, so the machines as seen by a Plan 9 user look different from how they are perceived through commercial software. Also, because we are a small group, we couldn't do everything: exploit every optimization, support every model, drive every device. This document records what we have done. The first section discusses the compiler/assembler/loader suite for each machine. The second talks about the operating system implemented on each of the various machines. #acknowledgement: ack-nhfb %A Russ Cox %T Getting Started with Plan 9 #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %Y 2000 #bibdate: Tue Feb 12 11:28:37 2002 #url: http://plan9.bell-labs.com/sys/doc/start.html; http://plan9.bell-labs.com/sys/doc/start.ps; http://plan9.bell-labs.com/sys/doc/start.pdf #acknowledgement: ack-nhfb %A Tom Duff %T \tt rc --- The Plan 9 Shell #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %P 16 %Y 2000 #bibdate: Tue Feb 12 11:52:25 2002 #url: http://plan9.bell-labs.com/sys/doc/rc.html; http://plan9.bell-labs.com/sys/doc/rc.pdf; http://plan9.bell-labs.com/sys/doc/rc.ps # \tt Rc is a command interpreter for Plan 9 that provides similar facilities to UNIX's Bourne shell, with some small additions and less idiosyncratic syntax. This paper uses numerous examples to describe \tt rc's features, and contrasts \tt rc with the Bourne shell, a model that many readers will be familiar with. #acknowledgement: ack-nhfb %A Bob Flandrena %T Plan 9 Mkfiles #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %P 7 %Y 2000 #bibdate: Tue Feb 12 11:34:51 2002 #url: http://plan9.bell-labs.com/sys/doc/mkfiles.html; http://plan9.bell-labs.com/sys/doc/mkfiles.pdf; http://plan9.bell-labs.com/sys/doc/mkfiles.ps # Every Plan 9 source directory contains a file, called mkfile, specifying the rules for building the executable or library that is the product of the directory. Mk(1) interprets the rules in the file, calculates the dependencies, and executes an rc(1) script to construct the product. If necessary components are supplied by neighboring directories or sub-directories, the mkfiles in those directories are first executed to build the components before the local construction proceeds.\par Most application source directories produce one of four types of product: a single executable, several executables, a local library, or a system library. Four generic mkfiles define the normal rules for building each type of product. The simplest mkfiles need only list the components and include the appropriate generic mkfile to do the work. More complex mkfiles may supply additional rules to augment, modify, or override the generic rules. #acknowledgement: ack-nhfb %A Paul Glick %T Guide to the \tt lp Printer Spooler #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %P 8 %Y 2000 #bibdate: Tue Feb 12 12:32:53 2002 #url: http://plan9.bell-labs.com/sys/doc/lp.html; http://plan9.bell-labs.com/sys/doc/lp.pdf; http://plan9.bell-labs.com/sys/doc/lp.ps # \tt Lp is a collection of programs used to provide an easy-to-use interface for printing a variety of document types on a variety of printers. \tt Lp is the glue that connects various document language translators and printer communication programs together so that the users may have a consistent view of printers. Most of the glue is shell script, which can be easily modified. The user need not specify options to get sensible output in most cases. \tt Lp is described here so that others may make additions and changes. #acknowledgement: ack-nhfb %A Gerard J. Holzmann %T Using SPIN #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %P 27 %Y 2000 #bibdate: Tue Feb 12 14:24:40 2002 #url: http://plan9.bell-labs.com/sys/doc/spin.html; http://plan9.bell-labs.com/sys/doc/spin.pdf; http://plan9.bell-labs.com/sys/doc/spin.ps # SPIN can be used for proving or disproving logical properties of concurrent systems. To render the proofs, a concurrent system is first modeled in a formal specification language called PROMELA. The language allows one to specify the behaviors of asynchronously executing processes that may interact through synchronous or asynchronous message passing, or through direct access to shared variables.\par System models specified in this way can be verified for both safety and liveness properties. The specification of general properties in linear time temporal logic is also supported.\par The first part of this manual discusses the basic features of the specification language PROMELA. The second part describes the verifier SPIN. #acknowledgement: ack-nhfb #keywords: PROMELA [Protocol Meta Language]; SPIN %A Andrew G. Hume %A Bob Flandrena %T Maintaining Files on Plan 9 with Mk #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %P 14 %Y 2000 #bibdate: Tue Feb 12 11:35:41 2002 #url: http://plan9.bell-labs.com/sys/doc/mk.html; http://plan9.bell-labs.com/sys/doc/mk.pdf; http://plan9.bell-labs.com/sys/doc/mk.ps # \tt Mk is a tool for describing and maintaining dependencies between files. It is similar to the UNIX program make, but provides several extensions. \tt Mk's flexible rule specifications, implied dependency derivation, and parallel execution of maintenance actions are well-suited to the Plan 9 environment. Almost all Plan 9 maintenance procedures are automated using \tt mk. #acknowledgement: ack-nhfb %A Joseph F. Ossanna %A Brian W. Kernighan %T Troff User's Manual #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %P 40 %Y 2000 #bibdate: Tue Feb 12 14:26:42 2002 #url: http://plan9.bell-labs.com/sys/doc/troff.html; http://plan9.bell-labs.com/sys/doc/troff.pdf; http://plan9.bell-labs.com/sys/doc/troff.ps # \tt Troff and \tt nroff are text processors that format text for typesetter- and typewriter-like terminals, respectively. They accept lines of text interspersed with lines of format control information and format the text into a printable, paginated document having a user-designed style. \tt Troff and \tt nroff offer unusual freedom in document styling: arbitrary style headers and footers; arbitrary style footnotes; multiple automatic sequence numbering for paragraphs, sections, etc; multiple column output; dynamic font and point-size control; arbitrary horizontal and vertical local motions at any point; and a family of automatic overstriking, bracket construction, and line-drawing functions.\par \tt Troff produces its output in a device-independent form, although parameterized for a specific device; \tt troff output must be processed by a driver for that device to produce printed output.\par \tt Troff and \tt nroff are highly compatible with each other and it is almost always possible to prepare input acceptable to both. Conditional input is provided to enable the user to embed input expressly destined for either program. \tt Nroff can prepare output directly for a variety of terminal types and is capable of utilizing the full resolution of each terminal. \tt Nroff is the same program as \tt troff ; in fact, on Plan 9 \tt nroff is a shell script that calls \tt troff with the \tt N argument. #acknowledgement: ack-nhfb %A Rob Pike %T How to Use the Plan 9 C Compiler #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %P 14 %Y 2000 #bibdate: Tue Feb 12 11:33:22 2002 #url: http://plan9.bell-labs.com/sys/doc/comp.html; http://plan9.bell-labs.com/sys/doc/comp.pdf; http://plan9.bell-labs.com/sys/doc/comp.ps # The C compiler on Plan 9 is a wholly new program; in fact it was the first piece of software written for what would eventually become Plan 9 from Bell Labs. Programmers familiar with existing C compilers will find a number of differences in both the language the Plan 9 compiler accepts and in how the compiler is used. #acknowledgement: ack-nhfb %A Rob Pike %A Ken Thompson %T Hello World or K$\alpha$$\lambda$$\eta$$\mu$\'$\epsilon$$\rho$$\alpha$ $\kappa$o$\sigma$$\mu$$\epsilon$ or \ldots #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %Y 2000 #bibdate: Tue Feb 12 12:26:37 2002 #note: Originally appeared, in a slightly different form, in Proc. of the Winter 1993 USENIX Conf., pp. 43--50, San Diego #url: http://plan9.bell-labs.com/sys/doc/utf.html; http://plan9.bell-labs.com/sys/doc/utf.pdf; http://plan9.bell-labs.com/sys/doc/utf.ps # Plan 9 from Bell Labs has recently been converted from ASCII to an ASCII-compatible variant of the Unicode Standard, a 16-bit character set. In this paper we explain the reasons for the change, describe the character set and representation we chose, and present the programming models and software changes that support the new text format. Although we stopped short of full internationalization for example, system error messages are in Unixese, not Japanese we believe Plan 9 is the first system to treat the representation of all major languages on a uniform, equal footing throughout all its software. #acknowledgement: ack-nhfb %A Rob Pike %T Lexical File Names in Plan 9, or Getting Dot-Dot Right #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %P 11 %Y 2000 #bibdate: Tue Feb 12 12:15:44 2002 #url: http://plan9.bell-labs.com/sys/doc/lexnames.html; http://plan9.bell-labs.com/sys/doc/lexnames.ps; http://plan9.bell-labs.com/sys/doc/lexnames.pdf # Symbolic links make the Unix file system non-hierarchical, resulting in multiple valid path names for a given file. This ambiguity is a source of confusion, especially since some shells work overtime to present a consistent view from programs such as \tt pwd, while other programs and the kernel itself do nothing about the problem.\par Plan 9 has no symbolic links but it does have other mechanisms that produce the same difficulty. Moreover, Plan 9 is founded on the ability to control a program s environment by manipulating its name space. Ambiguous names muddle the result of operations such as copying a name space across the network.\par To address these problems, the Plan 9 kernel has been modified to maintain an accurate path name for every active file (open file, working directory, mount table entry) in the system. The definition of accurate is that the path name for a file is guaranteed to be the rooted, absolute name the program used to acquire it. These names are maintained by an efficient method that combines lexical processing such as evaluating \tt .. by just removing the last path name element of a directory with local operations within the file system to maintain a consistently, easily understood view of the name system. Ambiguous situations are resolved by examining the lexically maintained names themselves.\par A new kernel call, \tt fd2path, returns the file name associated with an open file, permitting the use of reliable names to improve system services ranging from \tt pwd to debugging. Although this work was done in Plan 9, Unix systems could also benefit from the addition of a method to recover the accurate name of an open file or the current directory. #acknowledgement: ack-nhfb %A Rob Pike %T Lexical File Names in Plan 9, or Getting Dot-Dot Right #crossref: USENIX:2000:UAT %P 85--92 %Y 2000 #bibdate: Mon Oct 14 07:46:19 2002 # Symbolic links make the Unix file system non-hierarchical, resulting in multiple valid path names for a given file. This ambiguity is a source of confusion, especially since some shells work overtime to present a consistent view from programs such as \tt pwd, while other programs and the kernel itself do nothing about the problem.\par Plan 9 has no symbolic links but it does have other mechanisms that produce the same difficulty. Moreover, Plan 9 is founded on the ability to control a program s environment by manipulating its name space. Ambiguous names muddle the result of operations such as copying a name space across the network.\par To address these problems, the Plan 9 kernel has been modified to maintain an accurate path name for every active file (open file, working directory, mount table entry) in the system. The definition of accurate is that the path name for a file is guaranteed to be the rooted, absolute name the program used to acquire it. These names are maintained by an efficient method that combines lexical processing such as evaluating \tt .. by just removing the last path name element of a directory with local operations within the file system to maintain a consistently, easily understood view of the name system. Ambiguous situations are resolved by examining the lexically maintained names themselves.\par A new kernel call, \tt fd2path, returns the file name associated with an open file, permitting the use of reliable names to improve system services ranging from \tt pwd to debugging. Although this work was done in Plan 9, Unix systems could also benefit from the addition of a method to recover the accurate name of an open file or the current directory. #acknowledgement: ack-nhfb %A Rob Pike %T A Manual for the Plan 9 assembler #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %P 10 %Y 2000 #bibdate: Tue Feb 12 11:40:07 2002 #url: http://plan9.bell-labs.com/sys/doc/asm.html; http://plan9.bell-labs.com/sys/doc/asm.pdf; http://plan9.bell-labs.com/sys/doc/asm.ps # There is an assembler for each of the MIPS, SPARC, Intel 386, Intel 960, AMD 29000, Motorola 68020 and 68000, Motorola Power PC, DEC Alpha, and Acorn ARM. The 68020 assembler, 2a, is the oldest and in many ways the prototype. The assemblers are really just variations of a single program: they share many properties such as left-to-right assignment order for instruction operands and the synthesis of macro instructions such as MOVE to hide the peculiarities of the load and store structure of the machines. #acknowledgement: ack-nhfb %A Rob Pike %T Plumbing and Other Utilities #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %P 16 %Y 2000 #bibdate: Tue Feb 12 11:49:37 2002 #url: http://plan9.bell-labs.com/sys/doc/plumb.html; http://plan9.bell-labs.com/sys/doc/plumb.pdf; http://plan9.bell-labs.com/sys/doc/plumb.ps # Plumbing is a new mechanism for inter-process communication in Plan 9, specifically the passing of messages between interactive programs as part of the user interface. Although plumbing shares some properties with familiar notions such as cut and paste, it offers a more general data exchange mechanism without imposing a particular user interface.\par The core of the plumbing system is a program called the plumber, which handles all messages and dispatches and reformats them according to configuration rules written in a special-purpose language. This approach allows the contents and context of a piece of data to define how it is handled. Unlike with drag and drop or cut and paste, the user doesn't need to deliver the data; the contents of a plumbing message, as interpreted by the plumbing rules, determine its destination.\par The plumber has an unusual architecture: it is a language-driven file server. This design has distinct advantages. It makes plumbing easy to add to an existing, Unix-like command environment; it guarantees uniform handling of inter-application messages; it off-loads from those applications most of the work of extracting and dispatching messages; and it works transparently across a network. #acknowledgement: ack-nhfb %A Rob Pike %A Dave Presotto %A Ken Thompson %A Gerard Holzmann %T Process Sleep and Wakeup on a Shared-memory Multiprocessor #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %P 6 %Y 2000 #bibdate: Tue Feb 12 12:14:04 2002 #note: Appeared in a slightly different form in Proceedings of the Spring 1991 EurOpen Conference, Troms\o, Norway, 1991, pp. 161--166. #url: http://plan9.bell-labs.com/sys/doc/sleep.html; http://plan9.bell-labs.com/sys/doc/sleep.pdf # The problem of enabling a sleeping process on a shared-memory multiprocessor is a difficult one, especially if the process is to be awakened by an interrupt-time event. We present here the code for sleep and wakeup primitives that we use in our multiprocessor system. The code has been exercised by years of active use and by a verification system. #acknowledgement: ack-nhfb %A Rob Pike %T $8 1/2$, the Plan 9 window system %I inst-CSRC %C inst-CSRC:adr %P 10 %Y 2000 #bibdate: Tue Feb 12 11:46:53 2002 #note: World-Wide Web document. Originally appeared in \citePike:1991:PWS. #url: http://plan9.bell-labs.com/sys/doc/8 http://plan9.bell-labs.com/sys/doc/8 http://plan9.bell-labs.com/sys/doc/8 # The Plan 9 window system, $8 1/2$, is a modest-sized program of novel design. It provides textual I/O and bitmap graphic services to both local and remote client programs by offering a multiplexed file service to those clients. It serves traditional UNIX files like \tt /dev/tty as well as more unusual ones that provide access to the mouse and the raw screen. Bitmap graphics operations are provided by serving a file called \tt /dev/bitblt that interprets client messages to perform raster operations. The file service that $8 1/2$ offers its clients is identical to that it uses for its own implementation, so it is fundamentally no more than a multiplexer. This architecture has some rewarding symmetries and can be implemented compactly. #acknowledgement: ack-nhfb %A Rob Pike %T The Text Editor \tt sam #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %P 30 #day: 7 %D jun %Y 2000 #bibdate: Tue Nov 29 10:02:15 2005 #url: http://plan9.bell-labs.com/sys/doc/sam/sam.pdf # Sam is an interactive multi-file text editor intended for bitmap displays. A textual command language supplements the mouse-driven, cut-and-paste interface to make complex or repetitive editing tasks easy to specify. The language is characterized by the composition of regular expressions to describe the structure of the text being modified. The treatment of files as a database, with changes logged as atomic transactions, guides the implementation and makes a general `undo' mechanism straightforward.\par Sam is implemented as two processes connected by a low-bandwidth stream, one process handling the display and the other the editing algorithms. Therefore it can run with the display process in a bitmap terminal and the editor on a local host, with both processes on a bitmap-equipped host, or with the display process in the terminal and the editor in a remote host. By suppressing the display process, it can even run without a bitmap terminal.\par This paper is reprinted from \em Software Practice and Experience, Vol 17, number 11, pp. 813--845, November 1987. The paper has not been updated for the Plan 9 manuals. Although Sam has not changed much since the paper was written, the system around it certainly has. Nonetheless, the description here still stands as the best introduction to the editor. #acknowledgement: ack-nhfb %A Dave Presotto %A Phil Winterbottom %T The IL protocol #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %P 5 %Y 2000 #bibdate: Tue Feb 12 14:19:17 2002 #url: http://plan9.bell-labs.com/sys/doc/il/il.html; http://plan9.bell-labs.com/sys/doc/il/il.pdf; http://plan9.bell-labs.com/sys/doc/il/il.ps # To transport the remote procedure call messages of the Plan 9 file system protocol 9P, we have implemented a new network protocol, called IL. It is a connection-based, lightweight transport protocol that carries datagrams encapsulated by IP. IL provides retransmission of lost messages and in-sequence delivery, but has no flow control and no blind retransmission. #acknowledgement: ack-nhfb %A Ken Thompson %T Plan 9 C Compilers #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %P 11 %Y 2000 #bibdate: Tue Feb 12 12:25:09 2002 #note: Originally appeared, in a different form, in Proceedings of the Summer 1990 UKUUG Conference, pp. 41--51, London, 1990. #url: http://plan9.bell-labs.com/sys/doc/compiler.html; http://plan9.bell-labs.com/sys/doc/compiler.pdf; http://plan9.bell-labs.com/sys/doc/compiler.ps # This paper describes the overall structure and function of the Plan 9 C compilers. A more detailed implementation document for any one of the compilers is yet to be written. #acknowledgement: ack-nhfb %A Ken Thompson %T The Plan 9 File Server #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %P 7 %Y 2000 #bibdate: Tue Feb 12 12:34:09 2002 #url: http://plan9.bell-labs.com/sys/doc/fs/fs.html; http://plan9.bell-labs.com/sys/doc/fs/fs.ps; http://plan9.bell-labs.com/sys/doc/fs/fs.pdf # This paper describes the structure and the operation of Plan 9 file servers. The specifics apply to our main Plan 9 file server Emelie, but the code is also the basis for the user level file server \tt kfs. #acknowledgement: ack-nhfb %A Howard Trickey %T APE --- The ANSI\slash POSIX Environment #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %P 4 %Y 2000 #bibdate: Tue Feb 12 11:32:16 2002 #url: http://plan9.bell-labs.com/sys/doc/ape.html; http://plan9.bell-labs.com/sys/doc/ape.pdf; http://plan9.bell-labs.com/sys/doc/ape.ps # When a large or frequently-updated program must be ported to or from Plan 9, the ANSI/POSIX environment known as APE can be useful. APE combines the set of headers and object code libraries specified by the ANSI C standard (ANSI X3.159-1989) with the POSIX operating system interface standard (IEEE 1003.1-1990, ISO 9945-1), the part of POSIX defining the basic operating system functions. Using APE will cause slower compilation and marginally slower execution speeds, so if the importing or exporting happens only infrequently, due consideration should be given to using the usual Plan 9 compilation environment instead. Another factor to consider is that the Plan 9 header organization is much simpler to remember and use. #acknowledgement: ack-nhfb %A Phil Winterbottom %T Acid: A Debugger Built From a Language #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %P 14 %Y 2000 #bibdate: Tue Feb 12 11:38:09 2002 #note: Originally appeared in Proc. of the Winter 1994 USENIX Conf., pp. 211--222, San Francisco, CA. #url: http://plan9.bell-labs.com/sys/doc/acidpaper.html; http://plan9.bell-labs.com/sys/doc/acidpaper.ps; http://plan9.bell-labs.com/sys/doc/acidpaper.pdf # Acid is an unusual source-level symbolic debugger for Plan 9. It is implemented as a language interpreter with specialized primitives that provide debugger support. Programs written in the language manipulate one or more target processes; variables in the language represent the symbols, state, and resources of those processes. This structure allows complex interaction between the debugger and the target program and provides a convenient method of parameterizing differences between machine architectures. Although some effort is required to learn the debugging language, the richness and flexibility of the debugging environment encourages new ways of reasoning about the way programs run and the conditions under which they fail. #acknowledgement: ack-nhfb %A Phil Winterbottom %T Acid Manual #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %P 25 %Y 2000 #bibdate: Tue Feb 12 11:36:41 2002 #url: http://plan9.bell-labs.com/sys/doc/acid.html; http://plan9.bell-labs.com/sys/doc/acid.pdf; http://plan9.bell-labs.com/sys/doc/acid.ps # Acid is a general purpose, source level symbolic debugger. The debugger is built around a simple command language. The command language, distinct from the language of the program being debugged, provides a flexible user interface that allows the debugger interface to be customized for a specific application or architecture. More over, it provides an opportunity to write test and verification code independently of a program's source code. Acid is able to debug multiple processes provided they share a common set of symbols, such as the processes in a threaded program. #acknowledgement: ack-nhfb #keywords: source level symbolic debugger %A Ronald G. Minnich %T Private Namespaces For Linux %J j-DDJ %V 26 %N 12 %P 23--24, 26, 28, 30 %D dec %Y 2001 #coden: DDJOEB #issn: 1044-789X #bibdate: Tue Feb 12 05:21:41 MST 2002 #url: http://www.ddj.com/ # Private namespaces let groups of processes construct their own namespace. Ron implements them for Linux to solve problems in both distributed and cluster computing. #acknowledgement: ack-nhfb #annote: Describes an implementation for FreeBSD, GNU/Linux, Solaris, and SunOS of the Plan 9 filesystem protocol. %A Russ Cox %A Eric Grosse %A Rob Pike %A Dave Presotto %A Sean Quinlan %T Security in Plan 9 #crossref: USENIX:2002:PUS %P 3--16 %Y 2002 #url: http://plan9.bell-labs.com/sys/doc/auth.pdf; http://www.usenix.org/publications/library/proceedings/sec02/cox.html # The security architecture of the Plan 9 operating system has recently been redesigned to address some technical shortcomings. This redesign provided an opportunity also to make the system more convenient to use securely. Plan 9 has thus improved in two ways not usually seen together: it has become more secure \em and\/ easier to use.\par The central component of the new architecture is a per-user self-contained agent called \tt factotum. \tt Factotum securely holds a copy of the user's keys and negotiates authentication protocols, on behalf of the user, with secure services around the network. Concentrating security code in a single program offers several advantages including: ease of update or repair to broken security software and protocols; the ability to run secure services at a lower privilege level; uniform management of keys for all services; and an opportunity to provide single sign on, even to unchanged legacy applications. \tt Factotum has an unusual architecture: it is implemented as a Plan 9 file server. #annote: Best conference paper award. %A Bob Flandrena %T Adding Application Support for a New Architecture in Plan 9 #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %P 7 #day: 22 %D may %Y 2002 #bibdate: Tue Nov 29 09:54:55 2005 #url: http://plan9.bell-labs.com/sys/doc/libmach.pdf # Plan 9 has five classes of architecture-dependent software: headers, kernels, compilers and loaders, the libc system library, and a few application programs. In general, architecture-dependent programs consist of a portable part shared by all architectures and a processor-specific portion for each supported architecture. The portable code is often compiled and stored in a library associated with each architecture. A program is built by compiling the architecture-specific code and loading it with the library. Support for a new architecture is provided by building a compiler for the architecture, using it to compile the portable code into libraries, writing the architecture-specific code, and then loading that code with the libraries. #acknowledgement: ack-nhfb %A Rob Pike %T Changes to the Programming Environment in the Fourth Release of Plan 9 #type: World-Wide Web document %I inst-CSRC %C inst-CSRC:adr %P 6 #day: 22 %D may %Y 2002 #bibdate: Tue Nov 29 10:00:49 2005 #url: http://plan9.bell-labs.com/sys/doc/prog4.pdf #acknowledgement: ack-nhfb %A Sean Quinlan %A Sean Dorward %T Venti: a new approach to archival storage %I inst-CSRC %C inst-CSRC:adr %P 13 #day: 2 %D may %Y 2002 #bibdate: Tue Nov 29 10:06:07 2005 #url: http://plan9.bell-labs.com/sys/doc/venti/venti.pdf # This paper describes a network storage system, called Venti, intended for archival data. In this system, a unique hash of a block's contents acts as the block identifier for read and write operations. This approach enforces a write-once policy, preventing accidental or malicious destruction of data. In addition, duplicate copies of a block can be coalesced, reducing the consumption of storage and simplifying the implementation of clients. Venti is a building block for constructing a variety of storage applications such as logical backup, physical backup, and snapshot file systems.\par We have built a prototype of the system and present some preliminary performance results. The system uses magnetic disks as the storage technology, resulting in an access time for archival data that is comparable to non-archival data. The feasibility of the write-once model for storage is demonstrated using data from over a decade's use of two Plan 9 file systems. #acknowledgement: ack-nhfb %A A. Mirtchovski %A R. Simmonds %T Plan 9 --- an integrated approach to Grid computing #crossref: IEEE:2004:IPD %P 273--273 %Y 2004 #doi: http://dx.doi.org/10.1109/IPDPS.2004.1303349 #bibdate: Thu Nov 16 07:01:54 2006 # This paper describes the use of the ``Plan 9 from Bell Labs''' distributed operating system as a grid computing infrastructure. In particular it compares solutions using the de facto standard middleware toolkit for grids, Globus, to an environment constructed using computers running the Plan 9 operating system. These environments are compared based on the features they offer in the context of grid computing: authentication, security, data management, and resource discovery. #acknowledgement: ack-nhfb %A F. J. Ballesteros %A G. Guardiola %A E. Soriano %A K. Leal %T Traditional Systems Can Work Well for Pervasive Applications. A Case Study: Plan 9 from Bell Labs Becomes Ubiquitous #crossref: IEEE:2005:TII %P 295--299 %Y 2005 #doi: http://dx.doi.org/10.1109/PERCOM.2005.49 #bibdate: Thu Nov 16 07:00:27 2006 #acknowledgement: ack-nhfb %A Andrey Mirtchovski %A Latchesar Ionkov %T Why some dead OSes still matter %J j-LOGIN %V 32 %N 5 %P %D oct %Y 2007 #coden: LOGNEM #issn: 1044-6397 #bibdate: Thu Dec 20 19:53:59 2007 #acknowledgement: ack-nhfb #keywords: Mac OS X; Parallels Inc.; Plan 9 %A Ashwin Ganti %T Plan 9 authentication in Linux %J j-OPER-SYS-REV %V 42 %N 5 %P 27--33 %D jul %Y 2008 #coden: OSRED8 #doi: http://doi.acm.org/10.1145/1400097.1400101 #issn: 0163-5980 #bibdate: Wed Aug 6 16:54:12 MDT 2008 #bibsource: http://portal.acm.org/ # In Linux, applications like su and login currently run as root in order to access authentication information and set or alter the identity of the process. In such cases, if the application is compromised while running as a privileged user, the entire system can become vulnerable. An alternative approach is taken by the Plan 9 operating system from Bell Labs, which runs such applications as a non-privileged user and relies on a kernel-based capability device working in coordination with an authentication server to provide the same services. This avoids the risk of an application vulnerability becoming a system vulnerability.\par This paper discusses the extension of Linux authentication mechanisms to allow the use of the Plan 9 approach with existing Linux applications in order to reduce the security risks mentioned earlier. It describes the port of the Plan 9 capability device as a character device driver for the Linux kernel. It also describes the port of the Plan 9 authentication server and the implementation of a PAM module which allows the use of these new facilities. \em It is now possible to restrain processes like login and su from the uncontrolled setuid bit and make them run on behalf of an unprivileged user in Linux. #acknowledgement: ack-nhfb #keywords: authentication #editor: EurOpen %B EurOpen. UNIX Distributed Open Systems in Perspective. Proceedings of the Spring 1991 EurOpen Conference, Troms\o, Norway, May 20--24, 1991 %T EurOpen. UNIX Distributed Open Systems in Perspective. Proceedings of the Spring 1991 EurOpen Conference, Troms\o, Norway, May 20--24, 1991 %I pub-EUROPEN %C pub-EUROPEN:adr %P viii + 331 %Y 1991 #isbn: 1-873611-00-5 #lccn: ???? #bibdate: Fri May 22 11:28:47 1998 #acknowledgement: ack-nhfb #acknowledgement: ack-nhfb #editor: USENIX Association %B Proceedings of the Winter 1993 USENIX Conference: January 25--29, 1993, San Diego, California, USA %T Proceedings of the Winter 1993 USENIX Conference: January 25--29, 1993, San Diego, California, USA %I pub-USENIX %C pub-USENIX:adr %P x + 530 %Y 1993 #isbn: 1-880446-48-0 #isbn-13: 978-1-880446-48-5 #lccn: QA 76.76 O63 U84 1993 #bibdate: Sun Feb 18 07:46:09 MST 1996 #bibsource: ftp://ftp.uu.net/library/bibliography #acknowledgement: ack-nhfb #annote: Spine title: USENIX San Diego conference proceedings, winter 1993. Running title: 1993 winter USENIX, January 25--29, 1993, San Diego, CA. #keywords: Computer networks --- Congresses; Operating systems (Computers) --- Congresses; Programming (Electronic computers) --- Congresses; UNIX (Computer file) --- Congresses #editor: F. M. T. (Frances M. T.) Brazier and D. (Dag) Johansen %B Distributed open systems %T Distributed open systems %I pub-IEEE %C pub-IEEE:adr %P ix + 181 %Y 1994 #isbn: 0-8186-4292-0, 0-8186-4291-2 (microfiche), 0-8186-4290-4 (paperback) #lccn: QA76.9.D5 D5563 1994 #bibdate: Mon May 27 14:32:08 MDT 1996 #note: Includes papers presented at a EurOpen conference held in Troms\o, Norway in 1991, in addition to a number of new papers. IEEE catalog number EH0373-1. #acknowledgement: ack-nhfb #editor: USENIX Association %B Proceedings of the Winter 1994 USENIX Conference: January 17--21, 1994, San Francisco, California, USA %T Proceedings of the Winter 1994 USENIX Conference: January 17--21, 1994, San Francisco, California, USA %I pub-USENIX %C pub-USENIX:adr %P 372 %Y 1994 #isbn: 1-880446-58-8 #lccn: QA 76.76 O63 U84 1994 #bibdate: Sun Feb 18 07:46:09 MST 1996 #acknowledgement: ack-nhfb #annote: Spine title: USENIX San Francisco conference proceedings, winter 1994. Running title: 1994 winter USENIX, January 17--21, 1994, San Francisco, CA. #keywords: UNIX (Computer file) --- Congresses; Operating systems (Computers) --- Congresses; Programming (Electronic computers) --- Congresses; Computer networks --- Congresses. #editor: USENIX %B 2000 USENIX Annual Technical Conference: San Diego, CA, USA, June 18--23, 2000 %T 2000 USENIX Annual Technical Conference: San Diego, CA, USA, June 18--23, 2000 %I pub-USENIX %C pub-USENIX:adr %P 350 %Y 2000 #isbn: 1-880446-22-7 #lccn: #bibdate: Mon Oct 14 07:43:52 2002 #acknowledgement: ack-nhfb #editor: USENIX %B Proceedings of the 11th USENIX Security Symposium 2002, August 5--9, 2002, San Francisco CA %T Proceedings of the 11th USENIX Security Symposium 2002, August 5--9, 2002, San Francisco CA %I pub-USENIX %C pub-USENIX:adr %P ???? %Y 2002 #isbn: 1-931971-00-5 #lccn: ???? #bibdate: Tue Oct 15 07:55:57 2002 #acknowledgement: ack-nhfb #editor: IEEE %B 18th International Parallel and Distributed Processing Symposium: Santa Fe, New Mexico, April 26--30, 2004: proceedings %T 18th International Parallel and Distributed Processing Symposium: Santa Fe, New Mexico, April 26--30, 2004: proceedings %I pub-IEEE %C pub-IEEE:adr %P lvi + 289 %Y 2004 #isbn: 0-7695-2132-0 (paperback) #isbn-13: 978-0-7695-2132-9 (paperback) #lccn: QA76.58 .I583 2004 #bibdate: Thu Nov 16 07:08:44 MST 2006 #bibsource: z3950.loc.gov:7090/Voyager #url: http://ieeexplore.ieee.org/xpl/RecentCon.jsp?punumber=9132 #acknowledgement: ack-nhfb #meetingname: IPDPS (Conference) (18th: 2004: Santa Fe, NM) #remark: IEEE Computer Society Order Number P2132. #editor: IEEE %B Third IEEE International Conference on Pervasive Computing and Communications Workshops: proceedings, PerCom 2005 Workshops, 8--12 March, 2005, Kauai Island, Hawaii %T Third IEEE International Conference on Pervasive Computing and Communications Workshops: proceedings, PerCom 2005 Workshops, 8--12 March, 2005, Kauai Island, Hawaii %I pub-IEEE %C pub-IEEE:adr %P xxvi + 421 %Y 2005 #isbn: 0-7695-2300-5 (paperback) #isbn-13: 978-0-7695-2300-2 (paperback) #lccn: QA76.5915 .I34 2005 #bibdate: Thu Nov 16 07:08:24 MST 2006 #bibsource: z3950.loc.gov:7090/Voyager #url: http://ieeexplore.ieee.org/servlet/opac?punumber=9593 #acknowledgement: ack-nhfb