9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* Plan 9 from AT&T Bell Labs - Frequently Asked Questions [FAQ]
@ 1995-11-02 21:34 Steve
  0 siblings, 0 replies; 2+ messages in thread
From: Steve @ 1995-11-02 21:34 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=UTF-8, Size: 28030 bytes --]

I posted this to comp.os.plan9 yesterday, but it hasn't shown up on 9fans, so:

Newsgroups: comp.os.plan9,comp.os.misc,comp.answers,news.answers
Summary: FAQ for the Plan 9 operating system
Reply-To: steve@ecf.toronto.edu
Organization: University of Toronto, Engineering Computing Facility
Approved: plan9mod@bath.ac.uk news-answers-request@mit.edu
Expires: 1 Dec 1995

Archive-name: comp-os/plan9-faq
Last-modified: 1 Nov 1995
Posting-Frequency: monthly
URL: http://www.ecf.toronto.edu/plan9/plan9faq.html

This document answers frequently asked questions about the Plan 9 operating
system. Much of it was taken (with permission) from Dennis Ritchie's Plan 9 Q&A
press release.

The following sections are new or modified since the last posting:

   * What PC hardware works well with Plan 9?
   * How do I Install Plan 9?
   * Are there any known problems?
   * Can I install Plan 9 with less than 8Mb of ram?
   * Are there any security concerns I should be aware of?
   * Is it suitable for real time control?
   * How can I get involved?
   * What is a boddle and what is it good for?

A hypertext version of this FAQ is available on my Plan 9 web page, URL
http://www.ecf.toronto.edu/plan9/

Other sources of information include the newsgroup comp.os.plan9, which is
bidirectionally gatewayed to the 9fans mailing list, and of course the Plan 9
homepage at Bell Labs, URL http://plan9.att.com/plan9/index.html

Please forward any comments or suggestions regarding this FAQ to
steve@ecf.toronto.edu.
-------------------------------------------------------------------------------

Introduction:

   * What is Plan 9?
   * What is its relation to other operating systems?
   * What are its key ideas?
   * What are the advantages to this approach?

Hardware and Software:

   * What platforms does it run on?
   * Is anyone working on a port for my system?
   * Does it support symmetric multiprocessing?
   * Is it object-oriented?
   * What about applications and tools?
   * What about application portability?
   * What resources does it need?
   * What GUIs does it support?
   * What character set does it use?
   * What about security and user authentication?
   * How does it communicate with other systems?
   * Is it suitable for real time control?

Installation:

   * What PC hardware works well with Plan 9?
   * How do I Install Plan 9?
   * Are there any known problems?
   * It doesn't work for me, how should I troubleshoot?
   * How do I upgrade from the old release of Plan 9?
   * How do I install Plan 9 on a standalone Sparc?
   * How do I install Plan 9 on a Next?
   * Can I install Plan 9 with less than 8Mb of ram?
   * Are there any security concerns I should be aware of?
   * What is a boddle and what is it good for?

General Information:

   * Where did the name come from?
   * How can I Obtain Plan 9?
   * How can I get involved?
   * How can I get more detailed technical information?

-------------------------------------------------------------------------------

Introduction:

Subject: What is Plan 9?

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&T Bell Laboratories, the same group that developed Unix, C, and C++.

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.

Subject: What is its relation to other operating systems?

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.

Subject: What are its key ideas?

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.

Subject: What are the advantages to this approach?

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.

The Plan 9 window system (called 8½) 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.

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 tar and cpio 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.

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.

Hardware and Software:

Subject: What platforms does it run on?

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.

The systems supported under each architecture are:
     386
          386, 486, Pentium and clones
          see the "What PC hardware works well with Plan 9?" section of this
          faq for more information on this popular topic
     MIPS
          MIPS Magnum 3000, 6280, SGI Power Series, Indigo, Challenge M;
     SPARC
          SLC (4/20) Sparcstation 2 (4/75) have been tested, Sparcstation 1
          (4/60), IPC (4/40), 1+ (4/65), ELC (4/25), and IPX (4/50) will
          probably work too;
     68020
          Gnot, 68040 NeXTstation.

