Inferno (operating system)
From Wikipedia, the free encyclopedia
Inferno | |
Website | Vita Nuova |
---|---|
Company/ developer |
Bell Labs / Vita Nuova Holdings |
OS family | "Unix successor" |
Source model | Open source |
Latest stable release | Fourth Edition / February 2, 2007 |
Supported platforms | x86, MIPS, XScale, ARM, PowerPC, SPARC |
Kernel type | Virtual machine |
License | GPL / LGPL / MIT |
Working state | Current |
Inferno is an operating system for creating and supporting distributed services. The name of the operating system and of its associated programs, as well as of the company Vita Nuova Holdings that produces it, were inspired by the literary works of Dante Alighieri, particularly the Divine Comedy.
Inferno runs in hosted mode under several different operating systems or natively on a range of hardware architectures. In each configuration the operating system presents the same standard interfaces to its applications. A communications protocol called Styx is applied uniformly to access both local and remote resources. As of the fourth edition of Inferno, Styx is identical to Plan 9's newer version of its hallmark 9P protocol, 9P2000.
Applications are written in the type-safe Limbo programming language, whose binary representation is identical over all platforms, and may be executed using just-in-time compilation techniques in a virtual machine.
Contents |
[edit] Design principles
Inferno was first made in 1995 by members of Bell Labs' Computer Science Research division to bring some principles of Plan 9 from Bell Labs over to other systems. Inferno is a distributed operating system based on three basic principles borrowed from Plan 9:
- Resources as files: all resources are represented as files within a hierarchical file system
- Namespaces: the application 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
Please help improve this section by expanding it. Further information might be found on the talk page or at requests for expansion. |
[edit] Plan 9 ancestry
Inferno and Plan 9 share a common ancestor, the working version of Plan 9 from about 1996. They share the same design principles, though there are differences:
Plan 9 | Inferno | |
---|---|---|
Userland | Runs native code, mostly written in C programming language with a small amount of code in assembly language | Runs through a bytecode interpreter or just-in-time compiler called Dis, mostly written in the Limbo programming language |
Kernel | Hybrid kernel | Old Plan 9 kernel, modified; includes a virtual machine |
Kernel modes | Switches between user mode (userland) and supervisor mode (kernel) | Never leaves supervisor mode (kernel) but provides protection through the use of a virtual machine. |
Inferno is somewhat similar to Java Virtual Machine.
[edit] Networking
IEEE Internet Computing, March-April 1997 included an ad for Inferno networking software. It claimed that various devices could now communicate over "any network" including the Internet, telecommunications and LANs. The ad stated that video games could talk to computers (a PlayStation was pictured), cell phones could access email and there was voice mail via TV.
[edit] Ports
Inferno runs directly on native hardware and also as an application providing a virtual operating system which runs on other platforms. Applications can be developed and run on all Inferno platforms without modification or recompilation.
Native ports include: x86, MIPS, XScale, 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 a plugin to Internet Explorer. According to Vita Nuova plugins for others browsers are underway.[1]
[edit] License
Inferno 4th edition was released in early 2005 as free software. Specifically, it was dual-licensed under two sets of licences. Users could either obtain it under a set of free software licences, or they could obtain it under a more traditional commercial licence. In the case of the free software licence scheme, different parts of the system were covered by different licences, including the GNU General Public License, the GNU Lesser General Public License, the Lucent Public License, and the MIT License. Subsequently Vita Nuova has made it possible to acquire the entire system (excluding the fonts, which are sub-licenced from Bigelow and Holmes) under the GPLv2. All three licence options are currently available.
[edit] Books
The textbook Inferno Programming with Limbo ISBN 0470843527 (Chichester: John Wiley & Sons, 2003), by Phillip Stanley-Marbell, describes the 3rd edition of the Inferno operating system, though it focuses more on the Limbo language and its interfaces to the Inferno system, than on the Inferno system itself. For example, it provides little information on Inferno's versatile command shell, which is understandable since it is a programming language textbook. Another book "The Inferno Programming Book: An Introduction to Programming for the Inferno Distributed System", by Martin Atkins, Charles Forsyth, Rob Pike and Howard Trickey, was intended to provide the operating-system-centric point of view, but was unfortunately never completed/released by its authors.
[edit] References
[edit] See also
[edit] External links
- Inferno Project on Google Code
- Inferno Fourth Edition Download, including source code
- Documentation papers for the latest inferno release.
- Other documents of interest.
- Inferno design principles
- Mailing list and other resources
- Screenshots
- Developing with Inferno Blog
- Inferno browser plugin
- Inferno projects at the GSoC.
- Inferno on OLPC
Other links
- Unofficial FAQ
- Inferno programmer's notebook - A journal made by an Inferno user
- Inferno tutorial at the University of Reading e-Science Centre
- Copy of the original Lucent Inferno website
- Archives of the original Inferno mailing list