This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "Inferno" operating system – news ·newspapers ·books ·scholar ·JSTOR(April 2010) (Learn how and when to remove this message) |
| Inferno | |
|---|---|
Inferno 4th Edition | |
| Developer | Bell Labs, Vita Nuova Holdings |
| Written in | C,[1]Limbo |
| Working state | Discontinued |
| Source model | Open-source |
| Initial release | 1996; 30 years ago (1996) |
| Latest release | 4th Edition / March 28, 2015; 10 years ago (2015-03-28) |
| Repository | |
| Available in | English |
| Supported platforms | ARM,PA-RISC,MIPS,PowerPC,SPARC,x86 |
| Kernel type | Virtual machine (Dis) |
| License | 2021:MIT[2][3] 2005: Dual[a][4][5] 2003: Dual[b][6][7][8][9] 2000: Inferno[c][10] Original:Proprietary |
| Preceded by | Plan 9 |
| Official website | www |
Inferno is adistributed operating system started atBell Labs and now developed and maintained byVita Nuova Holdings asfree software under theMIT License.[2][3] Inferno was based on the experience gained withPlan 9 from Bell Labs, and the further research of Bell Labs into operating systems, languages, on-the-fly compilers, graphics, security, networking and portability. The name of the operating system, many of its associated programs, and that of the current company, were inspired byDante Alighieri'sDivine Comedy. In Italian,Inferno means "hell", of which there are nine circles in Dante'sDivine Comedy.
Inferno was created in 1995 by members ofBell Labs' Computer Science Research division to bring ideas derived from their previous operating system,Plan 9 from Bell Labs, to a wider range of devices and networks. Inferno is adistributed operating system based on three basic principles:
To handle the diversity of network environments it was intended to be used in, the designers decided avirtual machine (VM) was a necessary component of the system. This is the same conclusion of the Oak project that becameJava, but arrived at independently. TheDis virtual machine is aregister machine intended to closely match the architecture it runs on, in contrast to thestack machine of theJava virtual machine. An advantage of this approach is the relative simplicity of creating ajust-in-time compiler for new architectures.
The virtual machine provides memory management designed to be efficient on devices with as little as 1 MiB of memory and without memory-mapping hardware. Itsgarbage collector is a hybrid of reference counting and a real-time coloring collector that gathers cyclic data.[11]
The Inferno kernel contains the virtual machine, on-the-fly compiler, scheduler, devices, protocol stacks, the name space evaluator for the file name space of each process, and the root of the file system hierarchy. The kernel also includes some built-in modules that provide interfaces of the virtual operating system, such as system calls, graphics, security, and math modules.
The Bell Labs Technical Journal paper introducing Inferno listed several dimensions of portability and versatility provided by the OS:[1]
These design choices were directed to provide standard interfaces that free content and service providers from concern of the details of diverse hardware, software, and networks over which their content is delivered.
This sectionneeds expansion. You can help byadding missing information.(April 2019) |
Inferno runs either as a native operating system or as a hosted application on several existing operating systems, including Linux, Windows, Plan 9, FreeBSD, Solaris, Mac OS X, and Irix. Supported processor architectures include Intel x86, ARM, PowerPC, and SPARC.[12][13]
Applications are written in the Limbo programming language, which provides static typing, garbage collection, and built-in concurrency features. Limbo code is compiled into architecture-independent bytecode executed by the Dis virtual machine. The Dis VM can interpret the bytecode or compile it just-in-time into native instructions, allowing applications to run consistently across different platforms.[12][13]
All resources in Inferno, such as devices, services, and network connections, are represented as files in a hierarchical namespace and accessed using standard file operations likeopen,read,write, andclose. Inferno uses the Styx protocol, equivalent to Plan 9's 9P2000, to interact with both local and remote resources in a uniform manner.[12][13]
Security features include per-process namespaces, authentication, and encryption. Applications operate within restricted namespaces, limiting their access to only authorized resources. The system supports a range of cryptographic protocols, including RSA, Diffie–Hellman, and symmetric encryption methods such as RC4 and DES.[12]
Inferno provides a full development environment that includes a compiler, graphical debugger, scripting tools, and libraries for networking and user interfaces. It supports dynamic module loading and can operate with low resource requirements, such as systems with 1 MB of memory.[12][13]

