Download as pdf or txt
Download as pdf or txt
You are on page 1of 21

INFERNO Operating system

Presented
by
Sadhana Singh
Shri Ram Murti Smarak College of Engg. & Tech.,
Bareilly
Inferno Operating Systems
 Developed in Lucent technologies by
Dennis Ritchie.
 Replaces a plethora of protocols in a
network by a simple unifying file
service protocol (styx).
 Applications compute their own
name spaces and consider all
resources as file systems.
 Used in Embedded applns and small
networked devices. Eg :CATv, PDA
etc. Inferno OS 2
Interesting features of Inferno
 Styx open communication protocol.
 Concurrent Modular language
LIMBO.
 Virtual machine and byte code
interp-reter with JIT compilers.
 Portability and virtualization
techniques.
 Automatic garbage collection.

Inferno OS 3
Inferno-Strengths
 Portability across processors
Runs on Intel,SPARC, AMD, MIPS etc
 Portability across environments

Can run as a standalone as well as a


user appln in Windows NT/95, Unix,
Linux, HP/UX, AIX* etc.
 Distributed Design

Identical environment at client and


server.
Inferno OS 4
Inferno- Strengths(cont)
 Minimal hardware requirements
Can run useful applns as a stand alone
with as little as 1 MB of memory.
 Portable Applns
Inferno applns are written in type-safe
LIMBO whose binary representation is
identical for all platforms.
 Dynamic adaptability
Depending on the H/W or resource
availability,applns may use diff modules
to perform a specific function.
Inferno OS 5
Inferno Interfaces
The role of Inferno system is to create se-
veral standard interfaces for its applns.
 Applns use various resources which
include a virtual machine that runs
applns programs together with library
modules like string manip etc.
 Applns exist in an external env
containing resources such as data
files and objects. Devices present
themselves to the appln as files.
Inferno OS 6
External env of Inferno applns
 The purpose of most Inferno applns
is to present informn/media to user.
 To the applns the user’s devices shows up
as resources for it.
 The way the resources are designed to
show up to the applns are
1.Resources - Named & accessed like files.
2.Disjoint resource hierarchies
provided by different services show
up in a single hierarchical name space.
3.Regardless of whether resources are
local/global, a communication protocol
Inferno OS 7
called styx is used.
External env of Inferno applns
 The glue that connects diff parts of
the resource name space together is
the styx protocol.
 Inferno kernel implements a mount
driver which transforms file
operations to RPC’s for transport
over the network.
 On the other side of the conxn, a
server unwraps the styx messages
and implements them using
resources local to it.
Inferno OS 8
Internal env of Inferno applns
 Inferno applns written in LIMBO
which supports most of the standard
data types and also addnl ones like
tuples, lists, strings etc.
 A communication mechanism called
channel is present which is used to
connect diff LIMBO tasks.
 Multi tasking supported by the
LIMBO language.

Inferno OS 9
Internal env of Inferno applns
 LIMBO programs are built of
modules, which are self contained
units having a well defined interface
containing functions,abstract data
types and constants.
 Modules are accessed dynamically
by executing a load statement
naming the desired module. Then a
handle for the module is returned
and the module is accessed.
Inferno OS 10
Internal env of Inferno applns
 Limbo is fully type checked at
compile and run time.
 No memory protection H/W is there.
 All LIMBO data and program objects
are subject to a garbage collector
built deeply into LIMBO run time
system.
 All System data objects are kept
track of and freed as soon as they
become idle.
Inferno OS 11
Internal env of Inferno applns
 Limbo programs are complied into
byte codes representing instructions
for a virtual machine called DIS.
 The resulting code executes at a
speed approaching that of complied
C.
 Underlying DIS is the inferno kernel
which contains the interpretor and
an on the fly complier.

Inferno OS 12
Environment of the Inferno system
 Inferno creates a standard environment for
applns. Identical applns programs can run
under any instance of this environment-
even in distributed fashion and see the
same resources.
 Several versions of Inferno kernel,
DIS/LIMBO interpreter and device driver
set can be used depending on the
environment within which inferno is
implemented.
Inferno OS 13
Environment of the Inferno system
 When running as the native operating
system kernel includes all the low level
glue like interrupt handlers, device drivers
etc.
 But when running in a hosted system like
Windows NT, Inferno runs as an ordinary
process.
 Here instead of mapping its device control
functionality to real hardware, it adapts to
the resources provided by the operating
system under which it runs.
Inferno OS 14
Security in Inferno
Inferno provides security of communication, resource
control, and system integrity. Each external
communication channel may be transmitted in the
clear, accompanied by message digests to prevent
corruption, or encrypted to prevent corruption and
interception. Once communication is set up, the
encryption is transparent to the application. Key
exchange is provided through standard public-key
mechanisms; after key exchange, message digesting
and line encryption likewise use standard symmetric
mechanisms. Inferno is secure against erroneous or
malicious applications, and encourages safe
collaboration between mutually suspicious service
providers and clients.
Inferno OS 15
Security mechanisms
Authentication and digital signatures are
performed using public key cryptography.
Public keys are certified by Inferno-
basedor other certifying authorities that
sign the public keys with their own private
key.
Inferno uses encryption for:
 mutual authentication of communicating
parties;
 authentication of messages between these
parties; and
 encryption of messages between these
Inferno OS 16
parties.
Line Security
A network conversation can be
secured against modification alone
or against both modification and
snooping. To secure against
modification, Inferno can append a
secure MD5 or SHA hash (called a
digest),
hash(secret, message, messageid)
to each message.

Inferno OS 17
Random Numbers
The strength of cryptographic algorithms
depends in part on strength of the random
numbers used for choosing keys, Diffie-
Hellmanparameters, initialization vectors, etc.
Inferno achieves this in two steps: a slow (100 to
200 bit per second) random bit stream comes
from sampling the low order bits of a free running
counter whenever a clock ticks. The clock must
be unsynchronized, or at least poorly
synchronized, with the counter. This generator is
then used to alter the state of a faster pseudo-
randomnumber generator. Both the slow and fast
generators were tested on a number of
architectures using self correlation, random walk,
and repeatability tests.
Inferno OS 18
Summary
 It supplies a rich environment for 
constructing distributed applications 
that are portable_in fact identical_even 
when running on widely divergent 
underlying hardware. Its unique 
advantage over other solutions is that it 
encompasses not only a virtual 
machine, but also a complete virtual 
operating system including network 
facilities.
 
Inferno OS 19
References
 1.http://www.vitannuova.com/inferno/papers/styx.ht
ml
2.Lucent Technologies Inc./Bell Labs Technical 
Journal
3.http://techupdate.cnet.com/enterprise/0-6133429-
723-3897916.html
4. R. Pike, D. Presotto, S. Dorward, B. Flandrena, K. 
Thompson, H. Trickey, and P. Winterbottom. 
‘‘Plan 9 from Bell Labs’’, J. Computing Systems
8:3, Summer 1995, pp. 221-254.
5. S. Dorward, R. Pike, and P. Winterbottom. 
‘‘Programming in Limbo’’, IEEE Compcon 97
Proceedings, 1997.
6. J. K. Ousterhout. Tcl Inferno
and OS the Tk Toolkit, Addison-20
Wesley, 1994.
Thank You

Inferno OS 21

You might also like