Inferno (operating system)
Developer | Bell Labs/Vita Nuova |
---|---|
OS family | "Unix successor" |
Working state | Current |
Source model | Open source |
Latest release | Fourth Edition / Febrary 2, 2007 |
Repository | |
Kernel type | Virtual machine |
License | GPL/LGPL/MIT |
Official website | Vita Nuova |
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 that produced 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 is executed using just-in-time compilation techniques in a virtual machine.
Design principles
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: 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 (9p2000), is used to access all resources, both local and remote
This section needs expansion. You can help by adding to it. |
Plan 9 ancestry
Inferno and Plan 9 share a common ancestor, an operating system from about 1996. They share the same design principles, though there are differences:
- Plan 9 userland runs native code, mostly written in C programming language with a small amount of code in assembly language, whereas Inferno userland runs through a bytecode interpreter or just-in-time compiler called Dis, mostly written in the Limbo programming language.
- The Plan 9 kernel is a hybrid kernel, whereas the Inferno kernel is an old Plan 9 kernel with unnecessary cruft stripped off and includes a virtual machine.
- The Plan 9 kernel switches between user mode (userland) and supervisor mode (kernel), whereas Inferno never leaves supervisor mode (kernel) but provides protection through the use of a virtual machine.
Inferno is somewhat similar to Java Virtual Machine.
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]
Licence
Inferno 4th edition was released in early 2005 as free software. Specifically, it was dual-licensed under two sets of licences. Users can either obtain it under a set of free software licences, or they can obtain it under a mixture that includes licences that don't grant the freedoms of free software licences. The free software version uses licences such as the GNU General Public License, the GNU Lesser General Public License, the Lucent Public License, and the MIT Licence.
The non-free option is for people who do not want to be bound by the copyleft requirement to "share and share alike". For the non-free option, Vita Nouva requires a mandatory per-copy fee.
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.
References
See also
External links
Vita Nuova
- Inferno home page
- Inferno browser plugin
- Inferno Fourth Edition Download, including source code
- Inferno design principles
- Documentation
- Mailing list and other resources
- Screenshots
- Developing with Inferno Blog
- Project on Google Code with SCM
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