More details are available in "The Various Ports" at URL
http://plan9.att.com/plan9/doc/port.html

Subject: Is anyone working on a port for my system?

The system does not run on an SGI Indy yet, but either forsyth or Steve
Kotsopoulos will probably get it working once they have the time.

Both David Hogan and forsyth (separately) ported an older version of Plan 9 to
the Sun-3/50 and 3/60. David Hogan has the new release working on Sun-3/50 and
3/60s and forsyth has offered to get it ready for distribution. He will make it
available once he tidies it up.

David Hogan is also working on a port to the DEC Alpha architecture. He will
announce it when it is ready.

Neither the Amiga nor Atari are supported.

The Decstation 2100 and 3100 are not supported.

Subject: Does it support symmetric multiprocessing?

Yes. SGI Power series multiprocessors are supported both as CPU servers and
file servers.

Subject: Is it object-oriented?

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.

Subject: What about applications and tools?

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. Alef is a new language
that provides threads, inter-process and inter-machine communication through
typed channels, and abstract data types. Acid is a programmable debugger that
understands multiple-process programs, and the programs it is debugging may be
running on a hardware platform different from its own. Acme 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.

Subject: What about application portability?

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.

Subject: What resources does it need?

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 PC with
8MB of memory. A single diskette can hold the kernel, window system, editor,
and basic Ethernet/Internet interface. A 4-diskette set holds a system
sufficient for simple program development (compiler, loader, debugger, more
utilities).

On the other hand, the system can grow. The installation at AT&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.

Subject: What GUIs does it support?

The standard interface doesn't use icons or drag-n-drop; 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. [Note: The X server only runs on MIPS systems. No one at Bell
Labs is working on the port, so they didn't ship it with the CDROM]

Subject: What character set does it use?

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 grep for Cyrillic strings in
a file with a Japanese name and see the results appear correctly on the
terminal.

Subject: What about security and user authentication?

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.

Subject: How does it communicate with other systems?

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 (telnet, rlogin, ftp).

Subject: Is it suitable for real time control?

No, it is not. It is a general purpose system, without an interrupt priority
scheme or real scheduler.

Installation:

Subject: What PC hardware works well with Plan 9?

If you don't want to spend time fiddling with and swapping PC hardware, you may
prefer to buy hardware that is in use within Bell Labs. If so, have a look at
the "What We Use" document by jmk@plan9.att.com, at
http://www.ecf.toronto.edu/plan9/clone.html

The general recommendation would be for a 486 PCI+ISA motherboard with I/O on
the motherboard that would take a DX4-100. SIS or Intel chipset should be OK.
If you can afford it, Intel cpus have larger primary caches and less
possibility of running into incompatibilities.

A condensed summary of the hardware that is known to work follows:
     Motherboards
          AMI Enterprise IV, ACER AP41
     Pentium motherboards
          ASUS PCI/E-P54NP4, Gigabyte GA586-ID
     VGA cards/chips
          S3 80[15], S3 928, S3 864, S3 964, S3 Trio64, S3 Trio32, Tseng Labs
          ET4000, Tseng Labs ET4000/W32p, Tseng Labs ET4000/W32i, ARK2000pv,
          CL-GD542x, CL-GD543x, C&T65540, MACH32, MACH64.
     Monitors
          IDEK 8617, Viewsonic 17, Nokia 445X, Nanao Flexscan 6500 21"
          greyscale.
     SCSI Controllers
          Buslogic controllers have been the most trouble-free, due to their
          open policy on providing programming information. Adaptec 1542
          series, Ultrastor 14F ISA and a 34F VLB, though many people have had
          problems with the Adaptec 1542CF.
     SCSI CD-ROM
          2x Toshiba 3401, NEC 74 and 3Xi, 4x Plextor 4-Plex. The Toshiba and
          Plextor let you read the digital audio over the bus.
     Non-SCSI CD-ROM
          Mitsumi, Panasonic and Matsushita, attached to a Sound Blaster audio
          card.
     Audio
          Sound Blaster 16 or compatible (not the Sound Blaster Pro).
     Mouse
          PS/2 or serial
     Ethernet Adapters
          3Com 3C509, 3C509B are recommended. The PCMCIA (3C589) and the PCI
          (3C590) also work. SMC (WD) series up to the Elite (but not the Elite
          Ultra), some NE2000 compatibles (including an NE4100 PCMCIA card) and
          one Eagle NE3210 EISA card.

