Article No: 5
Many commercial systems do not have a well defined structure. Frequently such operating system started as small, simple and limited systems, and then grew beyond their original scope. MS-DOS is an example of such a system. It was originally designed and implemented by a few people who had no idea that it would become so popular. It was written to provide the most functionality in the least space (because of limited hardware on which it ran), so it was not divided into modules (parts).
FIGURE 1.3 Simple structure
UNIX was the other system that was initially limited by hardware functionality. It consists of two separable parts: the kernel and the system programs. The kernel is further separated into series of interface and device drivers which were added and expanded over the years as UNIX evolved. The kernel provides the file system, CPU scheduling, memory management and other operating system functions through system calls.
Layered approach
The modularization of a system can be done in many ways. One method is the layered approach, in which operating system is broken up into a numbered layers (or levels), each built on top of lower layers. The bottom layer (layer 0) is the hardware; the highest layer (layer N) is the user interface.
FIGURE 1.4 Layered approach
Each layer is implemented with only those operations provided by lower level layers. A layer does not need to know how these operations do. Hence, each layer hides the existence of certain data structure, operations and hardware from higher-level layers.
Advantages
1. Modularity. The layers are selected such that each layer uses the functions and services provided by its immediate lower layer.
2. Effect. If there is an error in any layer than it will not affect to any other layer.
3. Easily debug.
Disadvantages
1. If the layer is not defined clearly than it may create problem because every layer is dependent on other, and it will create problem to all layers above it.
2. If parameters are passed than there are more chances of loss of information.
3. It is time consuming, because if any request is send than it will have to pass through every layer.
Microkernel
As the UNIX operating system expanded, the kernel becomes large and difficult to manage. In mid 1980’s an operating system called Mach that modularizes the kernel using the microkernel approach. This method structures the operating system by removing all unimportant components from the kernel, and implementing them as system-and-user level programs. The only services provided by the kernel in this model are low-level device management, a limited amount of low-level process management, and some memory management. All other operating system services, such as file management, additional process and memory management activities, and security are implemented as user-level server process. The result is a smaller kernel. Microkernel typically provide minimal process and memory management, in addition to a communication facility.
FIGURE 1.5 Micro kernel
The main function of the microkernel is to provide a communication facility between the client program and the various services that are also running in user space. Communication is provided by message passing. The client program and the service never interact directly. With the help of microkernel, client program and the services are interacted.
The Mach kernel maps UNIX system calls into messages to the appropriate user-level services. The apple Mac OSX server operating system is based on the Mach kernel.
Advantages
1. Extendibility. All new services are added to user space and consequently do not require modification of the kernel. When the kernel does have to be modified, the changes tend to be fewer, because microkernel is a smaller kernel.
2. Security. User modes can communicate each other with the help of kernel only, otherwise they can’t communicate.
3. Reliable. It is more reliable because if a service fails, the rest of the operating system remains untouched.
4. Portable. It can be easily transfered from one process to another.
5. Time saving. If any request is sent than it won’t pass to every layer.
Resources Used:
1. Operating System (By: William Stailings)
2. Operating System Concepts (By: Galvin)
Compiled By: Chaudhary Amit V.



Comments
Post a Comment