What do you mean by the Operating System Structure in Computer System?

Spread the love
We have seen how operating systems are composed of, functions of the operating system, programs and utilities of the operating system, the interface etc. Now, let us look inside the operating system, how it is structured etc. We will look into four different operating system structures that have been worked on, so that one gets some idea about the spectrum of possibilities. Their structures are not exhaustible but they give an idea about the design used. The following are the structure of operating systems.

Operating System Structure in Computer Education

Monolithic System: This is the most popular and common structure which can be called as “Big Mess” because of its haphazard structure. We can even say that there are no structures or the structure. Here the operating system can be viewed as the collection of procedures, which have the capacity to call other procedure when required. With the technique, in use, each procedure has a well defined interface with parameters and results, each being free to call other procedure if they provide the required personality.
While constructing the object program of this type of operating system, one has to compile each individual procedures or files which contain the procedures and them bind together to arrive a single object file with linker. There is no information hiding, as all the procedures are visible to everyone. When coming to system calls, they are a little bit structured as the calls to these procedures go with the parameters in well defined places and execution of special TRAP instruction which is called Kernel call or supervisor call. This instruction changes the mode of the system from user to kernel and then transfers the control to the operating system.

 

User program interrupt to the Kernel, determination of service number required by the user program for the operating system, located locating and calling the service procedure by the operating system, control being returned to the user program.
The above steps are applicable to any user program which has to be executed by the operating system. The monolithic structureof the operating system even is not structure to great extent give the following structure for the operating system.
There should be a main program or procedure that invokes/calls the requested service procedure, there should be a set of procedure that are essentially required for carrying out the concerned system calls, there should be a set of utility procedures for helping very serious procedure.

 

This organization of operating system requires that for everyone system call there is one bus service procedure for taking care for system call. Service procedures do require the help of several utility program procedure to get things done like fetching data memory management etc.
Layered System: As we have seen that the monolithic structure of the operating system is not at all and appreciable structure as it is haphazard, therefore, the structural suggested for Monolithic system is slightly modified and the various procedures, which are contained in operating system are arranged in layered form, one below the other, so that there is a systematic structure, where each layer has its own advantages and uses. The following figure gives an abstract representation of suggested mode! Structure of these layered systems, where layers are numbered.
5
The User/Operator
4
Application Programs
3
Input-Output Communication
2
User-Process Communication
1
Memory Management
0
Processor Allocation & Multitasking
The system based on the above structure was first built at technische Hogeschool Eindhoven in Netherlands by E.W. Dijkstra and his student in 1968. The system built was for electrologica X8, a Dutch computer.
This system was divided into 6 layers and each layer was responsible for certain tasks. The layers are numbered from 0 to 5. The layer 0 dealt with the allocation of the processor of for the process execution and switching between the processes, when interrupted. On the layer 0, there are sequential processes, which can be programmed without any problem or doubt for the fact being the multiple; processes are running on a single processor, as single processor as the layer 0 is capable of multiprocessing, multitasking and multiprogramming of CPU. For memory management, the layer 1 was responsible. It has to allocate memory area for various processes in primary memory and swapping of the program between the secondary memory and the main memory in case the main memory is insufficient to hold the total program. This removes botheration about the memory whether the procedure is main memory or secondary memory. For managing inter process communication and user interaction, layer 2 is used and for dealing with input-output devices, layer 3 is used, layer 4 is the layer where user program are found, one need not bother about the processing, memory or input-output management and the layer i.e., layer 5 is the layer of power system user or operator process.

This layering concept was for the generalized and used in MULTICS operating system, where these layers were organised as concentric circles, with the privileges increasing towards the centre of the circle. This layering scheme came as an aid only for design purposes, as all the layers are finally linked into a single object program.
Virtual Machine: With the advent of multi-user environments, users wanted to have time sharing, for which IBM Developed TSS/360, a time sharing system, but it was bulky and pretty slow, which really created lot of problems and it was done with later, scientists of at IBM designed a machine known as CP/CMS, which are very effective as time sharing. Now, it is popularly known as VM/370 i.e. virtual machine, which was based on the concept that any time sharing system should provide for:
Multiple programming and extended machine, with motor interface.
The concept and Crux of these VM/370 systems was to completely separate above functions. The core of the system, which is known as Virtual Machine Monitor, runs on the hardware directly and does the task of multiprogramming by providing several virtual machines to the layer above it .Unlike other operating system, here these virtual machines are not the standard machines, but are copies of the hardware, including Kernel/user modes, Input-output, interrupt etc. as in case of real machines. This provides a way to run any operating system that will run directly on the hardware. Even one can different operating systems on different virtual machines, like CMS (Conversational Monitor System) which are a single user, interactive systems as well other batch processing systems. As there is total separation of the function of multiprogramming and providing testing machines, one can arrive at system which are simple flexible and easy to maintain.
Client-Server Model:  As systems, which gains simplicity by separating large part of the operating system code used for implementing virtual machines in to higher layer i.e., CMS. If we look at other angles it is still very complex as the simulation of the number of virtual machines is not a simple task if it is done efficiently.
Now, the modern operating systems are taking the same principle as in virtual machines but with a slight improvement, that is, moving the code far away from the basic operating system into higher levels, leaving the minimal Kernel. The basic approach is to implement most of the operating system functionality in user processes, which can send a request to server process which will do the task requested and sends back the output to the user process. The user process is also known as client process, thereby giving the name client-server to this model. This model tries to simplify the structure of the system and making the working capacity very efficient.
This model emphasis on the very simple Kernel, which does only handling of the communication between the client and the servers. The operating system in split in parts, each part can handle only one fact of the system, for example file services ,memory management, process services etc. This each part becomes so simple, small and easy to manage. Even there is no direct access to the hardware as all the servers do run in the user mode not in kernel mode. This is very helpful and convenient as if there is an error in any one of the service that service may crash, but it will not affect the whole machine, so that the machine does not crash.
Another major advantage of the client server model is its ability to use in disturbed systems. If a client communicates with server by sending request to the server, client need not whether the request is handling locally or as it has been sent across network to remote machine, as the client gets in request processed and get the result. For complex functions, the server process is running kernel mode and have access to all hardware, but still they communicate with other processing using same mechanism.

MOHIT BHARDWAJ

Hello Visitors, myself Mohit Bhardwaj working in blogging sector since last 8 years. my qualification in bachelor degree in computer science steam. contact Number: 80910-51002

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Our Visitor

002285
Users Today : 17
Users Yesterday : 21
Users Last 7 days : 152
Users Last 30 days : 629
Users This Month : 451
Users This Year : 2284
Total Users : 2285
Views Today : 83
Views Yesterday : 29
Views Last 7 days : 408
Views Last 30 days : 1802
Views This Month : 1347
Views This Year : 5702
Total views : 5703
Who's Online : 1
error: Content is protected !!