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


[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

Lucent advert for Inferno in IEEE Internet Computing, Volume 1, Number 2, March-April 1997
Lucent advert for Inferno in IEEE Internet Computing, Volume 1, Number 2, March-April 1997

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

  1. ^ Plugins, Vita Nuova.

[edit] See also

[edit] External links

Other links