If you have time for netnews, the OS/2 and Linux newsgroups probably have some
useful information.

Another useful web page on PC hardware (with a BSDi bias) is "PC Hardware Hints
and Kinks" at http://www.vix.com/pc-hw/

Subject: How do I Install Plan 9?

The installation is designed to be run from a PC. Note that Plan 9 uses an
unallocated portion at the end of the disk, and you won't see this partition
with the FDISK program.
  1.  Back up your system.
  2.  Make sure you've backed up your system.
  3.  Read "Installing the Plan 9 Distribution" at URL
     http://plan9.att.com/plan9/doc/install.html
  4.  Check the errata page at http://plan9.att.com/plan9/errata.html for
     problems and fixes found since the distribution was frozen. More recent
     bugfixes are now distributed in boddle format from the update directory at
     ftp://plan9.att.com/plan9/update
  5.  Here are some more questions that have been answered on the 9fans list:
     Mice
          If aux/mouse is having problems guessing the protocol, you can use
          the undocumented '-d type' option to help it out. Use 'aux/mouse -dC
          $mouseport' for a Logitech type C mouse, '-dW' for a Logitech type W
          mouse, or '-dM' for a Microsoft compatible mouse.
     Name service
          If you have having problems, first check that ndb/dns is running. It
          needs to be started in /rc/bin/termrc.
     binding and mounting devices
          Note that # is the shell comment character, so you should enclose it
          in single quotes. For example: bind -a '#R6' /dev

Subject: Are there any known problems?

There are fixes in the works for the floppy disc read and Adaptec 1542C[FP]
timeout problems.

The hard disc partitioning problem with OS/2 and Linux will take longer to fix,
but it is being worked on.

