2. Introduction: Developed in Lucent technologies by Dennis Ritchie. but is now developed and maintained by Vita Nuova Holdings as free software. 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. Inferno was based on the experience gained with Plan 9 os from Bell Labs. 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'sDivine Comedy. 8/12/2010 2
3. Inferno's definitive strength lies in its portability and versatility across several dimensions: Portability across processors Portability across environments Minimal hardware requirements Portable applications 8/12/2010 3
4. Design Principles:- Inferno was first made in 1995 by members of Bell Labs' Computer .It is a distributed operating system based on 3 basic principles drawn from Plan 9. Resources as files:- all resources are represented as files within a hierarchical file system .The advantages of using file systems are:- File systems have simple and well understood interfaces across a wide variety of operating systems. Naming conventions for files are well known, uniform and easily understood 8/12/2010 4
5. Reliance on file systems reduces the amount of interface code and keeps the Inferno system small, reliable and highly portable . Access rights and permissions to files are simple, yet can be used to ensure multiple levels of security NAMESPACE:- 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. The Inferno Namespace is a hierarchical collection of files (i.e. resources). 8/12/2010 5
6. Every process accesses its resources via its own namespace can inherit from parent share with other processes Local and remote resources are bound into the namespace Standard communication protocol:a standard protocol, called Styx,is used to access all resources, both local and remote. 8/12/2010 6
7. Styx Message Structure:- Indicates message type: initial transmission (T-message) or reply message (R-message) Unique identifier used to track commands Unsigned integer that represents “current” file Message specific data fid Contents tag type 8/12/2010 7
10. Inferno has mainly three layers. (i) Application layer (ii) Kernel layer (iii)Hardware layer 8/12/2010 10
11. Application Layer:- 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. 8/12/2010 11
12. DisVirtualmachine: - Limbo programs are compiled into byte-codes representing instructions for a virtual machine called Dis. Dis has 3 address machine , supplemented with few specialized operations for handling arrays and strings. The byte codes are expanded into a format more efficient for execution. 8/12/2010 12
13. Kernel Layer:- Namespace : Memory management Process management Security in Inferno Security mechanisms 8/12/2010 13
14. Hardware Layer:- Device drivers:- A device driver simplifies programming by acting as a translator between a device and the applications or operating systems that use it In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device. A driver typically communicates with the device through the computer bus or communications subsystem to which the hardware is connected. 8/12/2010 14
15. Host os:- Inferno can run in different host operating system Host systems Windows NT/2000/XP Linux MacOS Plan9os Solaris 8/12/2010 15
17. External Environment of Inferno Applications :- The purpose of most Inferno applns is to present information n/media to user. Regardless of whether resources are local/global, a communication protocol called styx is used. 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. 8/12/2010 17
18. Internal Environment of Inferno Applications:- LIMBO programs are built of modules, which are self contained units . Modules are accessed dynamically by executing a load statement. Limbo is fully type checked at compile and run time. No memory protection H/W is there. All System data objects are kept track of and freed as soon as they become idle. 8/12/2010 18
21. Conlcusion:- “ Inferno does have a full-blown operating system and a virtual machine and a protocol stack, and in a lot of respects is something Java would like to be when it grows up. “ - Peter Bernstein, Inferno is a unique network operating system that adapts to whatever you plug into it -- from a high-end workstation to an inexpensive hand-held device," noted Dennis Ritchie, One of the most significant differences between Inferno and other operating systems such as JavaOS is the way in which Inferno presents network resources to an application. 8/12/2010 21
22. References:- Bell Labs Technical Journal. Plugins, Vita Nuova. http://code.google.com/p/inferno-ds. www.vitanuova.com 8/12/2010 22