%%% -*-BibTeX-*-
%%% ====================================================================
%%% BibTeX-file{
%%% author = "Nelson H. F. Beebe",
%%% version = "1.23",
%%% date = "06 August 2008",
%%% time = "16:56:57 MDT",
%%% filename = "plan9.bib",
%%% address = "University of Utah
%%% Department of Mathematics, 110 LCB
%%% 155 S 1400 E RM 233
%%% Salt Lake City, UT 84112-0090
%%% USA",
%%% telephone = "+1 801 581 5254",
%%% FAX = "+1 801 581 4148",
%%% URL = "http://www.math.utah.edu/~beebe",
%%% checksum = "39249 2456 11569 106548",
%%% email = "beebe at math.utah.edu, beebe at acm.org,
%%% beebe at computer.org (Internet)",
%%% codetable = "ISO/ASCII",
%%% keywords = "AT&T Plan 9; distributed operating system",
%%% license = "public domain",
%%% supported = "yes",
%%% docstring = "This is a bibliography of publications about
%%% the AT&T Plan 9 distributed operating system.
%%%
%%% At version 1.23, the year coverage looked
%%% like this:
%%%
%%% 1981 ( 1) 1991 ( 6) 2001 ( 1)
%%% 1982 ( 0) 1992 ( 3) 2002 ( 5)
%%% 1983 ( 0) 1993 ( 8) 2003 ( 0)
%%% 1984 ( 1) 1994 ( 8) 2004 ( 2)
%%% 1985 ( 0) 1995 ( 6) 2005 ( 2)
%%% 1986 ( 0) 1996 ( 12) 2006 ( 0)
%%% 1987 ( 0) 1997 ( 1) 2007 ( 1)
%%% 1988 ( 0) 1998 ( 1) 2008 ( 1)
%%% 1989 ( 0) 1999 ( 1)
%%% 1990 ( 7) 2000 ( 25)
%%% 19xx ( 4)
%%%
%%% Article: 31
%%% Book: 4
%%% InProceedings: 17
%%% MastersThesis: 1
%%% Misc: 2
%%% Proceedings: 8
%%% TechReport: 33
%%%
%%% Total entries: 96
%%%
%%% Plan 9 borrows many ideas from UNIX, but is
%%% not a UNIX clone. Like Microsoft Windows
%%% (NT, 2000, XP, and Vista), Plan 9 uses the
%%% 16-bit Unicode character as its standard
%%% character set.
%%%
%%% Plan 9 is a trademark of AT&T.
%%%
%%% There is a Usenet newsgroup comp.os.plan9;
%%% it is archived at
%%%
%%% http://www.ecf.toronto.edu/plan9
%%%
%%% There is a frequently-asked questions (FAQ)
%%% list at
%%% http://www.ecf.toronto.edu/plan9/plan9faq.html.
%%%
%%% There is an FTP site at
%%%
%%% ftp://ftp.ecf.toronto.edu/pub/plan9
%%%
%%% Bell Labs maintains
%%%
%%% http://plan9.bell-labs.com/plan9/index.html
%%%
%%% which contains the Plan 9 papers and manuals.
%%%
%%% Pointers to Plan 9 documentation are found at
%%%
%%% http://plan9.bell-labs.com/sys/doc/
%%%
%%% This bibliography has been collected from
%%% bibliographies in the author's personal
%%% files, and from the OCLC, IEEE INSPEC, and
%%% UnCover databases.
%%%
%%% Numerous errors in the sources noted above
%%% have been corrected. Spelling has been
%%% verified with the UNIX spell and GNU ispell
%%% programs using the exception dictionary
%%% stored in the companion file with extension
%%% .sok.
%%%
%%% BibTeX citation tags are uniformly chosen as
%%% name:year:abbrev, where name is the family
%%% name of the first author or editor, year is a
%%% 4-digit number, and abbrev is a 3-letter
%%% condensation of important title
%%% words. Citation tags were automatically
%%% generated by software developed for the
%%% BibNet Project.
%%%
%%% In this bibliography, entries are sorted
%%% first by ascending year, and within each
%%% year, alphabetically by author or editor,
%%% and then, if necessary, by the 3-letter
%%% abbreviation at the end of the BibTeX
%%% citation tag, using the bibsort -byyear
%%% utility. Year order has been chosen to
%%% make it easier to identify the most recent
%%% work.
%%%
%%% The checksum field above contains a CRC-16
%%% checksum as the first value, followed by the
%%% equivalent of the standard UNIX wc (word
%%% count) utility output of lines, words, and
%%% characters. This is produced by Robert
%%% Solovay's checksum utility.",
%%% }
%%% ====================================================================
@Preamble{
"\hyphenation{
}"
}
%%% ====================================================================
%%% Acknowledgement abbreviations:
@String{ack-nhfb = "Nelson H. F. Beebe,
University of Utah,
Department of Mathematics, 110 LCB,
155 S 1400 E RM 233,
Salt Lake City, UT 84112-0090, USA,
Tel: +1 801 581 5254,
FAX: +1 801 581 4148,
e-mail: \path|[email protected]|,
\path|[email protected]|,
\path|[email protected]| (Internet),
URL: \path|http://www.math.utah.edu/~beebe/|"}
%%% ====================================================================
%%% Institution abbreviations:
@String{inst-CSRC = "Computing Sciences Research Center,
Bell Laboratories"}
@String{inst-CSRC:adr = "Murray Hill, NJ, USA"}
%%% ====================================================================
%%% Journal abbreviations:
@String{j-BYTE = "BYTE Magazine"}
@String{j-COMP-SYS = "Computing Systems"}
@String{j-COMPUTER = "Computer"}
@String{j-DATA-COMMUNICATIONS = "Data communications"}
@String{j-DATAMATION = "Datamation"}
@String{j-DDJ = "Dr. Dobb's Journal of Software Tools"}
@String{j-EUUG-NEWSLETTER = "EUUG Newsletter"}
@String{j-IEEE-SOFTWARE = "IEEE Software"}
@String{j-IEEE-TRANS-COMPUT = "IEEE Transactions on Computers"}
@String{j-INFORMATION-WEEK = "Information Week"}
@String{j-LINUX-J = "Linux Journal"}
@String{j-LOGIN = ";login: the USENIX Association newsletter"}
@String{j-OPER-SYS-REV = "Operating Systems Review"}
@String{j-PC-WEEK = "PC Week"}
@String{j-SECURITY = "Security"}
@String{j-SPE = "Soft\-ware\emdash Prac\-tice and Experience"}
@String{j-UNIX-REVIEW = "UNIX review"}
@String{j-UNIX-WORLD = "UNIX/world"}
%%% ====================================================================
%%% Publisher abbreviations:
@String{pub-ACM = "ACM Press"}
@String{pub-ACM:adr = "New York, NY 10036, USA"}
@String{pub-EUROPEN = "EurOpen"}
@String{pub-EUROPEN:adr = "Buntingford, Herts, UK"}
@String{pub-HANSER = "Carl Hanser"}
@String{pub-HANSER:adr = "M{\"u}nchen, Germany"}
@String{pub-HB = "Harcourt Brace and Co."}
@String{pub-HB:adr = "New York, NY, USA"}
@String{pub-IEEE = "IEEE Computer Society Press"}
@String{pub-IEEE:adr = "1109 Spring Street, Suite 300, Silver
Spring, MD 20910, USA"}
@String{pub-UKUUG = "UK Unix Users Group"}
@String{pub-UKUUG:adr = "Buntingford, Herts, UK"}
@String{pub-USENIX = "USENIX"}
@String{pub-USENIX:adr = "Berkeley, CA, USA"}
%%% ====================================================================
%%% Bibliography entries:
%%%
%%% We include a couple of historical references to the 1958 film whose
%%% name was borrowed for this operating system.
@Misc{Lugosi:1981:POS,
author = "Bela Lugosi",
title = "{Plan 9} from outer space",
publisher = "Nostalgia Merchant",
address = "Hollywood, CA, USA",
year = "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.",
}
@Misc{Wood:1984:POS,
author = "Edward D. (Edward Davis) Wood and Tor Johnson and
Vampira and Tom Keene and Gregory Walcott",
title = "{Plan 9} from outer space",
publisher = "Goodtimes Home Video",
address = "New York, NY, USA",
year = "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.",
}
@Article{Anonymous:1990:BUP,
author = "Anonymous",
title = "Beyond {Unix}: {Plan 9}",
journal = j-INFORMATION-WEEK,
volume = "293",
pages = "20--??",
day = "29",
month = oct,
year = "1990",
CODEN = "INFWE4",
ISSN = "8750-6874",
bibdate = "Fri Aug 16 18:40:11 1996",
bibsource = "UnCover library database",
abstract = "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,
}
@Article{Duff:1990:RSPa,
author = "T. Duff",
title = "Rc --- a shell for {Plan 9} and {Unix} systems",
journal = j-EUUG-NEWSLETTER,
volume = "10",
number = "3",
pages = "12--22",
month = "Autumn",
year = "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",
}
@InProceedings{Duff:1990:RSPb,
author = "T. Duff",
booktitle = "UKUUG. UNIX - The Legend Evolves. Proceedings of the
Summer 1990 UKUUG Conference",
title = "Rc -- a shell for {Plan 9} and {Unix} systems",
publisher = pub-UKUUG,
address = pub-UKUUG:adr,
pages = "21--33 (of xi + 260)",
year = "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",
}
@Article{Goos:1990:IPS,
author = "Anke Goos",
title = "Is {Plan 9} Sci-Fi or {UNIX} for the Future?",
journal = j-UNIX-WORLD,
volume = "7",
number = "10",
pages = "61--??",
day = "1",
month = oct,
year = "1990",
ISSN = "0739-5922",
bibdate = "Mon May 27 14:15:40 MDT 1996",
bibsource = "UnCover library database",
abstract = "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,
}
@Article{Pike:1990:PBLa,
author = "R. Pike and D. Presotto and K. Thompson and H.
Trickey",
title = "{Plan 9} from {Bell Labs}",
journal = j-EUUG-NEWSLETTER,
volume = "10",
number = "3",
pages = "2--11",
month = "Autumn",
year = "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",
}
@InProceedings{Pike:1990:PBLb,
author = "R. Pike and D. Presotto and K. Thompson and H.
Trickey",
booktitle = "UKUUG. UNIX - The Legend Evolves. Proceedings of the
Summer 1990 UKUUG Conference",
title = "{Plan 9} from {Bell Labs}",
publisher = pub-UKUUG,
address = pub-UKUUG:adr,
pages = "1--9 (of xi + 260)",
year = "1990",
ISBN = "0-9513181-7-9",
LCCN = "????",
bibdate = "Sat Mar 22 15:10:17 MST 1997",
note = "See also \cite{Jacob: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",
}
@InProceedings{Presotto:1990:MSP,
author = "D. L. Presotto",
booktitle = "UKUUG. UNIX - The Legend Evolves. Proceedings of the
Summer 1990 UKUUG Conference",
title = "Multiprocessor Streams for {Plan 9}",
publisher = pub-UKUUG,
address = pub-UKUUG:adr,
pages = "11--19 (of xi + 260)",
month = "????",
year = "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",
}
@Article{Pike:1991:DP,
author = "Rob Pike and Dave Presotto and Ken Thompson and Howard
Trickey",
title = "Designing {Plan 9}",
journal = j-DDJ,
volume = "16",
number = "1",
pages = "49--50, 52, 54, 56--60",
month = jan,
year = "1991",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Mon May 27 14:32:08 MDT 1996",
abstract = "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",
}
@Article{Pike:1991:DPC,
author = "Rob Pike and Dave Presotto and Ken Thompson",
title = "Designing {Plan 9}: contrary to what you might expect,
tomorrow's distributed computer systems may look a lot
like {Plan 9}",
journal = j-DDJ,
volume = "16",
number = "1",
pages = "49--??",
day = "1",
month = jan,
year = "1991",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Mon May 27 14:15:40 MDT 1996",
bibsource = "UnCover library database",
acknowledgement = ack-nhfb,
}
@InProceedings{Pike:1991:PWS,
author = "R. Pike",
booktitle = "Proceedings of the Summer 1991 USENIX Conference,
Nashville, TN, USA, June 10--14, 1991",
title = "$8 {1/2}$, the {Plan 9} window system",
publisher = pub-USENIX,
address = pub-USENIX:adr,
pages = "257--266 (of x + 473)",
year = "1991",
bibdate = "Sat Mar 22 15:10:17 MST 1997",
abstract = "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",
}
@InProceedings{Presotto:1991:PDS,
author = "D. Presotto and R. Pike and K. Thompson and H.
Trickey",
title = "{Plan 9}, a distributed system",
crossref = "EurOpen:1991:EUD",
pages = "43--50",
year = "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",
}
@Article{Quinlan:1991:CWF,
author = "S. Quinlan",
title = "A Cached {WORM} File System",
journal = j-SPE,
volume = "21",
number = "12",
pages = "1289--??",
month = dec,
year = "1991",
CODEN = "SPEXBL",
ISSN = "0038-0644",
bibdate = "Fri Apr 30 10:31:10 1999",
note = "See also \cite{Jacob:1996:AMD}.",
acknowledgement = ack-nhfb,
}
@Article{Dorward:1992:P,
author = "Sean Dorward and Rob Pike and Dave Presotto",
title = "{Plan 9}",
journal = j-UNIX-REVIEW,
volume = "10",
number = "4",
pages = "28--??",
day = "1",
month = apr,
year = "1992",
CODEN = "UNRED5",
ISSN = "0742-3136",
bibdate = "Mon May 27 14:15:40 MDT 1996",
bibsource = "UnCover library database",
acknowledgement = ack-nhfb,
}
@InProceedings{Pike:1992:UNS,
author = "Rob Pike and Dave Presotto and Ken Thompson and Howard
Trickey and Phil Winterbottom",
booktitle = "Proceedings of the 5th workshop on ACM SIGOPS European
workshop: Models and paradigms for distributed systems
structuring",
title = "The Use of Name Spaces in {Plan 9}",
publisher = pub-ACM,
address = pub-ACM:adr,
pages = "1--5",
year = "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,
}
@InProceedings{Presotto:1992:PDS,
author = "D. Presotto and R. Pike and K. Thompson and H.
Trickey",
booktitle = "Proceedings of the USENIX Workshop on Micro-Kernels
and Other Kernel Architectures",
title = "{Plan 9}, a distributed system",
publisher = pub-USENIX,
address = pub-USENIX:adr,
pages = "31--37 (of 303)",
year = "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",
}
@TechReport{Gremeyer:1993:UIG,
author = "Petra Gremeyer and Axel T. Schreiner",
title = "It's ugly but it gets you there: a poor man's
installation guide for {Plan 9}",
type = "Technical report",
number = "31",
institution = "Fachbereich Mathematik\slash Informatik,
Universit{\"a}t Osnabr{\"u}ck",
address = "Osnabr{\"u}ck, Germany",
pages = "13",
year = "1993",
bibdate = "Tue Feb 12 14:32:07 2002",
acknowledgement = ack-nhfb,
}
@InProceedings{Pike:1993:HW,
author = "Rob Pike and Ken Thompson",
title = "Hello World",
crossref = "USENIX:1993:PWU",
pages = "43--50",
month = "Winter",
year = "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",
abstract = "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.",
}
@Article{Pike:1993:UNS,
author = "Rob Pike and Dave Presotto and Ken Thompson and Howard
Trickey and Phil Winterbottom",
title = "The Use of Name Spaces in {Plan 9}",
journal = j-OPER-SYS-REV,
volume = "27",
number = "2",
pages = "72--76",
month = apr,
year = "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",
abstract = "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",
}
@Article{Presotto:1993:MSPa,
author = "D. Presotto",
title = "Multiprocessor {STREAMS} for {Plan 9}",
journal = j-EUUG-NEWSLETTER,
volume = "??",
number = "??",
pages = "??--??",
month = jan,
year = "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
\cite{Presotto:1990:MSP}.",
}
@InProceedings{Presotto:1993:MSPb,
author = "David Presotto",
booktitle = "USENIX Association. Proceedings of the Winter 1993
USENIX Conference",
title = "Multiprocessor Streams for {Plan 9}",
publisher = pub-USENIX,
address = pub-USENIX:adr,
pages = "??--??",
year = "1993",
bibdate = "Fri Oct 18 19:00:54 2002",
acknowledgement = ack-nhfb,
bookpages = "x + 530",
}
@InProceedings{Presotto:1993:ONP,
author = "D. Presotto and P. Winterbottom",
booktitle = "USENIX Association. Proceedings of the Winter 1993
USENIX Conference",
title = "The organization of networks in {Plan 9}",
publisher = pub-USENIX,
address = pub-USENIX:adr,
pages = "271--280 (of x + 530)",
year = "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",
abstract = "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",
}
@TechReport{Welch:1993:CTD,
author = "Brent Welch",
title = "A comparison of three distributed file system
architectures: {Vnode}, {Sprite}, and {Plan 9}",
type = "Technical report",
number = "CSL-93-18",
institution = "Xerox Corp., Palo Alto Research Center",
address = "Palo Alto, CA, USA",
pages = "18",
month = dec,
year = "1993",
bibdate = "Mon May 27 14:32:08 MDT 1996",
abstract = "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.",
}
@TechReport{Kotsopoulos:1994:PSS,
author = "Steve Kotsopoulos",
title = "{Plan 9} System Setup Guide (Draft)",
type = "Technical report",
institution = "University of Toronto",
address = "Toronto, ON, Canada",
day = "9",
month = sep,
year = "1994",
bibdate = "Mon May 27 15:29:01 1996",
URL = "http://www.ecf.toronto.edu/plan9/9guide.ps",
acknowledgement = ack-nhfb,
}
@InProceedings{Pike:1994:AUI,
author = "Rob Pike",
title = "{Acme}: {A} User Interface for Programmers",
crossref = "USENIX:1994:PWU",
pages = "223--234",
year = "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",
abstract = "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,
}
@InProceedings{Presotto:1994:PDS,
author = "D. Presotto and R. Pike and K. Thompson and H.
Trickey",
title = "{Plan 9}: {A} Distributed System",
crossref = "Brazier:1994:DOS",
pages = "49--56",
year = "1994",
bibdate = "Mon May 27 14:32:08 MDT 1996",
acknowledgement = ack-nhfb,
}
@MastersThesis{Rayome:1994:SSP,
author = "Jerry Kent Rayome",
title = "System security of the {Plan 9} distributed operating
system from {Bell Laboratories}",
type = "Thesis (M.S.)",
school = "California State University, Chico",
address = "Chico, CA, USA",
pages = "viii + 74",
year = "1994",
bibdate = "Sat Aug 17 16:33:52 1996",
acknowledgement = ack-nhfb,
keywords = "Computer security; Plan 9 (Computer system) --
Security measures.",
}
@Article{Welch:1994:CTD,
author = "B. Welch",
title = "A comparison of three distributed file system
architectures: {Vnode}, {Sprite}, and {Plan 9}",
journal = j-COMP-SYS,
volume = "7",
number = "2",
pages = "175--199",
month = "Spring",
year = "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",
}
@InProceedings{Winterbottom:1994:ADB,
author = "Philip Winterbottom",
title = "{ACID}: {A} Debugger based on a Language",
crossref = "USENIX:1994:PWU",
pages = "??--??",
year = "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,
}
@Article{Anonymous:1995:APH,
author = "Anonymous",
title = "{AT\&T} plans to hold the line and maintain tight
controls on modifications to its new {Plan 9} operating
system",
journal = j-PC-WEEK,
volume = "12",
number = "30",
pages = "21--??",
month = jul,
year = "1995",
ISSN = "0740-1604",
bibdate = "Mon May 27 14:32:08 MDT 1996",
acknowledgement = ack-nhfb,
}
@Article{Anonymous:1995:WGPa,
author = "Anonymous",
title = "What's {GNU}?: {Plan 9} (part 1 of 2)",
journal = j-LINUX-J,
volume = "11",
pages = "??--??",
month = mar,
year = "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,
}
@Article{Anonymous:1995:WGPb,
author = "Anonymous",
title = "What's {GNU}?: {Plan 9} (part 2 of 2)",
journal = j-LINUX-J,
volume = "12",
pages = "??--??",
month = apr,
year = "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,
}
@Article{Pike:1995:PBL,
author = "Rob Pike and Dave Presotto and Sean Dorward and Bob
Flandrena and Ken Thompson and Howard Trickey and Phil
Winterbottom",
title = "{Plan 9} from {Bell Labs}",
journal = j-COMP-SYS,
volume = "8",
number = "3",
pages = "221--254",
month = "Summer",
year = "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",
}
@Article{Robbins:1995:WGPa,
author = "Arnold Robbins",
title = "What's {GNU}? [{Plan 9 Part I}]",
journal = j-LINUX-J,
volume = "10",
pages = "??--??",
month = mar,
year = "1995",
CODEN = "LIJOFX",
ISSN = "1075-3583",
bibdate = "Thu Nov 16 11:13:05 2006",
URL = "http://interactive.linuxjournal.com/article/1012",
acknowledgement = ack-nhfb,
}
@Article{Robbins:1995:WGPb,
author = "Arnold Robbins",
title = "What's {GNU}? {Plan 9 Part II}",
journal = j-LINUX-J,
volume = "10",
pages = "??--??",
month = apr,
year = "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,
}
@Article{Anonymous:1996:CEU,
author = "Anonymous",
title = "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",
journal = j-DATAMATION,
volume = "42",
number = "11",
pages = "10--??",
month = "????",
year = "1996",
CODEN = "DTMNAT",
ISSN = "0011-6963",
bibdate = "Fri Aug 16 13:12:40 MDT 1996",
acknowledgement = ack-nhfb,
}
@Article{Anonymous:1996:NPS,
author = "Anonymous",
title = "A New Plan for Scalable Distributed Computing:
{AT\&T}'s {Plan 9}",
journal = j-DATA-COMMUNICATIONS,
volume = "25",
number = "1",
pages = "106--??",
day = "1",
month = jan,
year = "1996",
CODEN = "DACODM",
ISSN = "0363-6399",
bibdate = "Mon May 27 14:15:40 MDT 1996",
bibsource = "UnCover library database",
acknowledgement = ack-nhfb,
}
@Article{Anonymous:1996:PMM,
author = "Anonymous",
title = "{Plan 9}: Multi-media Mobile {OS}",
journal = j-SECURITY,
volume = "33",
number = "3",
pages = "64--??",
month = "????",
year = "1996",
CODEN = "SECUEU",
ISSN = "0890-8826",
bibdate = "Mon May 27 14:32:08 MDT 1996",
acknowledgement = ack-nhfb,
}
@Article{Anonymous:1996:POS,
author = "Anonymous",
title = "{Plan 9}: From Outer Space to Kernel Space",
journal = j-IEEE-SOFTWARE,
volume = "13",
number = "3",
pages = "98--??",
month = "????",
year = "1996",
CODEN = "IESOEG",
ISSN = "0740-7459",
bibdate = "Mon May 27 14:32:08 MDT 1996",
acknowledgement = ack-nhfb,
}
@Article{Bailey:1996:PA,
author = "David Bailey",
title = "{Plan 9} from {AT\&T}",
journal = j-UNIX-REVIEW,
volume = "14",
number = "1",
pages = "27--28",
day = "1",
month = jan,
year = "1996",
CODEN = "UNRED5",
ISSN = "0742-3136",
bibdate = "Tue Mar 11 22:37:17 1997",
bibsource = "UnCover library database",
acknowledgement = ack-nhfb,
}
@Article{Bailey:1996:PUP,
author = "David Bailey",
title = "{PC UNIX} --- {Plan 9} From {AT\&T}",
journal = j-UNIX-REVIEW,
volume = "14",
number = "1",
pages = "27--??",
month = "????",
year = "1996",
CODEN = "UNRED5",
ISSN = "0742-3136",
bibdate = "Mon May 27 14:32:08 MDT 1996",
acknowledgement = ack-nhfb,
}
@Article{Fennessy:1996:PBM,
author = "Quentin Fennessy",
title = "{Plan 9}: Bad Movie, Good Operating System",
journal = j-COMPUTER,
volume = "29",
number = "5",
pages = "117--119, 121--123",
month = may,
year = "1996",
bibdate = "Mon May 27 15:07:07 1996",
acknowledgement = ack-nhfb,
}
@Article{Fillinich:1996:PFF,
author = "Paul Fillinich",
title = "{Plan 9}: Feature Film to Feature-Rich {OS}",
journal = j-BYTE,
volume = "21",
number = "3",
pages = "143--144",
day = "1",
month = mar,
year = "1996",
CODEN = "BYTEDJ",
ISSN = "0360-5280",
bibdate = "Sat Mar 22 15:10:17 MST 1997",
bibsource = "UnCover library database",
abstract = "{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",
}
@Article{Jacob:1996:AMD,
author = "Bruce L. Jacob and Peter M. Chen and Seth R. Silverman
and Trevor N. Mudge",
title = "An Analytical Model for Designing Memory Hierarchies",
journal = j-IEEE-TRANS-COMPUT,
volume = "45",
number = "10",
pages = "1180--1194",
month = oct,
year = "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 \cite{Pike:1990:PBLb,Quinlan:1991:CWF}.",
acknowledgement = ack-nhfb,
}
@Article{Korzeniowski:1996:NPO,
author = "Paul Korzeniowski",
title = "In the News: {Plan 9}: From Outer Space to Kernel
Space",
journal = j-IEEE-SOFTWARE,
volume = "13",
number = "3",
pages = "105--105",
month = may,
year = "1996",
CODEN = "IESOEG",
ISSN = "0740-7459",
bibdate = "Fri Aug 16 13:12:40 MDT 1996",
acknowledgement = ack-nhfb,
}
@Book{Pike:1996:PPMa,
author = "Rob Pike and others",
title = "{Plan 9} Programmer's Manual: Volume 1: The Manuals",
publisher = pub-HB,
address = pub-HB:adr,
pages = "????",
year = "1996",
ISBN = "????",
LCCN = "????",
bibdate = "Mon May 27 15:10:24 1996",
URL = "http://plan9.bell-labs.com/plan9/vol1.html",
acknowledgement = ack-nhfb,
}
@Book{Pike:1996:PPMb,
author = "Rob Pike and others",
title = "{Plan 9} Programmer's Manual: Volume 2: The
Documents",
publisher = pub-HB,
address = pub-HB:adr,
pages = "????",
year = "1996",
ISBN = "????",
LCCN = "????",
bibdate = "Sat Mar 22 15:31:21 1997",
URL = "http://plan9.bell-labs.com/plan9/vol2.html",
acknowledgement = ack-nhfb,
}
@Article{Kuehl:1997:NGP,
author = "B. Kuehl",
title = "{Die naechste Generation --- Plan 9}",
journal = "{Offene Systeme}",
volume = "12",
pages = "16--24",
year = "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,
}
@Book{Skocovski:1998:UPP,
author = "Ludek Skocovski",
title = "{UNIX, POSIX, Plan 9}",
publisher = "????",
address = "Brno, Czech Republic",
pages = "394",
year = "1998",
ISBN = "80-902612-0-5",
LCCN = "",
bibdate = "Sat Oct 28 16:43:55 2000",
note = "In Czech.",
acknowledgement = ack-nhfb,
}
@Book{Bischof:1999:NPK,
author = "Hans-Peter Bischof and others",
title = "{Das Netzbetriebssystem Plan 9: Konzepte und
Programmierung}",
publisher = pub-HANSER,
address = pub-HANSER:adr,
pages = "viii + 242",
year = "1999",
ISBN = "3-446-18881-9",
LCCN = "????",
bibdate = "Sat Oct 28 16:41:42 2000",
acknowledgement = ack-nhfb,
}
@TechReport{Anonymous:19xx:IPD,
author = "Anonymous",
title = "Installing the {Plan 9} Distribution",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "????",
year = "19xx",
bibdate = "Sat Oct 28 16:39:38 2000",
URL = "http://plan9.att.com/plan9/doc/install.html",
acknowledgement = ack-nhfb,
}
@TechReport{Anonymous:19xx:P,
author = "Anonymous",
title = "{Plan 9}",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "????",
year = "19xx",
bibdate = "Sat Oct 28 16:39:38 2000",
URL = "http://plan9.att.com/plan9/index.html",
acknowledgement = ack-nhfb,
}
@TechReport{Anonymous:19xx:PD,
author = "Anonymous",
title = "{Plan 9} Distribution",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "????",
year = "19xx",
bibdate = "Sat Oct 28 16:39:38 2000",
URL = "http://plan9.att.com/plan9/distrib.html",
acknowledgement = ack-nhfb,
}
@TechReport{Anonymous:19xx:PDE,
author = "Anonymous",
title = "{Plan 9} Distribution Errata List",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "????",
year = "19xx",
bibdate = "Sat Oct 28 16:39:39 2000",
URL = "http://plan9.att.com/plan9/errata.html",
acknowledgement = ack-nhfb,
}
@TechReport{Anonymous:2000:IPD,
author = "Anonymous",
title = "Installing the {Plan 9} Distribution",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
year = "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,
}
@TechReport{Anonymous:2000:VP,
author = "Anonymous",
title = "The Various Ports",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "5",
year = "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",
abstract = "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,
}
@TechReport{Cox:2000:GSP,
author = "Russ Cox",
title = "Getting Started with {Plan 9}",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
year = "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,
}
@TechReport{Duff:2000:RPS,
author = "Tom Duff",
title = "{\tt rc} --- The {Plan 9} Shell",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "16",
year = "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",
abstract = "{\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,
}
@TechReport{Flandrena:2000:PM,
author = "Bob Flandrena",
title = "{Plan 9} {Mkfiles}",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "7",
year = "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",
abstract = "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,
}
@TechReport{Glick:2000:GLP,
author = "Paul Glick",
title = "Guide to the {\tt lp} Printer Spooler",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "8",
year = "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",
abstract = "{\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,
}
@TechReport{Holzmann:2000:US,
author = "Gerard J. Holzmann",
title = "Using {SPIN}",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "27",
year = "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",
abstract = "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",
}
@TechReport{Hume:2000:MFP,
author = "Andrew G. Hume and Bob Flandrena",
title = "Maintaining Files on {Plan 9} with {Mk}",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "14",
year = "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",
abstract = "{\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,
}
@TechReport{Ossanna:2000:TUM,
author = "Joseph F. Ossanna and Brian W. Kernighan",
title = "Troff User's Manual",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "40",
year = "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",
abstract = "{\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,
}
@TechReport{Pike:2000:HUP,
author = "Rob Pike",
title = "How to Use the {Plan 9 C} Compiler",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "14",
year = "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",
abstract = "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,
}
@TechReport{Pike:2000:HWL,
author = "Rob Pike and Ken Thompson",
title = "Hello World or
{K$\alpha$$\lambda$$\eta$$\mu$\'{$\epsilon$}$\rho$$\alpha$}
{$\kappa$o$\sigma$$\mu$$\epsilon$} or \ldots{}",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
year = "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",
abstract = "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,
}
@TechReport{Pike:2000:LFNa,
author = "Rob Pike",
title = "Lexical File Names in {Plan 9}, or Getting Dot-Dot
Right",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "11",
year = "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",
abstract = "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,
}
@InProceedings{Pike:2000:LFNb,
author = "Rob Pike",
title = "Lexical File Names in {Plan 9}, or Getting Dot-Dot
Right",
crossref = "USENIX:2000:UAT",
pages = "85--92",
year = "2000",
bibdate = "Mon Oct 14 07:46:19 2002",
abstract = "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,
}
@TechReport{Pike:2000:MPA,
author = "Rob Pike",
title = "A Manual for the Plan 9 assembler",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "10",
year = "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",
abstract = "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,
}
@TechReport{Pike:2000:POU,
author = "Rob Pike",
title = "Plumbing and Other Utilities",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "16",
year = "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",
abstract = "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,
}
@TechReport{Pike:2000:PSW,
author = "Rob Pike and Dave Presotto and Ken Thompson and Gerard
Holzmann",
title = "Process Sleep and Wakeup on a Shared-memory
Multiprocessor",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "6",
year = "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",
abstract = "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,
}
@TechReport{Pike:2000:PWS,
author = "Rob Pike",
title = "$8 {1/2}$, the {Plan 9} window system",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "10",
year = "2000",
bibdate = "Tue Feb 12 11:46:53 2002",
note = "World-Wide Web document. Originally appeared in
\cite{Pike:1991:PWS}.",
URL = "http://plan9.bell-labs.com/sys/doc/8%bd/8%bd.html;
http://plan9.bell-labs.com/sys/doc/8%bd/8%bd.ps;
http://plan9.bell-labs.com/sys/doc/8%bd/8%bd.pdf",
abstract = "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,
}
@TechReport{Pike:2000:TES,
author = "Rob Pike",
title = "The Text Editor {\tt sam}",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "30",
day = "7",
month = jun,
year = "2000",
bibdate = "Tue Nov 29 10:02:15 2005",
URL = "http://plan9.bell-labs.com/sys/doc/sam/sam.pdf",
abstract = "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,
}
@TechReport{Presotto:2000:P,
author = "Dave Presotto and Phil Winterbottom",
title = "The {IL} protocol",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "5",
year = "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",
abstract = "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,
}
@TechReport{Thompson:2000:PCC,
author = "Ken Thompson",
title = "{Plan 9 C} Compilers",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "11",
year = "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",
abstract = "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,
}
@TechReport{Thompson:2000:PFS,
author = "Ken Thompson",
title = "The {Plan 9} File Server",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "7",
year = "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",
abstract = "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,
}
@TechReport{Trickey:2000:AAP,
author = "Howard Trickey",
title = "{APE} --- The {ANSI\slash POSIX} Environment",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "4",
year = "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",
abstract = "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,
}
@TechReport{Winterbottom:2000:ADB,
author = "Phil Winterbottom",
title = "Acid: {A} Debugger Built From a Language",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "14",
year = "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",
abstract = "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,
}
@TechReport{Winterbottom:2000:AM,
author = "Phil Winterbottom",
title = "{Acid} Manual",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "25",
year = "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",
abstract = "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",
}
@Article{Minnich:2001:PNL,
author = "Ronald G. Minnich",
title = "Private Namespaces For {Linux}",
journal = j-DDJ,
volume = "26",
number = "12",
pages = "23--24, 26, 28, 30",
month = dec,
year = "2001",
CODEN = "DDJOEB",
ISSN = "1044-789X",
bibdate = "Tue Feb 12 05:21:41 MST 2002",
URL = "http://www.ddj.com/",
abstract = "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.",
}
@InProceedings{Cox:2002:SP9,
author = "Russ Cox and Eric Grosse and Rob Pike and Dave
Presotto and Sean Quinlan",
title = "Security in {Plan 9}",
crossref = "USENIX:2002:PUS",
pages = "3--16",
year = "2002",
URL = "http://plan9.bell-labs.com/sys/doc/auth.pdf;
http://www.usenix.org/publications/library/proceedings/sec02/cox.html",
abstract = "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.",
}
@TechReport{Flandrena:2002:AAS,
author = "Bob Flandrena",
title = "Adding Application Support for a New Architecture in
{Plan 9}",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "7",
day = "22",
month = may,
year = "2002",
bibdate = "Tue Nov 29 09:54:55 2005",
URL = "http://plan9.bell-labs.com/sys/doc/libmach.pdf",
abstract = "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,
}
@TechReport{Pike:2002:CPE,
author = "Rob Pike",
title = "Changes to the Programming Environment in the Fourth
Release of {Plan 9}",
type = "{World-Wide Web} document",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "6",
day = "22",
month = may,
year = "2002",
bibdate = "Tue Nov 29 10:00:49 2005",
URL = "http://plan9.bell-labs.com/sys/doc/prog4.pdf",
acknowledgement = ack-nhfb,
}
@TechReport{Quinlan:2002:VNA,
author = "Sean Quinlan and Sean Dorward",
title = "{Venti}: a new approach to archival storage",
institution = inst-CSRC,
address = inst-CSRC:adr,
pages = "13",
day = "2",
month = may,
year = "2002",
bibdate = "Tue Nov 29 10:06:07 2005",
URL = "http://plan9.bell-labs.com/sys/doc/venti/venti.pdf",
abstract = "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,
}
@InProceedings{Mirtchovski:2004:PIA,
author = "A. Mirtchovski and R. Simmonds",
title = "{Plan 9} --- an integrated approach to {Grid}
computing",
crossref = "IEEE:2004:IPD",
pages = "273--273",
year = "2004",
DOI = "http://dx.doi.org/10.1109/IPDPS.2004.1303349",
bibdate = "Thu Nov 16 07:01:54 2006",
abstract = "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,
}
@InProceedings{Ballesteros:2005:TSC,
author = "F. J. Ballesteros and G. Guardiola and E. Soriano and
K. Leal",
title = "Traditional Systems Can Work Well for Pervasive
Applications. {A} Case Study: {Plan 9} from {Bell Labs}
Becomes Ubiquitous",
crossref = "IEEE:2005:TII",
pages = "295--299",
year = "2005",
DOI = "http://dx.doi.org/10.1109/PERCOM.2005.49",
bibdate = "Thu Nov 16 07:00:27 2006",
acknowledgement = ack-nhfb,
}
@Article{Mirtchovski:2007:WSD,
author = "Andrey Mirtchovski and Latchesar Ionkov",
title = "Why some dead {OSes} still matter",
journal = j-LOGIN,
volume = "32",
number = "5",
pages = "",
month = oct,
year = "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",
}
@Article{Ganti:2008:PAL,
author = "Ashwin Ganti",
title = "{Plan 9} authentication in {Linux}",
journal = j-OPER-SYS-REV,
volume = "42",
number = "5",
pages = "27--33",
month = jul,
year = "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/",
abstract = "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",
}
%%% ====================================================================
%%% Cross-reference entries must come last:
@Proceedings{EurOpen:1991:EUD,
editor = "{EurOpen}",
booktitle = "EurOpen. UNIX Distributed Open Systems in Perspective.
Proceedings of the Spring 1991 EurOpen Conference,
Troms{\o}, Norway, May 20--24, 1991",
title = "EurOpen. {UNIX} Distributed Open Systems in
Perspective. Proceedings of the Spring 1991 EurOpen
Conference, Troms{\o}, Norway, May 20--24, 1991",
publisher = pub-EUROPEN,
address = pub-EUROPEN:adr,
pages = "viii + 331",
year = "1991",
ISBN = "1-873611-00-5",
LCCN = "????",
bibdate = "Fri May 22 11:28:47 1998",
acknowledgement = ack-nhfb,
acknowledgement = ack-nhfb,
}
@Proceedings{USENIX:1993:PWU,
editor = "{USENIX Association}",
booktitle = "Proceedings of the Winter 1993 {USENIX} Conference:
January 25--29, 1993, San Diego, California, {USA}",
title = "Proceedings of the Winter 1993 {USENIX} Conference:
January 25--29, 1993, San Diego, California, {USA}",
publisher = pub-USENIX,
address = pub-USENIX:adr,
pages = "x + 530",
year = "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",
}
@Proceedings{Brazier:1994:DOS,
editor = "F. M. T. (Frances M. T.) Brazier and D. (Dag)
Johansen",
booktitle = "Distributed open systems",
title = "Distributed open systems",
publisher = pub-IEEE,
address = pub-IEEE:adr,
pages = "ix + 181",
year = "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,
}
@Proceedings{USENIX:1994:PWU,
editor = "{USENIX Association}",
booktitle = "Proceedings of the Winter 1994 {USENIX} Conference:
January 17--21, 1994, San Francisco, California,
{USA}",
title = "Proceedings of the Winter 1994 {USENIX} Conference:
January 17--21, 1994, San Francisco, California,
{USA}",
publisher = pub-USENIX,
address = pub-USENIX:adr,
pages = "372",
year = "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.",
}
@Proceedings{USENIX:2000:UAT,
editor = "{USENIX}",
booktitle = "2000 USENIX Annual Technical Conference: San Diego,
CA, USA, June 18--23, 2000",
title = "2000 {USENIX} Annual Technical Conference: San Diego,
{CA}, {USA}, June 18--23, 2000",
publisher = pub-USENIX,
address = pub-USENIX:adr,
pages = "350",
year = "2000",
ISBN = "1-880446-22-7",
LCCN = "",
bibdate = "Mon Oct 14 07:43:52 2002",
acknowledgement = ack-nhfb,
}
@Proceedings{USENIX:2002:PUS,
editor = "{USENIX}",
booktitle = "Proceedings of the 11th USENIX Security Symposium
2002, August 5--9, 2002, San Francisco CA",
title = "Proceedings of the 11th {USENIX} Security Symposium
2002, August 5--9, 2002, San Francisco {CA}",
publisher = pub-USENIX,
address = pub-USENIX:adr,
pages = "????",
year = "2002",
ISBN = "1-931971-00-5",
LCCN = "????",
bibdate = "Tue Oct 15 07:55:57 2002",
acknowledgement = ack-nhfb,
}
@Proceedings{IEEE:2004:IPD,
editor = "{IEEE}",
booktitle = "{18th International Parallel and Distributed
Processing Symposium: Santa Fe, New Mexico, April
26--30, 2004: proceedings}",
title = "{18th International Parallel and Distributed
Processing Symposium: Santa Fe, New Mexico, April
26--30, 2004: proceedings}",
publisher = pub-IEEE,
address = pub-IEEE:adr,
pages = "lvi + 289",
year = "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.",
}
@Proceedings{IEEE:2005:TII,
editor = "{IEEE}",
booktitle = "{Third IEEE International Conference on Pervasive
Computing and Communications Workshops: proceedings,
PerCom 2005 Workshops, 8--12 March, 2005, Kauai Island,
Hawaii}",
title = "{Third IEEE International Conference on Pervasive
Computing and Communications Workshops: proceedings,
PerCom 2005 Workshops, 8--12 March, 2005, Kauai Island,
Hawaii}",
publisher = pub-IEEE,
address = pub-IEEE:adr,
pages = "xxvi + 421",
year = "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,
}
|