The SoundBlaster cdrom device driver (#m) was not included in one of the
kernels on the floppies. It has been added to the as yet unfinished new set.

     Problems with Adaptec 1542C[FP]
          If the BIOS is enabled on the 1542C/CF and BIOS options for support
          of drives > 1Gb, dynamic scanning of the SCSI bus or more than 2
          drives under DOS 5.0 are enabled, the BIOS disables accepting Cmbinit
          to protect against running with drivers which don't support those
          options. In order to unlock the interface it is necessary for the
          driver to read a lock-code using Cextbios and write it back using
          Cmbienable; the lock-code is non-zero.
          If any of the options mentioned above are on, timeout errors will
          occur. Either the BIOS or all the relevant options should be
          disabled. There is a new version of b.com on plan9.att.com in the
          pcdist subdirectory which should overcome this problem but it's not
          known if it works in all cases.
     Adaptec AHA-2xxx series controllers
          There is no support for any Adaptec AHA-2xxx series controller. It
          would be great if someone wrote a driver since these are popular and
          show up embedded on motherboards. However, it's completely different
          from any other Adaptec controller and the rumour on the street is
          that a driver would be a fair amount of work. Manuals are hard to
          get, they seem to be permanently on back-order. If someone wants to
          tackle this project, the driver for FreeBSD may be a good starting
          point.
          The NCR8xx series look to be a cheaper alternative with similar
          performance and someone is already working on a driver.
     3C509B ethernet card
          Make sure you disable the Plug-and-Play option and set the
          transceiver type explicitly(don't use auto-select mode)
     Sound Blaster 16 CD-ROM drive
          Originally, the Sound Blaster 16 CD-ROM port used a proprietary
          interface to attach Mitsumi, Panasonic or Matsushita CD-ROM drives.
          IDE (ATAPI) CD-ROM drives have become popular recently and there are
          now Sound Blaster 16's which can use those drives (e.g. the Vibra
          16). There wasn't time to incorporate ATAPI support in the
          distribution but an updated 4-disc set should be available soon to
          enable installation with an ATAPI CD-ROM attached to any of the 4
          possible IDE controllers on a PC.

Subject: It doesn't work for me, how should I troubleshoot?

If you are having having SCSI problems, check your cables and terminators. this
is generally the single largest cause of weird SCSI problems. Active
terminators are best. If you run external cables you need to get high quality
ones. Also, don't crank of the speed on the card.

Simple vga cards and monitors should work at 640x480x[12] For higher
resolutions, especially on untested cards, you will have to find out more about
the card so you can configure it. For a detailed debugging guide (too large to
include here), see http://www.ecf.toronto.edu/plan9/info/vga

Subject: How do I upgrade from the old release of Plan 9?

The 9P protocol has changed in the second edition, due to changes in the way
that Plan 9 does its authentication. For those using Unix-based (u9fs) file
servers, you will have to compile and install the new version of u9fs. For more
tips on running with a u9fs file server, see
http://www.ecf.toronto.edu/plan9/info/u9fs

For those using the standard Plan 9 file servers, ken@plan9.att.com reports
that the disk format in the new release is the same, so there should be no
problems running the new FS code on old disks.

Subject: How do I install Plan 9 on a standalone Sparc?

abochann@cisco.com (Alex Bochannek) did it as follows:

1) Unpack the CD on a UNIX system and install a u9fs server.
2) Boot the SPARC off the u9fs server
3) Create a kfs on sd1 and unpack the whole CD on it.
4) Copy the file /sys/src/9/ss/sscd to /sys/src/9/ss/sssd1
5) Change the line k9660srv.root to kfs.root and change the line boot
   terminal #R6/cd6 to boot terminal #w1/sd1
6) Add sssd1 to the CONFLIST and change CONF=ss to CONF=sssd1 in the
   ss/mkfile
7) Do a make all in /sys/src/9
8) Copy the new image 9sssd1 to your favorite TFTP server (or boot
   from sd3 on your local system)

Subject: How do I install Plan 9 on a Next?

For a summary of how taweil@ucs.usc.edu (Ta-Wei Li) did it, see
http://www.ecf.toronto.edu/plan9/info/next.html

Subject: Can I install Plan 9 with less than 8Mb of ram?

The official answer is no, 8Mb is the minimum supported memory configuration.
Some people are using with only 4Mb though.

You'll need to borrow 4Mb from another system to get you past the install
process (where 8Mb is needed to expand the diskettes). After the install is
done, you may be able to run with only 4Mb if you set the vga at a low
resolution and/or depth, or perhaps fiddle with the kernelpercent parameter in
plan9.ini(8).

Subject: Are there any security concerns I should be aware of?

If someone sets up their plan9 system according to the manuals, anyone on the
internet can telnet/rlogin in as 'none' without a password

To disable this anonymous access, use the undocumented '-N' option to
aux/telnetd and aux/ftp, which disallows logins as 'none'.

Since aux/rlogin execs aux/telnetd without the '-N' option, the only protection
may be to patch the source, or remove /bin/service/tcp513

Finally, ip/tftpd grants access to any world-readable file. The main concern
here is that people using u9fs as their file server probably have an
/etc/passwd file from their Unix system accessible. If so, make sure you don't
have any encrypted passwords in it, or someone could steal it and use 'crack'
to break the passwords.

Subject: What is a boddle and what is it good for?

It's a bundle o' diffs: an rc script that when run with appropriate options
will apply a set of changes to the reference copy of the source from the CDROM
producing an updated copy in a subdirectory, for you to cat and diff, and
eventually cp onto the active source for a subsequent mk.

The boddle command (not in the release, fetch it from plan9.att.com) takes a
reference source and an updated version and produces a boddle file. it comes
with a manual page; read that for details.

General Information:

Subject: Where did the name come from?

