Inferno (operating system) facts for kids
![]() Inferno 4th Edition
|
|
Company / developer | Bell Labs, Vita Nuova Holdings |
---|---|
Programmed in | C, Limbo |
Working state | Discontinued |
Source model | Open-source |
Initial release | 1996 |
Latest stable release | 4th Edition / March 28, 2015 |
Available language(s) | English |
Supported platforms | ARM, PA-RISC, MIPS, PowerPC, SPARC, x86 |
Kernel type | Virtual machine (Dis) |
License | 2021: MIT 2005: Dual 2003: Dual 2000: Inferno Original: Proprietary |
Inferno is a special kind of operating system that was first created at Bell Labs. It's now looked after by a company called Vita Nuova Holdings. Inferno is known as free software, which means its code is open for anyone to use and change, under the MIT License.
This operating system was built using ideas from an earlier system called Plan 9 from Bell Labs. Bell Labs also did a lot of research into how computers work, including programming languages, graphics, and making systems safe and easy to move between different devices. The name "Inferno" and many of its programs were inspired by a famous old book called Divine Comedy by Dante Alighieri. In Italian, Inferno means "hell".
Contents
How Inferno was Designed
Inferno was made in 1995 by people at Bell Labs. Their goal was to take the cool ideas from their older operating system, Plan 9 from Bell Labs, and make them work on many more types of devices and networks. Inferno is a distributed operating system. This means it can spread its work across different computers. It follows three main rules:
- Everything is a file: All the computer's resources, like printers or network connections, are treated like files. They are organized in a hierarchical file system, just like folders on your computer.
- Namespaces: When a program looks at the network, it sees everything as one big, organized space. This space looks like a file system, but it can include resources that are physically in different places, both nearby and far away.
- Standard communication: A special rule, called Styx, is used to talk to all resources. This works whether the resource is on your computer or somewhere else on the network.
To work on many different networks, the creators decided Inferno needed a virtual machine (VM). A virtual machine is like a fake computer inside your real computer. This idea was also used for Java, but Inferno's creators came up with it on their own. Inferno uses a VM called Dis virtual machine. It's designed to work very well with the actual computer's parts. This makes it easier to create a "just-in-time compiler" for new types of computers.
The virtual machine also manages memory. It's designed to work well even on devices with only 1 MB of memory. It uses a special way to clean up old data, which helps keep things running smoothly.
The main part of Inferno, called the kernel, contains the virtual machine. It also has a compiler, a scheduler (which decides what programs run when), and ways to connect to devices. The kernel also includes built-in tools for things like graphics, security, and math.
Bell Labs explained that Inferno was very flexible and could be used in many ways:
- Works on many processors: It runs on different computer chips like ARM, MIPS, PA-RISC, PowerPC, SPARC, and x86. It can easily be set up for others too.
- Runs in different places: It can work as a full operating system on small devices. It can also run as a program inside other operating systems like Plan 9, Microsoft Windows, and Unix (like Linux or Mac OS X). No matter where it runs, Inferno programs always see the same setup.
- Designed for networks: The same computer setup is available on your device and on a server. Each can use the resources of the other, like printers or network connections. Programs can even be split between your device and a server.
- Low hardware needs: It can run useful programs on machines with as little as 1 MB of memory. It doesn't need special hardware for managing memory.
- Programs work everywhere: Inferno programs are written in a safe language called Limbo. They are turned into "bytecode" for the Dis virtual machine. This bytecode can run on any Inferno device without changes.
- Adapts easily: Programs can load different parts depending on the computer or resources available. For example, a video player might use different ways to play a video.
These design choices helped make sure that content and service providers didn't have to worry about the details of different hardware, software, or networks.
Features of Inferno
Inferno programs can run on many different types of hardware, networks, and computer environments. It uses a virtual machine called Dis virtual machine. This VM can be put onto any real computer. Inferno also has Limbo, a type-safe programming language. This language creates code that can be used on any Inferno system. Most importantly, Inferno includes a virtual operating system. This system provides the same tools and connections whether Inferno is running directly on a computer or as a program on top of another operating system.
A communications protocol called Styx is used to access everything, whether it's on your computer or a remote server. Programs use Styx by calling standard file actions like "open," "read," "write," and "close." In the fourth version of Inferno, Styx is the same as the newer version of Plan 9's special 9P protocol, called 9P2000.
Many of Inferno's commands are very similar to common Unix commands.
History of Inferno
Inferno is like a younger sibling to Plan 9 from Bell Labs. They share many design ideas and even some of the same code in their core parts. This is especially true for how they handle devices and the Styx/9P2000 communication rule. Inferno also shares its roots with Unix from Bell Labs and follows the Unix philosophy. Many of the command-line tools in Inferno were originally Plan 9 tools that were rewritten in Limbo.
In the mid-1990s, work on Plan 9 slowed down as Bell Labs focused on Inferno. The new system was first mentioned by Dennis Ritchie in early 1996. It was officially shown later that year as a competitor to Java. At the same time, Bell Labs' parent company, AT&T, also got a license for Java from Sun Microsystems.
In 1997, a magazine called IEEE Internet Computing had an ad for Inferno. It said that different devices could talk to each other over "any network," including the internet. The ad suggested that video games could talk to computers, and cell phones could get email.
Lucent, which owned Bell Labs, used Inferno in some of its own products. They tried to sell licenses for Inferno's code but didn't find many buyers. Lucent didn't market Inferno much and missed how important the internet was becoming. Meanwhile, Sun Microsystems was heavily promoting its Java language, which aimed for a similar market. Lucent then licensed Java from Sun, saying that all Inferno devices would run Java. A tool was even made to translate Java code into Inferno's code. But Inferno still struggled to find customers.
The Inferno Business Unit at Lucent closed after three years. It was then sold to Vita Nuova Holdings. Vita Nuova kept working on Inferno. They offered commercial licenses and also free versions (though not fully GPL compatible) for most of the system, except for the core kernel and VM. They made Inferno work on new hardware and focused on programs that could run across different computers. Finally, Vita Nuova released the 4th edition of Inferno under more common free software licenses. In 2021, they changed the licenses for all editions, mostly to the MIT License.
Date | Release | What Happened |
---|---|---|
1996 | Inferno Beta | First version released by Bell Labs |
May 1997 | Inferno Release 1.0 | More details shared in a Bell Labs journal |
July 1999 | Inferno 2nd Edition | Released by Lucent's Inferno Business Unit |
June 2001 | Inferno 3rd Edition | Released by Vita Nuova |
2004 | Inferno 4th Edition | Released as open source; many changes to how it works; supports 9P2000. |
Where Inferno Runs
Inferno can run directly on computer hardware. It can also run as a program that creates a "virtual operating system" on top of other computer systems. This means that programs written for Inferno can be developed and run on any Inferno platform without needing to be changed or recompiled.
Inferno can run directly on these types of computer chips: x86, MIPS, ARM, PowerPC, and SPARC.
It can also run as a program on top of other operating systems like: Microsoft Windows, Linux, FreeBSD, Plan 9, Mac OS X, Solaris, IRIX, and UnixWare.
Inferno was even made to work as a plugin for Internet Explorer. Vita Nuova said they were working on plugins for other web browsers, but these were never released.
Inferno has also been made to work on devices like Openmoko, Nintendo DS, SheevaPlug, and Android.
Inferno 4th edition was released in early 2005 as free software. It had a special "dual-license" system. Users could get it under a set of free software licenses, or they could get it under a special private license. For the free software option, different parts of the system were covered by different licenses. These included the GNU General Public License, the GNU Lesser General Public License, the Lucent Public License, and the MIT License. However, the fonts used were under a separate license.
In March 2021, all versions of Inferno were re-licensed. Most of them are now under the MIT License.
See also
In Spanish: Inferno (sistema operativo) para niños
- Language-based system
- Singularity (operating system)