From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Tue, 11 Apr 1995 17:22:54 -0400 From: Steve Kotsopoulos steve@stealth.ecf.toronto.edu Subject: preliminary version of the FAQ Topicbox-Message-UUID: 0cbb3794-eac8-11e9-9e20-41e7f4b1d025 Message-ID: <19950411212254.Kg2NBSG4urYpbuFnDS8mCVCFMV-Ed2QiSGqlf4uCFRc@z> PLAN 9 (TM) FROM AT&T BELL LABORATORIES FAQ Here is a preliminary version of the FAQ I'm working on. Much of it was taken (with permission) from Dennis Ritchie's Plan 9 Q&A press release. If you've already seen that, you can skip straight to the How can I help? section. A hypertext version of this FAQ is available on the Plan 9 web page, URL http://www.ecf.toronto.edu/plan9/ Please forward any comments or suggestions on 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? * 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? GENERAL INFORMATION * Who is using Plan 9? * Where did the name come from? * What are the plans for Plan 9? * How can I 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 1/2) 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. .As 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. 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 plaform 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 4MB 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). 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? A: 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. 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 .I 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. GENERAL INFORMATION SUBJECT: WHO IS USING PLAN 9? 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&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 the Bell Labs tradition of selecting names that make marketeers wince. They 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. Although not all the details have been determined, the intent is to make available a general distribution of the technology for non-commercial purposes, and also to be ready 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 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: Dave Letterman is re-writing the fortune program in Alef. George Bush is porting the system to the CM-5. Steven Spielberg is porting DOOM to Plan 9. etc. you get the idea ... 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. Other items on the todo list include getting the moderated newsgroup comp.os.plan9 created, etc. 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. Currently they are somewhat old; within a month a newer collection, including the current manual, will appear. Also, volunteers at the University of Toronto maintain a World Wide Web page, at URL http://www.ecf.toronto.edu/plan9/.