New Member FAQ | Forums | Earn Revenue


Resources Entrance Ask Experts Exam Papers Jobs English Projects Universities Colleges Courses Schools Training My India



My Profile
Active Members
TodayLast 7 Days more...



Awards & Gifts
Online Exams

Fresher Jobs


Our fresher job section is exclusively for fresh graduates! Find jobs for freshers in major Indian cities including Bangalore, Chennai, Hyderabad, Pune or Kochi

Resources


Find educational articles, blogs, discussion threads and other resources.

Colleges


Find details about any college in India or search for courses.

website counter



Resources » Articles/Knowledge Sharing » Computer & Technology »

The design of operating systems


Posted Date: 07 Nov 2009    Resource Type: Articles/Knowledge Sharing    Category: Computer & Technology
Author: Maheedhar KakiMember Level: Diamond    
Rating: 3 out of 53 out of 53 out of 5Points: 15 (Rs 10)



Different design methodologies have been proposed and tried out for the design of operating system. In the following we give an overview of the existing methods.

Monolithic Operation System

Monolithic operating system is a collection of procedures. Each procedure has a very well defined interface in the terms of the parameters that are passed onto it and the return value. Any procedure can call any other procedure. Such systems are difficult to extend as changes in any given procedure might affect all other procedures that uses it. However the O.S procedure protects themselves from the user programs by running in the kernel mode.
MS-DOS is an example of a Monolithic Operation System.

Layered Operating System

The approach taken here is to design the operating system as an hierarchy of layer. Each layer hides the details of implementation of certain functionality and offers an interface to the layer above it thus managing the complexity involved in the design of the operating system.

Client – Server Operating System

The OS comprises of a number of process each of which can be viewed as a server offering a set of service say related to memory management, process creation, scheduling etc. Client which can be other OS routines or user processes request for the services offered by the servers by sending a message.

Micro Kernel

In operating system having a micro kernel only the minimal essential portion of the operating system is implementation in the Kernel. This so called micro kernel runs in the kernel mode, while the rest of the OS runs in the user mode. The micro kernel offer is the essential core of the OS functionalities. For example the scheduler and the device drives may be kept active the micro kernel. The other main job of the OS is to do message passing between the clients and servers.

The advantage of the micro kernel is that any OS subsystem can be extended (and its interface changed). Such a change will only affects the micro kernel and not other subsystems.

The other major design paradigm for the operating system is the object oriented approach. Special kinds of operating system do exist catering to the specific requirements of the computing system such as the real-time operating system and the multiprocessor operating system.

Example : The Unix operating system

The Unix operating system can be viewed to have three layers as shown in the figure. They are the hardware layer, the kernel and the user layer. The kernel has a number of subsystems for implementing the memory management, file system management, process management, and the I/O management.

Unix file system management

UNIX implements a file system as follow. A system can have one or more file system. A physical device may be partitioned to have many file systems or one or more devices can be combined to form one file system. Each file system is a collection of logical blocks. Again the size of the logical block can be the same or different from that of the physical block size. The file system has a number of fields each field occupying one or more logical blocks. A file system may or may not have a field called the boot block. If present the boot block is used for the purpose of booting. Needless to mention that at least one file system attached to the computer should be bootable.

Another field of the file system is called the Inode block that holds a list of index nodes. The largest filed is the data block that has a sequence of logical blocks in which the contents of the various files in the file system are stored.

The super block is a field that stores all the information necessary for managing the file system. It includes
(i) the number of index nodes in the file system
(ii) list of free index nodes,
(iii) number of to data blocks in the file system,
(iv) list of free data blocks, etc.

When a file is created a new index node is allocated from the list of free index-nodes and initialized. When a file is deleted the index node is released back to the list of free index nodes. Similarly as the size of the file changes data blocks may be obtained or released from the list of free data blocks.

Unix provides the following file system calls: open, close, read, write, lseek, stat, link, unlink, mkdir, rmdir, chdir. Functions of these calls are obvious from their names

Photobucket
Fig Block diagram of the system kernel
(courtesy Maurice J. BACH, the design or UNIX operating system, PHI, 1994)




Responses


No responses found. Be the first to respond and make money from revenue sharing program.

Feedbacks      
Popular Tags   What are tags ?   Search Tags  
Sign In to add tags.
The design of operating systems  .  Monolithic Operation System  .  Micro Kernel  .  Layered Operating System  .  

Post Feedback


This is a strictly moderated forum. Only approved messages will appear in the site. Please use 'Spell Check' in Google toolbar before you submit.
You must Sign In to post a response.
Next Resource: Mcse
Previous Resource: Sony Cybershot - Model No: S930
Return to Discussion Resource Index
Post New Resource
Category: Computer & Technology


Post resources and earn money!
 
More Resources



Advertise Here





Contact Us   Advertise   Editors    Privacy Policy    Terms Of Use   

ISC Technologies.
2006 - 2009 All Rights Reserved.