It was chosen in the Bell Labs tradition of selecting names that make
marketeers wince. The developers also wished to pay homage to the famous film,
"Plan 9 From Outer Space".

Subject: How can I Obtain Plan 9?

Complete information for purchasing the Plan 9 distribution or ftp'ing the free
PC trial version is available at URL http://plan9.att.com/plan9/distrib.html

To summarize the information on the above webpage:

Contents

The Plan 9 distribution consists of two books, four 1.4 megabyte floppies, and
a CD-ROM. The books contain the manual pages and a collection of papers
describing the system.

The four floppies contain a complete bootable Plan 9 system for IBM-compatible
PCs (>=386). They have the kernel, the window system, Internet support, and
programming environments for both the C and Alef languages. The CD-ROM contains
everything: kernels, libraries, and utilities for the Intel 386 (including 486
and Pentium), Sparc, 68020, and Mips architectures and the sources to create
them. It also has a selection of interesting stuff (road maps of the US, sky
catalogs).

To find out whether Plan 9 supports your hardware, read "The Various Ports" at
URL http://plan9.att.com/plan9/doc/port.html

To Order

The distribution is published by Harcourt Brace and Company. To order it from
the US call 800 782 4479.

>From Canada and the Caribbean, call 800 841 9938

Elsewhere, use +1 407 345 3800

The cost for the full kit is US$350 plus shipping; the ISBN is 0-03-017143-1.
The manuals can be ordered by themselves for US$125 plus shipping; ISBN is
0-03-017142-3. Everyone, even AT&T employees, must order the system this way.
There are no special arrangements or deals.

Any bookshop should be able to order it for you if you give them one of the
ISBN numbers.

Free Trial

Plan 9 does not purport to run on all PCs. Since Plan 9 does not use the BIOS,
it is sensitive to hardware differences between PCs. Therefore, the developers
provide the contents of the four floppies on the Internet via FTP for you to
try out. Ftp to plan9.att.com, log in as anonymous, and get the files from
/plan9/pcdist.

Subject: How can I get involved?

The best way to learn about the system is to write something that other people
in the Plan 9 user community could use, or to port the system to new platforms.
Several people have already made their applications available, such as an http
server, Unix-based authentication server, fileserver port to the PC, etc. The
current list of user-contributed software includes:

pace@blitz.com (Pace Willisson) has ported the Plan 9 authentication server to
Unix, to allow Plan 9 terminals to function without a Plan 9 cpu server
performing authentication. For more details, see
http://www.ecf.toronto.edu/plan9/info/unixauth

avg@postman.ncube.com (Vadim Antonov) has provided some information on
converting terminals into multi-user hybrid cpu servers and terminals. For his
posting to 9fans, see http://www.ecf.toronto.edu/plan9/info/misc/cpu_terminal

Other software is available on the Plan 9 user community ftp site,
ftp.ecf.toronto.edu:/pub/plan9

If anyone would like their projects listed here, let me know. This should help
prevent duplication of effort, and increase involvment from the 'net community.
If you are looking for a list of suggested project topics, see
http://www.ecf.toronto.edu/plan9/info/projects

Subject: How can I get more detailed technical information?

The Internet site plan9.att.com stores a collection of papers about the system
in the plan9 directory; they are available for anonymous FTP. For a hypertext
interface to these papers, see http://plan9.att.com/plan9/vol2.html For the
manual pages, see http://plan9.att.com/plan9/vol1.html

Copyright © 1995 AT&T. All rights reserved.






^ permalink raw reply	[flat|nested] 2+ messages in thread

* Plan 9 from AT&T Bell Labs - Frequently Asked Questions [FAQ]
@ 1995-09-07 16:45 Steve
  0 siblings, 0 replies; 2+ messages in thread
From: Steve @ 1995-09-07 16:45 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=UTF-8, Size: 22000 bytes --]

Archive-name: Plan9-faq
Last-modified: 7 Sept 1995
Posting-Frequency: monthly
URL: http://www.ecf.toronto.edu/plan9/plan9faq.html

