Plan 9 from Bell Labs’s /usr/web/sources/contrib/steve/historic/2nd-edition/faq.html

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


<html>
<head>
<Title>
Plan 9 from AT&amp;T Bell Laboratories FAQ</title>
</head><body>
<H1>Plan 9 from AT&amp;T Bell Laboratories FAQ</H1>
<DL>
<H5>What is Plan 9?</H5>
<P>
Plan 9 is a new computer operating system and associated utilities.
It has been built over the past several years by the Computing Science
Research Center of AT&amp;T Bell
Laboratories, the same group that developed Unix, C, and C++.
</P><P>
Plan 9 is a distributed system.  In the most general configuration, it
uses three kinds of components: terminals that sit on users' desks,
file servers that store permanent data, and other servers that provide
faster CPUs, user authentication, and network gateways.  These components are
connected by various kinds of networks, including Ethernet, Datakit,
specially-built fiber networks, ordinary modem connections, and ISDN.
In typical use, users interact with applications that run either on
their terminals or on CPU servers, and the applications get their data
from the file servers. The design, however, is highly configurable;
it escapes from specific models of networked workstations and
central machine service.
<H5>What is its relation to other operating systems?</H5>
<P>
Plan 9 is itself an operating system; it doesn't run as an
application under another system.  It was written from the ground up
and doesn't include other people's code.  Although the
OS's interface to applications is strongly influenced by the approach
of Unix, it's not a replacement for Unix; it is a new design.
<H5>What are its key ideas?</H5>
<P>
Plan 9 exploits, as far as possible, three basic technical ideas:
first, all the system objects present themselves as named files that
are manipulated by read/write operations; second, all these files
may exist either locally or remotely, and respond to a standard protocol;
third, the file system name space, the set of objects visible to a
program, is dynamically and individually adjustable for each of the
programs running on a particular machine.  The first two of these
ideas were foreshadowed in Unix and to a lesser extent in
other systems, while the third is new: it allows a new engineering
solution to the problems of distributed computing and graphics.  Plan
9's approach means that application programs don't need to know where
they are running; where, and on what kind of machine, to run
a Plan 9 program is an economic decision that doesn't affect the
construction of the application itself.
<H5>What are the advantages to this approach?</H5>
<P>
Plan 9's approach improves generality and modularity of application
design by encouraging
servers that make any kind of information
appear to users and to applications just like collections
of ordinary files.
Here are a few examples.
</P><P>
The Plan 9 window system (called 8&#189;) is small and clean
in part because its design is centered on providing a virtual
keyboard, mouse, and screen to each of the applications running under
it, while using the real keyboard, mouse, and screen supplied
by the operating system.  That is besides creating, deleting, and
arranging the windows themselves its job is be a server for
certain resources used by its clients.  As a side benefit, this
approach means that the window system can run recursively in one of
its windows, or even on another machine.
</P><P>
Plan 9 users do Internet FTP by starting a local program that makes all the
files on any FTP server (anywhere on the Internet) appear to be
local files. Plan 9 PC users with a DOS/Windows partition on
their disk can use the files stored there.
ISO 9660 CD-ROMs and
<a href="/magic/man2html/1/tar>tar</a>
and
<a href="/magic/man2html/1/cpio>cpio</a>
tapes all behave as if they were
native file systems.  The complete I/O behavior and performance of
any application can be monitored by running it under a server
that sees all its interactions.
The debugger can examine a program on another machine
even if it is running on a different hardware architecture.
</P><P>
Another example is the approach to networks.  In Plan 9, each network
presents itself as a set of files for connection creation,
I/O, and control.  A common semantic core for the operations is agreed
upon, together with a general server for translating human-readable
addresses to network-specific ones.  As a result, applications don't
care which kind of network (TCP/IP, ISDN, modem,
Datakit) they are using. In fact, applications
don't even know whether the network they are using is physically
attached to the machine the application is running on: the network
interface files can be imported from another machine.
<H5>What platforms does it run on?</H5>
<P>
The Plan 9 kernel and applications are highly portable.  Plan 9 runs on
four major machine architectures: Intel 386/486/Pentium, MIPS, SPARC,
and Motorola 68020.  Data structures and protocols are designed
for distributed computing on machines of diverse design.  Except
for necessarily machine-dependent parts of the kernel, the compilers,
and a few libraries, there is a single source representation for everything.
<H5>Does it support symmetric multiprocessing?</H5>
<P>
Yes.  Our CPU and file servers are both multi-processor machines.
<H5>Is it object-oriented?</H5>
<P>
No, not in the conventional sense.  It is written in a strict
dialect of ISO/ANSI C. In a wider sense, its
general design of making all its `objects' look like files to which
one talks in a well-defined protocol shows a related approach.
<H5>What about applications and tools?</H5>
<P>
Plan 9 comes with its own compilers for C and other languages,
together with all the commands and program-development tools
originally pioneered in the Unix environment.
It also provides newly designed software.
<A href="doc/ref.html">Alef</a>
is a new language that provides threads, inter-process
and inter-machine communication through typed channels,
and abstract data types.
<A href="doc/acid.html">Acid</a>
is a programmable debugger that understands multiple-process
programs, and the programs it is debugging may be running
on a hardware plaform different from its own.
<A href="doc/acme.html">Acme</a>
is a new user interface in which any word on the screen can be interpreted as
a command
by clicking on it, and any string can specify a file to
be displayed.
<H5>What about application portability?</H5>
<P>
Plan 9 comes with a library that makes it easy to import
POSIX-conforming applications.
There is also a library that emulates the Berkeley socket
interface.
<H5>What resources does it need?</H5>
<P>
As might be expected, the answer depends on what you want to do.
The kernel, the window system, and the basic applications will run
comfortably on a laptop PC with 8MB of memory.  A single,
self-booting demo diskette will hold the kernel, window system,
editor, and basic Ethernet/Internet interface.  A 4-diskette set will
hold a system sufficient for simple program development (compiler,
loader, debugger, more utilities).
</P><P>
On the other hand, the system can grow.  Our own installation at AT&amp;T
Bell Laboratories includes multiprocessor SGI Power Series and
Challenge machines as CPU servers, and a 350GB Sony WORM disk jukebox
for the file server.
<H5>What GUIs does it support?</H5>
<P>
The standard interface doesn't use icons;
Plan 9 people tend to be text-oriented.
But the window system, the
editor, and the general feel are very mousy, very point-and-click:
Plan 9 windows are much more than a bunch of glass TTYs.
The system supports the graphics primitives and libraries of basic software
for building GUIs, and if need arises, the X window system has been ported to Plan 9.
<H5>What character set does it use?</H5>
<P>
The character set is Unicode, the 16-bit set unified with
the ISO 10646 standard for representing languages used throughout the world.
The system and its utilities support Unicode using a byte-stream
representation (called UTF-8) that is compatible with ASCII.
On Plan 9, one may
<a href="/magic/man2html/1/grep">grep</a>
for Cyrillic strings in a file with
a Japanese
name and see the results appear correctly on the terminal.
If you were using Plan 9, you would see the Japanese
and Cyrillic characters right here!
<H5>What about security and user authentication?</H5>
<P>
Plan 9's authentication design is akin to that of MIT's Kerberos.
Passwords are never sent over networks; instead encrypted
tickets are obtained from an authentication server.
It doesn't have the concept of `set UID' programs.
The file server doesn't run user programs, and except at
its own console, it doesn't allow access to protected files
except by authenticated owners.  The concept of a special
`root' user is gone.
<H5>How does it communicate with other systems?</H5>
<P>
The distribution includes a server that runs on Unix-compatible
systems and understands the native Plan 9 remote file protocol,
so that file systems of Unix machines may be imported into Plan 9.
It also includes an NFS-compatible server that runs on
Plan 9, so that Plan 9 file systems may be accessed
from other systems that support NFS.
It includes the full suite of Internet protocols.
<H5>Who is using Plan 9?</H5>
<P>
At the moment, mostly our own group.  There are a few hundred
educational licensees within universities, and there is exploratory
use in commercial companies, both within AT&amp;T and outside.  Most
visibly, the Netlib service that supplies mathematical and other
software and documents to the public via FTP, mail, and WWW uses a
Plan 9 server.  This service includes the AT&amp;T 800-number directory by
which WWW users can find the toll-free numbers of AT&amp;T 800-number
advertisers.
<H5>Where did the name come from?</H5>
<P>
It was chosen in our tradition of selecting names that
make marketeers wince.  We also wished to pay homage to the
famous film,
<a HREF="http://www.msstate.edu/M/title-exact?+=Plan+9+from+Outer+Space"><I>Plan 9 From Outer Space</I></A>.
<H5>What are the plans for Plan 9?</H5>
<P>
Plan 9 was developed within the research organization of AT&amp;T Bell
Laboratories as an exercise in understanding the principles and
mechanisms useful in designing operating systems, and not as a product
as such.  In this way it is analogous to the Unix efforts of the past.
Nevertheless, to succeed, it must be used, both within our company
and outside.  We believe that making it more generally available under
reasonable terms will enhance its impact, and have been working with
the AT&amp;T Software Solutions group to find the best ways of doing this.
A general distribution of the technology for non-commercial
purposes is available, and we would like to license it for commercial
purposes on terms to be negotiated.  Just as in the early
stages of deployment of Unix, these arrangements will be `as-is,'
with no support promised.
</P><P>
Current plans call for this distribution to consist of
a CD-ROM containing the entire source and binary for all platforms,
a two-volume manual
set, and four diskettes.
The diskettes contain a binary-only version
of the system that can be installed on a PC
to demonstrate the window system, many of the
applications including Internet communications,
and the Intel-architecture C and Alef compilers.
<H5>How can I get more detailed technical information?</H5>
<P>
The Internet site
<a href="index.html">plan9.att.com</a>
stores a collection of papers about the system in the
<I>plan9</I>
directory; they are available for
anonymous FTP.
<br>&#32;<br>
<A href=http://www.att.com/copyright.html>
Copyright</A> &#169; 1995 AT&amp;T.  All rights reserved.
</body></html>

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.