Inferno is a descendant ofPlan 9 from Bell Labs, 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 theUnix philosophy. Many of the command line tools in Inferno were Plan 9 tools that were translated to Limbo.
In the mid-1990s, Plan 9 development was set aside in favor of Inferno.[14]The new system's existence was leaked by Dennis Ritchie in early 1996, after less than a year of development on the system, and publicly presented later that year as a competitor to Java. At the same time, Bell Labs' parent companyAT&T licensed Java technology fromSun Microsystems.[15]
In March–April 1997IEEE Internet Computing included an advertisement for Inferno networking software. It claimed that various devices could communicate over "any network" including the Internet, telecommunications and LANs. The advertisement stated that video games could talk to computers,–aPlayStation was pictured–cell phones could access email and voice mail was available via TV.
Lucent used Inferno in at least two internal products: the Lucent VPN Firewall Brick, and the Lucent Pathstar phone switch. They initially tried to sell source code licenses of Inferno but found few buyers. Lucent did little marketing and missed the importance of the Internet and Inferno's relation to it. During the same timeSun Microsystems was heavily marketing its ownJava programming language, which was targeting a similar market, with analogous technology, that worked inweb browsers and also filled the demand forobject-oriented languages popular at that time. Lucent licensed Java from Sun, claiming that all Inferno devices would be made to run Java. A Java byte code to Dis byte code translator was written to facilitate that. However, Inferno still did not find customers.
The Inferno Business Unit closed after three years, and was sold to Vita Nuova Holdings. Vita Nuova continued development and offered commercial licenses to the complete system, and free downloads and licenses (notGPL compatible) for all of the system except the kernel and VM. They ported the software to new hardware and focused on distributed applications. Eventually, Vita Nuova released the 4th edition under more commonfree software licenses, and in 2021 they relicensed all editions under mainly theMIT License.[6][2][3]
| Date | Release | Comment |
|---|---|---|
| 1996 | Inferno Beta | Released by Bell Labs |
| May 1997 | Inferno Release 1.0 | Winter 1997 Bell Labs Technical Journal Article |
| July 1999 | Inferno 2nd Edition | Released by Lucent's Inferno Business Unit |
| June 2001 | Inferno 3rd Edition | Released by Vita Nuova |
| 2004 | Inferno 4th Edition | Open Source release; changes to many interfaces (incompatible with earlier editions); includes support for 9P2000. |
Inferno runs on native hardware directly and also as an application providing a virtual operating system which runs on other platforms. Programs can be developed and run on all Inferno platforms without modifying or recompiling.
Native ports include these architectures:x86,MIPS,ARM,PowerPC,SPARC.
Hosted or virtual OS ports include:Microsoft Windows,Linux,FreeBSD,Plan 9,Mac OS X,Solaris,IRIX,UnixWare.
Inferno can also be hosted by aplugin toInternet Explorer.[16] Vita Nuova said that plugins for other browsers were under development, but they were never released.[17]
Inferno has also been ported toOpenmoko,[18]Nintendo DS,[19]SheevaPlug,[20] andAndroid.[21][22]
Inferno 4th edition was released in early 2005 asfree software. Specifically, it wasdual-licensed under two structures.[6] Users could either obtain it under a set offree software licenses, or they could obtain it under a proprietary license. In the case of the free software license scheme, different parts of the system were covered by different licenses, including theGNU General Public License, theGNU Lesser General Public License, theLucent Public License, and theMIT License, excluding the fonts, which are sub-licensed from Bigelow and Holmes.
In March 2021, all editions were relicensed under mainly theMIT License.[2][3]
The bulk of Inferno 4th Edition is provided under the `MIT' licence.
The Free Software Scheme" and "Commercial Developer Licence
Vita Nuova Liberal Source Licence" and "Vita Nuova Commercial Developer Licence