Welcome to comp.os.plan9.

Before we Begin:

This document answers frequently asked questions about the Plan 9 operating
system.

Much of it was taken (with permission) from Dennis Ritchie's Plan 9 Q&A press
release, which was converted to html by Dave Presotto. If you've already seen
that Bell Labs Plan 9 FAQ , you may want to skip straight to the following
sections:

   * How can I Obtain Plan 9?
   * What PC hardware works well with Plan 9?
   * How do I Install Plan 9?
   * Are there any known problems?
   * How do I upgrade from the old release of Plan 9?
   * Is anyone working on a port for my system?
   * What can I do to help?

A hypertext version of this FAQ is available on my Plan 9 web page, URL
http://www.ecf.toronto.edu/plan9/

Most of the links in the html version of this document point to files on the
Plan 9 homepage at Bell Labs, URL http://plan9.att.com/plan9/index.html

This is a preliminary draft of the FAQ, and I'm sure it will evolve quickly now
that comp.os.plan9 has been created. Please forward any comments or suggestions
to steve@ecf.toronto.edu.

This FAQ will be posted to comp.answers and news.answers, once the *.answers
moderators approve it (which may take 4 weeks or so).

Note that when you see sentences written in the first person, it is the Plan 9
developers speaking, not me.

Introduction:

   * What is Plan 9?
   * What is its relation to other operating systems?
   * What are its key ideas?
   * What are the advantages to this approach?

Hardware and Software:

   * What platforms does it run on?
   * Is anyone working on a port for my system?
   * Does it support symmetric multiprocessing?
   * Is it object-oriented?
   * What about applications and tools?
   * What about application portability?
   * What resources does it need?
   * What GUIs does it support?
   * What character set does it use?
   * What about security and user authentication?
   * How does it communicate with other systems?

Installation:

   * What PC hardware works well with Plan 9?
   * How do I Install Plan 9?
   * Are there any known problems?
   * It doesn't work for me, how should I troubleshoot?
   * How do I upgrade from the old release of Plan 9?

General Information:

   * Who is using Plan 9?
   * Where did the name come from?
   * What are the plans for Plan 9?
   * How can I Obtain Plan 9?
   * What can I do to help?
   * How can I get more detailed technical information?

Introduction:

Subject: What is Plan 9?

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&T Bell Laboratories, the same group that developed Unix, C, and C++.

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.

Subject: What is its relation to other operating systems?

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.

Subject: What are its key ideas?

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.

Subject: What are the advantages to this approach?

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.

The Plan 9 window system (called 8½) 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.

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 tar and cpio 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.

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.

Hardware and Software:

Subject: What platforms does it run on?

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.

The systems supported under each architecture are:
386 - 386, 486, Pentium and clones (see the What PC hardware works well with
Plan 9? section of this faq for more information;
MIPS - MIPS Magnum 3000, 6280, SGI Power Series, Indigo, Challenge M;
SPARC - SLC (4/20) Sparcstation 2 (4/75) have been tested, Sparcstation 1
(4/60), IPC (4/40), 1+ (4/65), ELC (4/25), and IPX (4/50) will probably work
too;
68020 - Gnot, 68040 NeXTstation.

More details are available in The Various Ports at URL
http://plan9.att.com/plan9/doc/port.html

Subject: Is anyone working on a port for my system?

The system does not run on an SGI Indy yet, but forsyth will probably get it
working once he has the time.

Neither the Amiga nor Atari are supported.

forsyth ported an older version of Plan 9 to the Sun-3/50 and 3/60. David Hogan
has the new release working on Sun-3/50 and 3/60s. He will make it available
once he tidies it up.

David Hogan is also working on a port to the DEC Alpha architecture. He will
announce it when it is ready.

Subject: Does it support symmetric multiprocessing?

Yes. Our CPU and file servers are both multi-processor machines.

Subject: Is it object-oriented?

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.

Subject: What about applications and tools?

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. Alef is a new language
that provides threads, inter-process and inter-machine communication through
typed channels, and abstract data types. Acid is a programmable debugger that
understands multiple-process programs, and the programs it is debugging may be
running on a hardware platform different from its own. Acme 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.

Subject: What about application portability?

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.

Subject: What resources does it need?

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 diskette can 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).

