Inferno
Inferno
OS
ABSTRACT 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 Holding that produces it, were inspired by the litrary works of Dante Alighieri,
particularly the Divine Comedy Inferno runs in hosted mode under several [...]
11/03/2009
Categories: Computer Science, Information Technology . Tags: 2009 seminar, 2010 seminar,
b.tech seminar, btech seminars, engineering seminar, free, free abstract, free report, full report,
full seminar reports, full seminar topics, IEEE seminars, Inferno Operating systems, Inferno OS,
latest, latest report for seminar, latest seminar topics, Latest Seminar Topics For Computer
Science, latest technologies, latest topics for seminars, m.tech seminar topics, mba, mba seminar,
mca seminar, new operating system, new seminar reports, new seminar topics, new seminar
topics for cs, new seminar topocs, new seminars, new tech, new technologies, new technology,
operating system seminars, poly technique seminar, report, reports, seminar, seminar report,
seminar topcis for electrical, seminar topics, seminar topics for computer science, Seminar
Topics For Electronics And Engineering, seminar topics for free, seminar topics for information
technology, seminars, Seminars For You, Seminars4you, seminarsonly, technology . Author:
seminars4you . Comments: Comments Off
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 Holding
that produces it, were inspired by the litrary 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.
Applications are written in the type-safe Limbo programming language, whose binary
representation is identical over all platforms.
WIKIPEDIA NOTES:
Inferno is a distributed operating system started at Bell Labs, but is now developed and
maintained by Vita Nuova Holdings as free software.[1] Inferno was based on the experience
gained with Plan 9 from Bell Labs, 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 and many of its associated programs, as well as that of the current company,
were inspired by Dante Alighieri's Divine Comedy.
Inferno applications 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 is hosted as an application on other systems.
A communications protocol called Styx is applied uniformly to access both local and remote
resources, which applications 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.
Contents
[hide]
1 Design principles
2 History
3 Ports
4 License
5 Books
6 See also
7 References
8 External links
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
To handle the diversity of network environments it was intended to be used in, the designers
decided a virtual machine was a necessary component of the system. This is the same conclusion
of the Oak project that became Java, but arrived at independently. The Dis virtual machine is a
register machine intended to closely match the architecture it runs on, as opposed to the stack
machine of the Java Virtual Machine. 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 MB 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, and the name space evaluator for each process' file name space, 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[2] introducing Inferno listed the several dimensions of
portability and versatility provided by the OS,
Portability across processors: it currently runs on ARM, MIPS, PA-RISC, PowerPC, SPARC, and 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 Plan 9, Windows NT, Windows 95, and Unix (Irix, Solaris,
FreeBSD, GNU/Linux, AIX, HP-UX). In all of these environments, Inferno applications 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, applications 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 MB of memory, and does not require memory-mapping hardware.
Portable applications: Inferno applications are written in the type-safe language Limbo, whose
binary representation is identical over all platforms.
Dynamic adaptability: applications may, depending on the hardware or other resources
available, load different program modules to perform a specific function. For example, a video
player application 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.
[edit] History
Date Release Comment
Inferno 4th Open Source release; changes to many interfaces (incompatible with earlier
2004
Edition editions); includes support for 9P2000.
Inferno is a descendant of Plan 9, 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.
Lucent advert for Inferno in IEEE Internet Computing, Volume 1, Number 2, March–April 1997
In March–April 1997 IEEE Internet Computing 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.
Ken Thompson, Dennis Ritchie and Douglas McIlroy, members of the Computing Science
Research Center at Bell Labs, designed and developed the C programming language to build the
operating system Unix. Programmers at Bell Labs went on to develop the Plan 9 and Inferno
operating system, which were engineered for modern distributed environments.
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 was heavily marketing its own
Java programming language, which was targeting a similar market, with analogous technology,
that worked in web browsers 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 Vitanuova. Once Vitanuova
owned the rights, it continued development and offered commercial licenses to the complete
system, and free downloads and licenses (not GPL compatible) for all the system except the
kernel and VM. They ported the software to new hardware and focused on distributed
applications. Eventually, Vitanuova released the source under the GPL license and the Inferno
operating system is now an Free/Libre/Open Source Software project.
[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.
Hosted or Virtual OS ports include: Microsoft Windows, GNU/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.[3]
[edit] License
Inferno 4th edition was released in early 2005 as free software. Specifically, it was dual-licensed
under two sets of licenses. Users could either obtain it under a set of free software licenses, or
they could obtain it under a more traditional commercial 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. Subsequently Vita Nuova has made it possible to acquire the
entire system (excluding the fonts, which are sub-licensed from Bigelow and Holmes) under the
GPLv2. All three license 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 textbook Principles of Operating Systems: Design and Applications ISBN 1418837695
(Course Technology, 2008), by Brian Stuart, uses Inferno for examples of operating system
design.
The 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. ^ http://code.google.com/p/inferno-os/
2. ^ Bell Labs Technical Journal
3. ^ Plugins, Vita Nuova.
4. ^ http://code.google.com/p/inferno-openmoko/
5. ^ http://code.google.com/p/inferno-ds/
6. ^ http://code.google.com/p/inferno-kirkwood/
Ports
Of Historical Interest
Operating system AROS · BSD · Darwin · eCos · FreeDOS · GNU · Haiku · Inferno · Linux ·
families Mach · MINIX · OpenSolaris · Plan 9 · ReactOS · Symbian
Apache · Artistic · BSD · GNU GPL · GNU LGPL · ISC · MIT · MPL · Ms-
Licences
PL/RL · zlib · FSF approved licenses