Professional Documents
Culture Documents
INFERNO Operating System
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
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