On the other hand, the system can grow. Our own installation at AT&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.

Subject: What GUIs does it support?

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. [Note: The X server only runs on MIPS systems. No one at Bell
Labs is working on the port, so they didn't ship it with the CDROM]

Subject: What character set does it use?

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 grep for Cyrillic strings in
a file with a Japanese name and see the results appear correctly on the
terminal.

Subject: What about security and user authentication?

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.

Subject: How does it communicate with other systems?

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.

Installation:

Subject: What PC hardware works well with Plan 9?

If you don't want to spend time fiddling with and swapping PC hardware, you may
prefer to buy hardware that is in use within Bell Labs. If so, have a look at
the What We Use document by jmk@plan9.att.com, at
http://www.ecf.toronto.edu/plan9/clone.html

Recently, jmk@plan9.att.com wrote:
Subject: re: PC-clone hardware
This is a little out of my experience, but if I had to buy a 486 motherboard
I'd look for one that would take a DX4-100 and even one of the new Cyrix M1sc
chips (i.e. handles 3.3V CPUs). Plus I'd opt for a PCI+ISA board with I/O on
the motherboard (I think only AIR makes a 486 MB with PCI+EISA). SIS or Intel
chipset should be OK.
Our only other experience with 486 motherboards has been Micronics in some old
Gateways. There have been troubles there with the Phoenix BIOS and accessing
the BIOS ROM areas from Plan 9, but that's probably because we don't make any
attempt to work out the 8/16-bit BIOS stuff.

If you have time for netnews, the OS/2 and Linux newsgroups probably have some
useful information.

Another useful web page on PC hardware (with a BSDi bias) is PC Hardware Hints
and Kinks at http://www.vix.com/pc-hw/

Subject: How do I Install Plan 9?

The installation is designed to be run from a PC. Note that Plan 9 uses an
unallocated portion at the end of the disk, and you won't see this partition
with the FDISK program.
  1.  Back up your system.
  2.  Make sure you've backed up your system.
  3.  Read Installing the Plan 9 Distribution at URL
     http://plan9.att.com/plan9/doc/install.html
  4.  Check the errata page (at http://plan9.att.com/plan9/errata.html) for
     problems and fixes found since the distribution was frozen.
  5.  Here are some more tips that have been reported to the 9fans list:
     Subject: three button mice
     From: forsyth@plan9.cs.york.ac.uk

     aux/mouse -dC $mouseport

     usually does the trick. many three button mice do not respond to
     aux/mouse's guessing protocol, but you can tell it what to use as the
     default. on starting the demonstration system, answer `n' when the system
     asks if you want to enter the window system. once you type the aux/mouse
     command above, you should be able to move the mouse. you can then enter
     the window system and enjoy yourself. (while you're there, you can change
     /rc/bin/termrc to add the -dC option to the aux/mouse commands there.) of
     course, if you still can't move the mouse, you'll need to try another
     default.

     -d isn't documented in the manual page, but that fact is documented
     somewhere (i can't find it now). perhaps it was in the Errata.

Subject: Are there any known problems?

From: jmk@plan9.att.com
To: 9fans@cse.psu.edu
Date: Sat, 2 Sep 1995 10:14:51 -0400
Subject: fixes in the works

We have fixes in the works (with help from others) for the floppy disc read and
Adaptec 1542CF timeout problems. These will hopefully be available for pick-up
by ftp by this time next week. Source updates based on diffs to the
distribution source should also start appearing soon.

The hard disc partitioning problem will take longer to fix, but I've started
working on it. Unfortunately it means doing a crash-course in booting OS/2 and
Linux.

Subject: It doesn't work for me, how should I troubleshoot?

From: prb@bsdi.COM (Paul Borman)
The first three things to do when having SCSI problems:

1) Check your cables and terminators
2) Check your cables and terminators
3) Check your cables and terminators

We have found under BSD/OS that this is the single largest cause of weird SCSI
problems. Active terminators are best. If you run external cables you need to
get high quality ones. We did discover that with adaptec and poorer quality
terminators (like the ones that come on most disk drives) that if you had an
internal and external chain that you had to leave the terminators in the card
(so you would have 3 sets). This is clearly wrong, but it is what it took for
some combinations. Also, don't crank of the speed on the card.

Subject: How do I upgrade from the old release of Plan 9?

The 9P protocol has changed in the second edition, due to changes in the way
that Plan 9 does its authentication. For those using Unix-based (u9fs) file
servers, you will have to compile and install the new version of u9fs.

For those using the standard Plan 9 file servers, ken@plan9.att.com reports
that the disk format in the new release is the same, so there should be no
problems running the new FS code on old disks.

General Information:

Subject: Who is using Plan 9?

[this section could use some more work - Steve]

The first (1993) release of Plan 9 was licenced by 200 colleges and
universities.

With the public release of Plan 9 and the free demo PC version, many people who
were not able to use the old version of Plan 9 are now using it. The number of
copies sold is not known yet.

There is exploratory use in commercial companies, both within AT&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&T 800-number directory by which WWW users can find the
toll-free numbers of AT&T 800-number advertisers.

Subject: Where did the name come from?

It was chosen in our tradition of selecting names that make marketeers wince.
We also wished to pay homage to the famous film, Plan 9 From Outer Space.

Subject: What are the plans for Plan 9?

Plan 9 was developed within the research organization of AT&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&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.

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.

Subject: How can I Obtain Plan 9?

Complete information for purchasing the Plan 9 distribution or ftp'ing the free
PC trial version is available at URL http://plan9.att.com/plan9/distrib.html

Any bookshop should be able to order it for you, if you give them one of the
ISBN numbers listed on that page.

To find out whether Plan 9 supports your hardware, read The Various Ports at
URL http://plan9.att.com/plan9/doc/port.html

Subject: What can I do to help?

The best way to help is to write something that other people in the Plan 9 user
community could use, or to port the system to new platforms. Several people
have already made their applications available, such as an http server,
fileserver port to the PC, etc. The current list of user-community projects
includes:

pace@blitz.com (Pace Willisson) has ported the Plan 9 authentication server to
Unix, to allow Plan 9 terminals to function without a Plan 9 cpu server
performing authentication. He wrote:
The basic idea is that I wrote a SOCK_RAW based IL driver, and then imported
the main parts of the plan 9 auth.srv program. You probably don't need this
unless you have at least 3 computers: a unix system that you have to keep
running even when playing with plan 9, plus 2 other computers to run a plan 9
file server and a plan 9 terminal.
If you would like to receive a copy of this program, please send email to
stating that:

you are a plan 9 licensee
you are a United States citizen
your email is delivered in the United States

I'll send a uuencoded, gzipped tar file by return email. To international
users, I apologize for the silly US export rules, but I don't know what else I
can do.

Pace later added:
I've separated the encryption stuff from my IL driver, and put the exportable
parts up for anonymous ftp at
ftp://ftp.blitz.com/pub/il.tar.gz

If anyone would like their projects listed here, let me know. This could help
prevent duplication of effort, and increase involvment from the 'net community.

Subject: How can I get more detailed technical information?

The Internet site plan9.att.com stores a collection of papers about the system
in the plan9 directory; they are available for anonymous FTP.

Copyright © 1995 AT&T. All rights reserved.
-- 
Steve Kotsopoulos  P.Eng.                         steve@ecf.toronto.edu
Systems Analyst,  Engineering Computing Facility, University of Toronto
http://www.ecf.toronto.edu/staff/steve/






^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~1995-11-02 21:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1995-11-02 21:34 Plan 9 from AT&T Bell Labs - Frequently Asked Questions [FAQ] Steve
  -- strict thread matches above, loose matches on Subject: below --
1995-09-07 16:45 Steve

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).