inferno operating system
TRANSCRIPT
INFERNO Operating systemINFERNO Operating system
Presented
by
Sadhana Singh
Shri Ram Murti Smarak College of Engg. & Tech., Bareilly
Inferno Operating SystemsInferno Operating SystemsDeveloped 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. 2Inferno OS
Interesting features of InfernoInteresting features of InfernoStyx open communication protocol.Concurrent Modular language
LIMBO.Virtual machine and byte code
interp-reter with JIT compilers.Portability and virtualization
techniques.Automatic garbage collection.
3Inferno OS
Inferno-StrengthsInferno-StrengthsPortability across processors
Runs on Intel,SPARC, AMD, MIPS etcPortability 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.
4Inferno OS
Inferno- Strengths(cont)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. 5Inferno OS
Inferno InterfacesInferno InterfacesThe 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.
6Inferno OS
External env of Inferno applnsExternal 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 called styx is used. 7Inferno OS
External env of Inferno applnsExternal env of Inferno applnsThe 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. 8Inferno OS
Internal env of Inferno applnsInternal env of Inferno applnsInferno 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.
9Inferno OS
Internal env of Inferno applnsInternal env of Inferno applnsLIMBO 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.
10Inferno OS
Internal env of Inferno applnsInternal env of Inferno applnsLimbo 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.
11Inferno OS
Internal env of Inferno applnsInternal env of Inferno applnsLimbo 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.
12Inferno OS
Environment of the Inferno systemEnvironment of the Inferno systemInferno 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.
13Inferno OS
Environment of the Inferno systemEnvironment of the Inferno systemWhen 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.
14Inferno OS
Security in InfernoSecurity 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.
15Inferno OS
Security mechanismsSecurity 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 parties.
16Inferno OS
Line SecurityLine 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.
17Inferno OS
Random NumbersRandom 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.
18Inferno OS
SummarySummary 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.
19Inferno OS
ReferencesReferences 1.http://www.vitannuova.com/inferno/papers/styx.html
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 and the Tk Toolkit, Addison-Wesley, 1994.
20Inferno OS
Thank You Thank You
21Inferno OS