Inferno (operating system)
This article needs additional citations for verification. (April 2010) |
Developer | Bell Labs, Vita Nuova Holdings |
---|---|
Written in | C,[1] Limbo |
Working state | Discontinued |
Source model | Open-source |
Initial release | 1996 |
Latest release | 4th Edition / March 28, 2015 |
Repository | |
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 a distributed operating system started at Bell Labs and now developed and maintained by Vita Nuova Holdings as free software under the MIT License.[2][3] Inferno was based on the experience gained with Plan 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 by Dante Alighieri's Divine Comedy. In Italian, Inferno means "hell", of which there are nine circles in Dante's Divine Comedy.
Design principles
Inferno was created in 1995 by members of Bell 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 a distributed operating system based on three basic principles:
- Resources as files: all resources are represented as files within a hierarchical file system
- Namespaces: a program's view of the network is a single, coherent namespace that appears as a hierarchical file system but may represent physically separated (locally or remotely) resources
- Standard communication protocol: a standard protocol, called Styx, is used to access all resources, both local and remote
To handle the diversity of network environments it was intended to be used in, the designers decided a
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. Its garbage 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, and the name space evaluator for each process' file name space, 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:[12]
- Portability across processors: it currently runs on architectures and is readily portable to others.
- Portability across environments: it runs as a stand-alone operating system on small terminals, and also as a user application under Bell Tru64). In all of these environments, Inferno programs see an identical interface.
- Distributed design: the identical environment is established at the user's terminal and at the server, and each may import the resources (for example, the attached I/O devices or networks) of the other. Aided by the communications facilities of the run-time system, programs may be split easily (and even dynamically) between client and server.
- Minimal hardware requirements: it runs useful applications stand-alone on machines with as little as 1 MiB of memory, and does not require memory-mapping hardware.
- Portable programs: Inferno programs are written in the Disbytecode, which can be run without modifications on all Inferno platforms.
- Dynamic adaptability: programs may, depending on the hardware or other resources available, load different program modules to perform a specific function. For example, a video player might use any of several different decoder modules.
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.
Features
This section needs expansion. You can help by adding to it. (April 2019) |
Inferno programs are portable across a broad mix of hardware, networks, and environments. It defines a
A
Most of the Inferno commands are very similar to
History
Inferno is a descendant of Plan 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 the Unix 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 company AT&T licensed Java technology from Sun Microsystems.[15]
In March–April 1997 IEEE 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,–a PlayStation was pictured–cell phones could access email and voice mail was available via TV.
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 (not GPL 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 common free software licenses, and in 2021 they relicensed all editions under mainly the MIT 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. |
Ports
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:
.Hosted or virtual OS ports include:
.Inferno can also be hosted by a plugin to Internet Explorer.[16] Vita Nuova said that plugins for other browsers were under development, but they were never released.[17]
Inferno has also been ported to Openmoko,[18] Nintendo DS,[19] SheevaPlug,[20] and Android.[21]
Distribution
Inferno 4th edition was released in early 2005 as
In March 2021, all editions were relicensed under mainly the MIT License.[2][3]
See also
Notes
References
- ^ Dorward, Sean; Pike, Rob; Presotto, David Leo; Ritchie, Dennis M.; Trickey, Howard; Winterbottom, Phil (1997). "The Inferno Operating System". Inferno Documentation. Vita Nuova. Retrieved 2014-05-02.
- ^ a b c d "Inferno Licence Terms". Archived from the original on 2021-04-27. Retrieved 2021-06-17.
MIT
- ^ a b c d "inferno-os — Bitbucket". Retrieved 2021-06-17.
- ^ "Inferno Licence Terms". Archived from the original on 2005-08-11. Retrieved 2021-06-17.
The Free Software Scheme" and "Commercial Developer Licence
- ^ "Vita Nuova Commercial Developer License - 9 November 2005". Archived from the original on 2006-05-02. Retrieved 2021-06-17.
- ^ a b c "Inferno Licence Terms". Archived from the original on 2003-10-26. Retrieved 2021-06-17.
Vita Nuova Liberal Source Licence" and "Vita Nuova Commercial Developer Licence
- ^ "Vita Nuova Liberal Source License - 29 May 2003". Archived from the original on 2005-04-05. Retrieved 2021-06-17.
- ^ "Vita Nuova Liberal Source License - 14 May 2003". Archived from the original on 2004-02-23. Retrieved 2021-06-17.
- ^ "Vita Nuova Commercial Developer License - 22 April 2003". Archived from the original on 2004-06-25. Retrieved 2021-06-17.
- ^ "Vita Nuova Inferno Subscription Licence". Archived from the original on 2000-12-08. Retrieved 2021-06-17.
- ^ Huelsbergen, Lorenz; Winterbottom, Phil (1998). Very Concurrent Mark and Sweep Garbage Collection without Fine-Grain Synchronization (PDF). 1998 International Symposium on Memory Management.
- ^ "The Inferno Operating System". Bell Labs Technical Journal (papers). 2 (1, Winter 1997). Vita Nuova Holdings: 5–18.
- ^ "Inferno - 1".
- ^ Pontin, Jason (19 February 1996). "AT&T reveals plans for Java competitor". InfoWorld. p. 3.
- ^ Hayes, Frank (19 February 1996). "Bell Lab's Inferno aims to rival Java". Computerworld. p. 6.
- ^ "Supporting code to allow Inferno to act as a plugin in various browsers".
- ^ Plugins, Vita Nuova.
- ^ "inferno-openmoko - inferno for openmoko neo freerunner - Google Project Hosting". Retrieved 2012-06-04.
- ^ Lukkien, Mechiel (2024-01-22), mjl-/inferno-ds, retrieved 2024-01-25
- ^ "inferno-kirkwood - Inferno for the Marvell Kirkwood/Sheevaplug - Google Project Hosting". Retrieved 2012-06-04.
- ^ floren (2011-09-29). "floren: inferno: wiki". Bitbucket.org. Retrieved 2012-06-04.
Further reading
- Stanley-Marbell, Phillip (2003). Inferno Programming with Limbo. Chichester: John Wiley & Sons. command shell, which is understandable since it is a programming language textbook.
- Stuart, Brian (2008). Principles of Operating Systems: Design and Applications. Course Technology. ISBN 978-1-4188-3769-3., uses Inferno for examples of operating system design.
- Atkins, Martin; Forsyth, Charles; Pike, Rob; Trickey, Howard. The Inferno Programming Book: An Introduction to Programming for the Inferno Distributed System. was intended to provide an operating-system-centric point of view, but was never completed.
External links
- Documentation papers for the latest inferno release.
- Inferno Fourth Edition Download, including source code.
- Mailing list and other resources.
- Ninetimes: News and articles about Inferno, Plan 9 and related technologies.
- Inferno programmer's notebook - A journal made by an Inferno developer.
- Try Inferno: free, in-browser access to a live Inferno system.
- Inferno OS to Raspberry Pi Labs: Porting Inferno OS to Raspberry Pi