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.
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
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.
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.
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.
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.
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
Other links