Comparison to contemporary operating systems In 1991, Plan 9's designers compared their system to other early nineties operating systems in terms of size, showing that the source code for a minimal ("working, albeit not very useful") version was less than one-fifth the size of a
Mach microkernel without any device drivers (5899 or 4622
lines of code for Plan 9, depending on metric, vs. 25530 lines). The complete kernel comprised 18000 lines of code. (According to a 2006 count, the kernel was then some 150,000 lines, but this was compared against more than 4.8 million in
Linux.) Within the operating systems research community, as well as the commercial Unix world, other attempts at achieving distributed computing and remote filesystem access were made concurrently with the Plan 9 design effort. These included the
Network File System and the associated
vnode architecture developed at
Sun Microsystems, and more radical departures from the Unix model such as the
Sprite OS from
UC Berkeley. Sprite developer Brent Welch points out that the SunOS vnode architecture is limited compared to Plan 9's capabilities in that it does not support remote device access and remote inter-process communication cleanly, even though it could have, had the preexisting
UNIX domain sockets (which "can essentially be used to name user-level servers") been integrated with the vnode architecture. One critique of the "everything is a file", communication-by-textual-message design of Plan 9 pointed out limitations of this paradigm compared to the
typed interfaces of Sun's
object-oriented operating system,
Spring: A later retrospective comparison of Plan 9, Sprite and a third contemporary distributed research operating system,
Amoeba, found that
Impact X window manager was inspired by
acme, a text editor from the Plan 9 project.
Derivatives and forks •
Inferno is a descendant of Plan 9, and shares many design concepts and even source code in the kernel, particularly around devices and the Styx/9P2000 protocol. Inferno shares with Plan 9 the Unix heritage from Bell Labs and the
Unix philosophy. Many of the command line tools in Inferno were Plan 9 tools that were translated to
Limbo. •
9atom augments the Plan 9 distribution with the addition of a 386
PAE kernel, an amd64 cpu and terminal kernel, nupas, extra pc hardware support, IL and Ken's fs. Its home page hasn't been updated since 2013, and very little is known about its development or community. •
9front is a fork of Plan 9. It was started to remedy a perceived lack of devoted development resources inside Bell Labs, and has accumulated various fixes and improvements. •
9legacy is an alternative distribution. It includes a set of patches based on the current Plan 9 distribution. •
Akaros is designed for many-core architectures and large-scale SMP systems. •
Harvey OS (discontinued) is an effort to get the Plan 9 code working with gcc and clang. •
JehanneOS is an experimental OS derived from Plan 9. Its userland and modules are mostly derived from 9front, its build system from Harvey OS, and its kernel is a fork of the 9k 64-bit Plan9 kernel. •
NIX is a fork of Plan9 aimed at multicore systems and cloud computing. •
node9 is a scripted derivative of Plan9/Inferno that replaces the
Limbo programming language and DIS virtual machine with the
Lua language and LuaJit virtual machine. It also replaces the Inferno per-platform hosted I/O with Node.js' libuv eventing and I/O for consistent, cross-platform hosting. It's a proof-of-concept that demonstrates that a distributed OS can be constructed from per-process namespaces and generic cloud elements to construct a single-system-image of arbitrary size. •
Plan B designed to work in distributed environments where the set of available resources is different at different points in time. Originally based on the third edition Plan 9 kernel, Plan B was moved into user space to run on current Plan 9 systems. •
R9 is a reimplementation of the Plan 9 kernel on
Rust (although there is no port of the Rust programming language compiler to Plan 9). == License ==