Inferno is a
distributed operating system started at
Bell Labs
Nokia Bell Labs, commonly referred to as ''Bell Labs'', is an American industrial research and development company owned by Finnish technology company Nokia. With headquarters located in Murray Hill, New Jersey, Murray Hill, New Jersey, the compa ...
and now developed and maintained by
Vita Nuova Holdings as
free software
Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
under the
MIT License
The MIT License is a permissive software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts very few restrictions on reuse and therefore has high license compatibility.
Unl ...
.
Inferno was based on the experience gained with
Plan 9 from Bell Labs
Plan 9 from Bell Labs is a distributed operating system which originated from the Computing Science Research Center (CSRC) at Bell Labs in the mid-1980s and built on UNIX concepts first developed there in the late 1960s. Since 2000, Plan 9 has ...
, 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
The ''Divine Comedy'' (, ) is an Italian narrative poetry, narrative poem by Dante Alighieri, begun and completed around 1321, shortly before the author's death. It is widely considered the pre-eminent work in Italian literature and one of ...
''. 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
Nokia Bell Labs, commonly referred to as ''Bell Labs'', is an American industrial research and development company owned by Finnish technology company Nokia. With headquarters located in Murray Hill, New Jersey, Murray Hill, New Jersey, the compa ...
' Computer Science Research division to bring ideas derived from their previous operating system,
Plan 9 from Bell Labs
Plan 9 from Bell Labs is a distributed operating system which originated from the Computing Science Research Center (CSRC) at Bell Labs in the mid-1980s and built on UNIX concepts first developed there in the late 1960s. Since 2000, Plan 9 has ...
, to a wider range of devices and networks. Inferno is a
distributed operating system based on three basic principles:
* Resources as files: all
resources
''Resource'' refers to all the materials available in our environment which are Technology, technologically accessible, Economics, economically feasible and Culture, culturally Sustainability, sustainable and help us to satisfy our needs and want ...
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
virtual machine (VM) was a necessary component of the system. This is the same conclusion of the Oak project that became
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
, but arrived at independently. The
Dis virtual machine is a
register machine intended to closely match the architecture it runs on, in contrast to the
stack machine of the
Java virtual machine
A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally descr ...
. An advantage of this approach is the relative simplicity of creating a
just-in-time compiler for new architectures.
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.
The Inferno kernel contains the virtual machine, on-the-fly compiler, scheduler, devices, protocol stacks, the name space evaluator for the file name space of each process, 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:
* Portability across processors: it currently runs on
ARM, SGI
MIPS,
HP PA-RISC, IBM
PowerPC, Sun
SPARC, and Intel
x86 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
Plan 9, MS
Windows NT,
Windows 95, and
Unix (
SGI Irix,
Sun Solaris,
FreeBSD,
Apple
An apple is a round, edible fruit produced by an apple tree (''Malus'' spp.). Fruit trees of the orchard or domestic apple (''Malus domestica''), the most widely grown in the genus, are agriculture, cultivated worldwide. The tree originated ...
Mac OS X,
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
,
IBM
International Business Machines Corporation (using the trademark IBM), nicknamed Big Blue, is an American Multinational corporation, multinational technology company headquartered in Armonk, New York, and present in over 175 countries. It is ...
AIX,
HP-UX, Digital
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
type-safe language Limbo and compiled to
Dis bytecode, 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
Inferno programs are portable across a broad mix of hardware, networks, and environments. It defines a
virtual machine, known as
Dis, that can be implemented on any real machine, provides
Limbo, a
type-safe language that is compiled to portable byte code, and, more significantly, it includes a virtual operating system that supplies the same interfaces whether Inferno
runs natively on hardware or runs as a user program on top of another operating system.
A
communications protocol called
Styx is applied uniformly to access both local and remote resources, which programs use by calling standard file operations, open, read, write, and close. As of the fourth edition of Inferno, Styx is identical to
Plan 9's newer version of its hallmark
9P protocol,
9P2000.
Most of the Inferno commands are very similar to
Unix commands with the same name.
History
Inferno is a descendant of
Plan 9 from Bell Labs
Plan 9 from Bell Labs is a distributed operating system which originated from the Computing Science Research Center (CSRC) at Bell Labs in the mid-1980s and built on UNIX concepts first developed there in the late 1960s. Since 2000, Plan 9 has ...
, 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.
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
AT&T Inc., an abbreviation for its predecessor's former name, the American Telephone and Telegraph Company, is an American multinational telecommunications holding company headquartered at Whitacre Tower in Downtown Dallas, Texas. It is the w ...
licensed Java technology from
Sun Microsystems
Sun Microsystems, Inc., often known as Sun for short, was an American technology company that existed from 1982 to 2010 which developed and sold computers, computer components, software, and information technology services. Sun contributed sig ...
.
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.
Lucent used Inferno in at least two internal products: the Lucent VPN Firewall Brick, and the Lucent Pathstar phone switch. They initially tried to sell source code licenses of Inferno but found few buyers. Lucent did little marketing and missed the importance of the Internet and Inferno's relation to it. During the same time
Sun Microsystems
Sun Microsystems, Inc., often known as Sun for short, was an American technology company that existed from 1982 to 2010 which developed and sold computers, computer components, software, and information technology services. Sun contributed sig ...
was heavily marketing its own
Java programming language, which was targeting a similar market, with analogous technology, that worked in
web browser
A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
s and also filled the demand for
object-oriented languages popular at that time. Lucent licensed Java from Sun, claiming that all Inferno devices would be made to run Java. A Java byte code to Dis byte code translator was written to facilitate that. However, Inferno still did not find customers.
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
Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
licenses, and in 2021 they relicensed all editions under mainly the
MIT License
The MIT License is a permissive software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts very few restrictions on reuse and therefore has high license compatibility.
Unl ...
.
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:
x86,
MIPS,
ARM,
PowerPC,
SPARC.
Hosted or virtual OS ports include:
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
,
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
,
FreeBSD,
Plan 9,
Mac OS X,
Solaris,
IRIX,
UnixWare.
Inferno can also be hosted by a
plugin to
Internet Explorer
Internet Explorer (formerly Microsoft Internet Explorer and Windows Internet Explorer, commonly abbreviated as IE or MSIE) is a deprecation, retired series of graphical user interface, graphical web browsers developed by Microsoft that were u ...
.
Vita Nuova said that plugins for other browsers were under development, but they were never released.
Inferno has also been ported to
Openmoko,
Nintendo DS,
SheevaPlug, and
Android.
Distribution
Inferno 4th edition was released in early 2005 as
free software
Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
. Specifically, it was
dual-licensed under two structures.
Users could either obtain it under a set of
free software licenses, or they could obtain it under a proprietary license. In the case of the free software license scheme, different parts of the system were covered by different licenses, including the
GNU General Public License, the
GNU Lesser General Public License, the
Lucent Public License, and the
MIT License
The MIT License is a permissive software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts very few restrictions on reuse and therefore has high license compatibility.
Unl ...
, excluding the fonts, which are sub-licensed from Bigelow and Holmes.
In March 2021, all editions were relicensed under mainly the
MIT License
The MIT License is a permissive software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts very few restrictions on reuse and therefore has high license compatibility.
Unl ...
.
See also
*
*
Notes
References
Further reading
* 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.
* , uses Inferno for examples of operating system design.
* was intended to provide an operating-system-centric point of view, but was never completed.
External links
Documentation papersfor the latest inferno release.
including source code.
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 PiLabs: Porting Inferno OS to Raspberry Pi
{{FOSS
1996 software
ARM operating systems
Distributed operating systems
Embedded operating systems
Real-time operating systems
X86 operating systems
PowerPC operating systems
MIPS operating systems