Please explain the difference between microkernel and monolithic kernel

Posted on 2009-05-02
Last Modified: 2016-07-04
I have many threads in the google and find many results and read them.

But the answer is very ambiguous and lives each other's toes . where to find more precise definition ?

please post somewhere that I can find the extract precise definition.Even the wikipeadia does not
explains it.

here there they messed I think.

anyhow what is the correct definition ? and please explain with the examples.
Question by:NicAx64
    LVL 9

    Accepted Solution


    Author Comment

    so I read that PDF and thanks.

    so according to it says the main difference is the separation and isolation of the core kernel componment
    and other parts. Like memory manager , device manager , process and thread manager etc...

    so in a monolithic kernel those every parts are build into a one mess , and in the micro-kernel you can
    see them much more separately clear and it's isolated.

    am I correct ?

    thanks tillgeffken: but I don't know whether I met the solution or not.

    Author Comment

    so in a micro-kernel the the micro-kernel part is just responsible for the communication and integration
    between other parts. like memory manager , process manager and device manager etc.

    and it's designed to fit into the processor cache memory.

    please explain sir am I correct ?
    LVL 9

    Assisted Solution

    The difference between the two concepts is rather simple. Monolithic kernels have more functionality in the kernel space. Microkernels have that functionality outside of the kernel space in user land.

    That results in two things:

    1. The Monolithic kernel doesn't have to deal with the extra message transport between user and kernel space for calls to that functionality.

    2. Functionality that is outside of kernel space cannot crash the kernel.

    I'm not saying that a monolithic kernel is more likely to crash, it just has more things to worry about. It all depends on the implementation.

    Author Comment

    >>The difference between the two concepts is rather simple. Monolithic kernels have more functionality in >>the kernel space. Microkernels have that functionality outside of the kernel space in user land.

    what you mean by the user land ? For a example when there is a device driver running in a micro kernel
    design is seperated from the kernel space. But anyhow it have the code to access the system I/O because
    it's a device how can we call it as a "user land" ?

    please explain this.
    LVL 9

    Assisted Solution

    In a microkernel environment the device driver communicates with the kernel through the channels provided by the kernel. However the driver cannot access the kernels address space directly. User land is just anything that is not kernel space.

    Author Closing Comment

    thanks for the everyone who answer this question.

    -- Thanks in advance --

    Expert Comment

    by:abhishek maheshwari
    Monolithic kernel: A monolithic kernel has all OS services (including device drivers, network stacks,
    file systems, etc.) running within the privileged mode of the processor.
    A monolithic kernel is easier to make more efficient (because OS services can run completely without
    switches from privileged to non-privileged mode) UNIX, Linux and Microsoft NT Micro kernel.

    A micro-kernel, on the other hand, uses the privileged mode only for really core services, and has most of the device drivers and OS services running as “normal” tasks. Micro-kernel is more difficult to crash (an error in a device driver that doesn’t run in privileged mode is less likely to cause a system halt than an error occurring in privileged mode). QNX, FIASCO, VxWorks, and GNU/Hurd.

    Source:-Diference between monolithic kernel and micro kernel

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    How your wiki can always stay up-to-date

    Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
    - Increase transparency
    - Onboard new hires faster
    - Access from mobile/offline

    Over the last ten+ years I have seen Linux configuration tools come and go. In the early days there was the tried-and-true, all-powerful linuxconf that many thought would remain the one and only Linux configuration tool until the end of times. Well,…
    Setting up Secure Ubuntu server on VMware 1.      Insert the Ubuntu Server distribution CD or attach the ISO of the CD which is in the “Datastore”. Note that it is important to install the x64 edition on servers, not the X86 editions. 2.      Power on th…
    Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
    Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:

    759 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    14 Experts available now in Live!

    Get 1:1 Help Now