Board logo

subject: Monolithic Kernel v/s Micro Kernel [print this page]


Monolithic Kernel v/s Micro Kernel
Monolithic Kernel v/s Micro Kernel

The kernel is the indispensable and therefore most important part of an operating system. Roughly, an operating system itself consits of two parts: the kernel space (privileged mode) and the user space (unprivileged mode). Without that, protection between the processes would be impossible. There are two different concepts of kernels: monolithic kernel and mu-kernel (microkernel). The older approach is the monolithic kernel, of which Unix, MS-DOS and the early Mac OS are typical representants of. It runs every basic system service like process and memory managment, interrupt handling and I/O communication, file system, etc. in kernel space (Figure 1). It is constructed in a layered fashion, built up from the fundemental process managment up to the interfaces to the rest of the operating system (libraries and on top of them the applications).

The kernel internally contains many components, such as a memorymanager, scheduler, numerous device drivers, a file system, and so on.When an operating system is being written, there are numerous designphilosophies which the designers can adopt.At one extreme is the monolithic kernel, in which all of thecomponents mentioned above, and many others, are all lumped into a

single operating system file.

At the other extreme is the microkernel, where only the bare minimumis put into the kernel file, and every thing else is put into seperate programs, which the microkernel loads and runs at boot time.

Monolithic systems are easier to design and implement then othersystems, and extremely efficient if well-written.The main disadvantage of monolithic kernels are the dependenciesbetween system components - a bug in a device driver might crash theentire systems - and the fact that large kernels can become verydifficult to maintain.




welcome to loan (http://www.yloan.com/) Powered by Discuz! 5.5.0