inferno operating system

21
INFERNO Operating INFERNO Operating system system Presented by Sadhana Singh Shri Ram Murti Smarak College of Engg. & Tech., Bareilly

Upload: sadhana28

Post on 25-Jun-2015

768 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Inferno operating system

INFERNO Operating systemINFERNO Operating system

Presented

by

Sadhana Singh

Shri Ram Murti Smarak College of Engg. & Tech., Bareilly

Page 2: Inferno operating system

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

Page 3: Inferno operating system

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

Page 4: Inferno operating system

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

Page 5: Inferno operating system

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

Page 6: Inferno operating system

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

Page 7: Inferno operating system

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

Page 8: Inferno operating system

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

Page 9: Inferno operating system

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

Page 10: Inferno operating system

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

Page 11: Inferno operating system

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

Page 12: Inferno operating system

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

Page 13: Inferno operating system

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

Page 14: Inferno operating system

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

Page 15: Inferno operating system

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

Page 16: Inferno operating system

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

Page 17: Inferno operating system

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

Page 18: Inferno operating system

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

Page 19: Inferno operating system

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

Page 20: Inferno operating system

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

Page 21: Inferno operating system

Thank You Thank You

21Inferno OS