Monolithic Operating System
Monolithic Operating System:
A monolithic an operating system architecture where the entire operating system is working in kernel space. The monolithic model differs from other operating system architectures. The monolithic operating system is a very basic operating system in which file management, memory management, device management, and process management are directly controlled within the kernel.
Monolithic system is also known as simple system. This approach the entire operating system runs as a single program in kernel mode. The operating system is written as a collection of procedures, linked together into a single large executable binary program. When this technique is used, each procedure in the system is free to call any other one, if the latter provides some useful computation that the former needs. Having thousands of procedures that can call each other without restriction.
To construct the actual object program of the operating system when this approach is used, one first compiler all the individual procedures and then binds them all together into a single executable file using the system linker. In terms of information hiding, there is essentially non-every procedure is visible to every other procedure. The services provided by the operating system are requested by putting the parameters in a well-defined place and then executing a trap instruction. This instruction switches the machine from user mode to kernel mode and transfers control to the operating system. The operating system then fetches the parameters and determines which system call is to be carried out.
Figure: Structure of Monolithic System
This is basic structure for the operating system –
- A main program that invokes the requested service procedure.
- A set of service procedures that carry out the system calls.
- A set of utility procedures that help the service procedures.
In this model, for each system call there is one service procedure that takes care of it and executes it. The utility procedures do things that are required by various service procedures, such as fetching data from user programs.
Comments
Post a Comment