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/