Plan 9 from Bell Labs is a distributed operating system, primarily used as a research vehicle. It was developed as the research successor to Unix by the Computing Sciences Research Center at Bell Labs between the mid-1980s and 2002. Plan 9 is most notable for representing all system interfaces, including those required for networking and the user-interface, through the filesystem rather than specialized interfaces. Plan 9 continues to be used in some circles as a research operating system and by hobbyists.
The name comes from the science fiction movie Plan 9 from Outer Space.
Development continues, led by a team of Bell Labs and MIT members and contributions by the wider community; daily minor releases are made available as ISO images. The development source tree is accessible over the 9P and HTTP protocols and are used to keep an installation up to date.
UTF-8 was invented by Ken Thompson to be used as the native encoding in Plan 9 and the whole system was converted to use it everywhere in 1992. Plan 9 uses a windowing system called rio.
Plan 9 extended the system beyond files to "names", that is, a unique path to any object whether it be a file, screen, user, or computer. All were handled using the existing Unix standards, but extended such that any object could be named and addressed (similar in concept to the more widely known URI system of the world wide web). In Unix, devices such as printers had been represented by names using software converters in /dev, but these addressed only devices attached by hardware, and did not address networked devices. Under Plan 9 printers were as virtualized as files, and both could be accessed over the network from any workstation.
Another Plan 9 innovation was the ability for users to have different names for the same "real world" objects. Each user could create a personalized environment by collecting various objects into their namespace. Unix has a similar concept in which users gain privileges by being copied from another user, but Plan 9 extends this to all objects. Users can easily spawn "clones" of themselves, modify them, and then remove them without affecting the resources from which they were created.
/bin (applications) directory can be bound to one's own, and then this directory will hold both local and remote applications and the user can access both transparently. Unix links and filesystem mounts, made the original directory disappear. Using the same system, under Plan 9 external devices and resources can be bound to /dev, making all devices network devices without additional code.
/proc directory, in which all running applications were listed. Applications are named objects under Plan 9, like anything else, and therefore it made sense to list them in a directory, like anything else. This simple change has fairly useful side-effects, allowing the user to use tools such as ls to search and sort the process list, which was previously available only to specialized tools. But even more interesting, users could union remote applications into their namespace as well, interacting with them as if they were local, and making network-wide processing almost a triviality.
The result is a distributed computing environment assembled from separate machines – terminals that sit on users' desks, file servers that store permanent data, and other servers that provide faster CPUs, user authentication, and network gateways, all using the existing hierarchical directory/name system familiar to most computer users. A user could "build" a system by collecting up directories on fileservers, applications running on servers, printers on the network and then bind them all together into their account running on a terminal.
Key to supporting the network transparency of Plan 9 was a new low-level networking protocol known as 9P. The 9P protocol and its implementation connected named network objects and presented a file-like system interface. 9P is a fast byte-oriented (rather than block-oriented) distributed file system that can virtualize any object, not only those presented by an NFS server on a remote machine. The protocol is used to refer to and communicate with processes, programs, and data, including both the user interface and the network. With the release of the 4th edition, it was modified and renamed 9P2000.
However, Plan 9 itself has never surpassed Unix in popularity, and remains primarily a research tool. Plan 9 has been criticized as "seem* to function mainly as a device for generating interesting papers on operating-systems research." Eric S. Raymond in his book The Art of Unix Programming speculates on Plan 9's lack of acceptance:
Plan 9 proponents and developers claim that the problems hindering its adoption have been solved, and its original goals as a distributed system, development environment, and research platform have been met, and that it enjoys moderate but growing popularity. Inferno, through its hosted capabilities, has been a vehicle to bring Plan 9 technologies to other systems as part of heterogeneous computing grids.
Inferno is a derivative product, originally started by the same group that created Plan 9, and now developed by a British company, Vita Nuova. Inferno shares many of the same design concepts as Plan 9, but uses a new application programming language, Limbo, and an accompanying virtual machine, Dis. Inferno is marketed as an open source embedded operating system.
Plan 9 from User Space (or plan9port or p9p) is a port of most of the notable Plan 9 libraries and applications to Unix-like operating systems.
See the article about Plan 9 applications for a more complete list.
Lectures
Other
Free software operating systems | Real-time operating systems | Embedded operating systems | Plan 9 from Bell Labs | Computing platforms | Operating systems
Plan 9 (Betriebssystem) | Plan 9 | Plano 9 | Plan 9 from Bell Labs | Plan 9 | Plan 9 from Bell Labs | Plan 9 | Plan 9 from Bell Labs | Plan 9 | Plan 9 | Plan 9 | Plan 9 | Plan 9 | Plan 9 | Plan 9 | Plan 9
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Plan 9 from Bell Labs".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world