Anonymous user
Microkernel: Difference between revisions
The memory manager *may* be implemented in userspace - doesn't have to be.
[unchecked revision] | [unchecked revision] |
(testing out image) |
(The memory manager *may* be implemented in userspace - doesn't have to be.) |
||
(16 intermediate revisions by 10 users not shown) | |||
Line 1:
{{Template:Kernel designs}}
== Design ==
[[Image:Microkernel.png|frame|right|Basic overview of a microkernel]]
A Microkernel tries to run most services - like networking, filesystem, etc. - as daemons / servers in user space. All that's left to do for the kernel are basic services, like physical memory allocation (the actual memory '''manager''' may be implemented in userspace), scheduling, and messaging (Inter Process Communication).
In theory, this concept makes the kernel more responsive (since much functionality resides in preemptible user-space threads and processes, removing the need for context-switching into the kernel proper), and improves the stability of the kernel by reducing the amount of code running in kernel space. There are also additional benefits for OS'
AmigaOS, for example, was a microkernel - and an unusual one: Since the original AmigaOS had no memory protection, its messaging was as quick as it could get (passing a pointer to memory), making the AmigaOS kernel one of the fastest ever devised. On the other hand, that lack of memory protection also meant that the microkernel architecture gave no added stability (later versions did implement MMU support, but at the same speed cost that affects other microkernel systems).
Line 13 ⟶ 14:
It's also possible for an OS design to borrow concepts from both monolithic kernels and micro-kernels in order to use the benefits of either method where appropriate.
==
* Mach
* QNX
* [[L4]]
* AmigaOS
* [http://minix3.org Minix]
== See Also ==
===Recommended Reading===▼
*[http://www.google.com/search?q=The+Increasing+Irrelevance+of+IPC+Performance+for+Microkernel-Based+Operating+Systems The Increasing Irrelevance of IPC performance in Microkernel-based Operating Systems] by Brian N. Bershad▼
=== Forum Threads ===
*[http://www.google.com/search?q=The+Persistent+Relevance+of+IPC+Performance+for+Microkernel-Based+Operating+Systems The Persistent Relevance of IPC performance in Microkernel-based Operating Systems] by Wilson C. Hsieh, M. Frans Kaashoek, and William E. Weihl▼
* [[Topic:10099|microkernels]]
*[http://citeseer.ist.psu.edu/408369.html µ-Kernels Must And Can Be Small] by Jochen Liedtke▼
* [[Topic:10234|discussing microkernel vs modular macrokernel]]
▲==== Recommended Reading ====
▲* [http://www.google.com/search?q=The+Increasing+Irrelevance+of+IPC+Performance+for+Microkernel-Based+Operating+Systems The Increasing Irrelevance of IPC performance in Microkernel-based Operating Systems] by Brian N. Bershad
▲* [http://www.google.com/search?q=The+Persistent+Relevance+of+IPC+Performance+for+Microkernel-Based+Operating+Systems The Persistent Relevance of IPC performance in Microkernel-based Operating Systems] by Wilson C. Hsieh, M. Frans Kaashoek, and William E. Weihl
▲* [http://citeseer.ist.psu.edu/408369.html µ-Kernels Must And Can Be Small] by Jochen Liedtke
* [http://linuxfinances.info/info/microkernel.html Microkernel-based OS Efforts] by Christopher Browne
* [http://web.archive.org/web/20140803112320/http://i30www.ira.uka.de/~neider/edu/mkc/mkc.html Microkernel Construction Notes] by Raphael Neider
[[Category:Kernel]]
|