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 file system rather than specialized interfaces. Plan 9 aims to provide users with a workstation-independent working environment through the use of the 9P protocols. Plan 9 continues to be used and developed in some circles as a research operating system and by hobbyists. The name “Plan 9 from Bell Labs” is a reference to the classic science fiction B-movie Plan 9 from Outer Space
All resources as files
One of the key features adopted from Unix was the use of the file system to access resources. Before Unix, most operating systems had different mechanisms for accessing different types of devices. For example, the application-programming interface (API) to access a disk drive was vastly different from the API used to send and receive data from a serial port, which in turn was different from the API used to send data to a printer. Unix attempted to remove these distinctions. All device drivers were required to support meaningful read and write operations as a means of control. This lets programmers use utilities like mv and cp to send data from one device to another without being aware of the underlying implementation details.
However, at the time, many key concepts (such as the control of process state) did not seem to map neatly onto files. As new features like Berkeley sockets and the X Window System were added, they were incorporated to exist outside the file system. New hardware features (such as the ability to eject a CD in software) also encouraged the use of hardware-specific control mechanisms like the ioctl system call.
The Plan 9 research project rejected these different approaches. Each Plan 9 program views all available resources, including networking and the user-interface resources (like the window it is running in), as part of a hierarchical file system, rather than specialized interfaces.
Plan 9 uses Unicode throughout the system. UTF-8 was invented by Ken Thompson to be used as the native encoding in Plan 9 and the whole system was converted to general use in 1992. Note that, Plan 9 only supports the codes defined in the Basic Multilingual Plane of Unicode.