---
title: "Microkernel vs monolithic kernel"
subject: "Distributed System"
chapter: 3
key: "semester_7/distributed_system:microkernel-advantages"
source: https://www.bctengineer.com/q/semester_7/distributed_system/microkernel-advantages
site: BCT Engineering
---

# Microkernel vs monolithic kernel

Distributed System · Chapter 3: Operating System Support

- Asked in: 2073 Shrawan, 2+3 marks
- Video: [Difference between monolithic and micro kernel in OS](https://www.youtube.com/watch?v=OAl60mDiZc8) — LS Academy for Technical Education 
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_7/distributed_system/microkernel-advantages
- Whole chapter: https://www.bctengineer.com/md/semester_7/distributed_system/chapter-3

## Question

What are the advantages of micro-kernel over monolithic-kernel? In your view, which kernel is preferable for distributed operating system and why?

## Short answer

Microkernels offer modularity, small size, reliability (server failure do not crash kernel), flexibility, and distribution support via message passing. They are preferable for distributed OS because message passing naturally extends across machines, enabling location transparency, dynamic service placement, and tolerance of service failures.

## Answer

#### Advantages of microkernel over monolithic kernel
1. **Modularity and flexibility:** services are separate servers that can be added, replaced or upgraded without recompiling the kernel.
2. **Small size:** the kernel is small and simple, easier to understand, test and verify.
3. **Reliability:** failure of a server (file or driver) does not crash the kernel; it can be restarted.
4. **Security:** the services run in user space with less privilege.
5. **Portability:** only the small kernel depends on hardware.
6. **Distribution support:** the same message passing is used for local and remote services, so servers may run on any node (location transparency).
7. **Several OS personalities** can run on one microkernel.

Drawback: message passing and extra context switches make it slower than a monolithic kernel.

| Point | Monolithic kernel | Microkernel |
|---|---|---|
| Structure | All OS services (file system, memory, scheduling, drivers, networking) in one large kernel in kernel space | Only minimum functions (IPC, basic scheduling, low level memory, interrupts) in kernel |
| Other services | Part of kernel | Run as user-level servers |
| Communication | Direct procedure calls (fast) | Message passing between servers (slower) |
| Size | Large | Small |
| Reliability | A bug in one module can crash the system | A server failure does not crash the kernel |
| Flexibility, extensibility | Hard; needs recompilation | Easy; add/replace servers |
| Examples | UNIX, Linux, MS-DOS | Mach, Amoeba, Chorus, QNX |

#### Preferred kernel for a distributed OS
The **microkernel** is preferable. A distributed OS needs communication by messages across machines, transparent location of services, the ability to put different services on different nodes, to add or change services dynamically, and to tolerate the failure of services. A microkernel gives all of these, with IPC as the basic mechanism. The performance loss is acceptable compared with the network delays, and can be reduced by optimising IPC.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. Why is a microkernel more flexible than a monolithic kernel?
   A. Services are separate servers that can be added or replaced without recompiling the kernel
   B. All services are fixed in the kernel
   C. It has more kernel code
   D. It needs recompilation for every change
   Answer: A. Modularity and extensibility are key advantages. (Key point: Modularity)

2. What happens when a file server fails in a microkernel system?
   A. The kernel must be recompiled
   B. All other servers stop
   C. The whole system crashes
   D. The kernel keeps running and the server can be restarted
   Answer: D. Servers run in user space with less privilege. (Key point: Reliability)

3. Why does a microkernel suit a distributed OS?
   A. It runs only one service
   B. It has no IPC
   C. The same message passing serves local and remote services, so servers can run on any node
   D. It uses shared memory between all nodes
   Answer: C. This gives location transparency. (Key point: Distribution)

4. What is the drawback of microkernel, and why is it acceptable?
   A. It cannot be ported
   B. Message passing makes it slower, but the loss is small compared with network delays and IPC can be optimised
   C. It needs larger kernels
   D. It is less secure, which cannot be improved
   Answer: B. So the microkernel is preferred for a distributed OS. (Key point: Drawback)

## Related in Distributed System

- [Short note: Monolithic and microkernel](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Amonolithic-microkernel-note) — Distributed System, chapter 3, asked 4×
- [DOS; monolithic and microkernel](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Ados-monolithic-microkernel) — Distributed System, chapter 3
- [Autonomous vs distributed system](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Aautonomous-vs-distributed) — Distributed System, chapter 1
- [Operating system layers](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Aos-layers) — Distributed System, chapter 3
- [Network OS vs distributed OS](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Anos-vs-dos-diff) — Distributed System, chapter 3
- [Models of distributed system](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Amodels-of-ds) — Distributed System, chapter 1

## Related in other subjects

- [Monolithic vs micro-kernel structure](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Amonolithic-vs-microkernel) — Operating System, chapter 1
- [Extended machine, kernel, system call](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Aextended-machine-kernel-syscall) — Operating System, chapter 1
- [System call; monolithic and VM architecture](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Asystem-call-architecture) — Operating System, chapter 1
- [Layered vs monolithic OS structure](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Alayered-vs-monolithic) — Operating System, chapter 1
