A microkernel is easier to maintain. A true microkernel has about 6.000 lines of code, compared with 30m of Linux A microkernel has more stability because it transfers some processes to the user space. If a Linux or Windows driver crashes the whole system crashes because drivers run in kernel mode. A driver crash does not crash the microkernel. In a microkernel design you can port the same system between different microkernels, e.g Hurd/L4. This allows more flexibility. In a monolithic kernel if you change anything you have to recompile the whole kernel again and again. In a microkernel you compile kernel and servers separately (my guess)
It can be ported to other architectures with much less effort.

You can read this 6 page introduction to the differentes between the two http://www.vmars.tuwien.ac.at/courses/akti12/journal/04ss/article_04ss_Roch.pdf Or watch this presentation by Mr. Tanenbaum in youtube http://www.youtube.com/watch?v=bx3KuE7UjGA

Reply via email to