Wednesday 22 February 2012

Microkernel(relative to monolithic kernel)


Microkernel(relative to monolithic kernel)
Microkernel is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system (OS). From this sentence, we can get several points below:
1) Microkernel is very small.
2) Microkernel contains some program such as low-level address space managementthread managementschedulingIPC(inter-process communication) and so on which are all very basic tools.
3) The functionalities mentioned above are all very necessary for a OS kernel(here kernel don't need to provide these features any more, maybe just some drivers, internet module or something else). So Microkernel OS is much more portable because of its small size.
4) Here other operating systems are implemented on user mode above the microkernel.
5) From the picture below, we can see that an obvious difference between Microkernel and Monolithic kernel is that application in Monolithic kernel communicate with kernel level through system call. However application in Microkernel OS communicate with driversservers, and other applications through IPC instead of system call.

As a microkernel must allow building arbitrary operating system services on top, it must provide some core functionalityAt the least, this includes:
    1) some mechanisms for dealing with address spaces — this is required for managing memory protection;
    2) some execution abstraction to manage CPU allocation — typically threads or scheduler activations; and
    3) inter-process communication — required to invoke servers running in their own address spaces.


No comments:

Post a Comment

Difference between "docker stop" and "docker kill"

 To stop a running container, you can use either "docker stop" or "docker kill" command to do so. Although it seems doin...