Presentation on theme: "Chorus Vs Unix Operating Systems Overview Introduction Design Principles Programmer Interface User Interface Process Management Memory Management File."— Presentation transcript:
Chorus Vs Unix Operating Systems Overview Introduction Design Principles Programmer Interface User Interface Process Management Memory Management File System Inter Process Communication Summary – Conclusions References
Introduction Unix Operating System Originally developed in a laboratory at AT&T’s Bell Labs. Unix is a mature, technically superior group of operating systems with extremely powerful multiprocessor server hardware. Unix is a monolithic operating system. Chorus Operating System Chorus was a research project on distributed systems at INIRA in France. It was bought by Sun Microsystems in The Chorus operating system is a highly scalable and reliable embedded operating system. Chorus is a micro kernel-based operating system.
Design Principles - Unix Unix is a layered operating system. The operating system, referred to in Unix as the kernel, interacts with the hardware and provides the services to the user programs. It is a multi-user, multi-tasking operating system.
Design Principle - Chorus A Chorus system is composed of a small nucleus and a set of system servers, which cooperate in the context of subsystems. Chorus Nucleus is not the core of a specific operating system; rather it provides generic tools designed to support a variety of host subsystems, which can coexist on top of the Nucleus. This structure supports application programs, which already run on an existing operating system, by reproducing the operating system’s interface within a subsystem.
Process Management Unix Every process running under UNIX is identified by a process- id (pid), an integer value. Each process is identified with the owner of the process, simply called uid. Processes are arranged in a tree structure link. Unix is a timesharing system. Each turn is a called a timeslice. Chorus A process in Chorus defines a protected address space. Every process has a protection identifier associated with it. There are three kinds of processes in Chorus, each having different execution privileges. Supervisor processes, System processes and User processes.
Memory Management Unix All memory assigned as pages Each user process works in a virtual 4GB memory space Multi-User nature of UNIX requires that no memory be allocated to absolute locations Unix memory management is based on Demand-paged virtual memory system. It employs the Least Recently Used algorithm.
Memory Management Chorus Abstract memory objects are typically provided to protect regions of memory. Virtual memory management may be implemented as part of the kernel or user-level process. The Unit of data abstraction in Chorus is called the segment. Segments generally represent some form of secondary storage such as a file. Each process address space is divided into regions. A region is a contiguous range of virtual addresses within a process, which maps a portion of a segment to a given virtual address. System processes known as mappers are responsible for mapping segments onto regions. If a process makes a request to read or modify data within a region, the mapper returns the appropriate segment containing the data.
File System Unix The UNIX file system is one of the simplest tree structured file systems to use. There are no syntax extensions for accessing system files, files belonging to other users, or files on network mounted file systems. The file system is one place where UNIX has a friendlier user interface than most systems. Chorus The Chorus file system is very familiar to the Unix file system but it provides a file manager. The file manager acts as a mapper for the Chorus kernel and also performs Unix file system management. The Chorus file system has the standard Unix code, code to support Chorus segment mapper, and codes to catch hardware interrupts and map them onto hardware device drivers.
Inter-Process Communication Unix Processes in Unix based systems communicate between themselves through IPC constructs. Among these are: Pipes FIFO (named pipes) Streams (Files) Sockets Messages: Exchange messages with any process or server. Semaphores: Allow unrelated processes to synchronize execution. Shared memory: Allow unrelated processes to share memory. Chorus Communication services provided by Chorus are: Asynchronous Message-passing Does not guarantee delivery of message. No notification to sender. Synchronous RPC Client-Server model. Guarantees delivery of message. Notification send to sender
Protection and Security Unix Physical Security Network Security Account Security File System Security Chorus Security in Chorus is offered by the application level. There is no security in the Chorus nucleus. Chorus has provisions for the development of secure distributed systems through support for access control and authentication. Security is offered in Chorus by the concept of unique identifiers. Knowledge of Unique Identifier gives full privileges to manipulate the object.
Conclusion Unix cannot fulfill the expectations of system builders if it continues to increase in complexity without a well-defined modular architecture, based on simple concepts, to manage its growth. Therefore micro-kernel based distributed operating systems such as Chorus came into existence.