Kernels: Difference between revisions

From OSDev.wiki
Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content added Content deleted
(added exokernel summary)
 
(14 intermediate revisions by 6 users not shown)
Line 1: Line 1:
#REDIRECT [[Kernel]]
{{In Progress}}


{{Redirect page}}
==Kernel Models==

===Monolithic Kernel===
{{main|Monolithic kernel}}
Monolithic Kernels function with all of the kernel and device drivers inside one address space running in kernel mode. The principle advantage to this approach is efficiency (especially on x86 architectures where a task switch is a particularly expensive operation). Unfortunately, due to it's single address space, a bug in a device driver can bring down the entire system.

===Microkernel===
{{main|Microkernel}}
A Microkernel tries to run runs most of it's services and device drivers in userspace. This can result in an increase in stability and possibly security on machines that have a Memory Management Unit.

===Exokernel===
{{main|Exokernel}}
An Exokernel is intended to give untrusted programs as much control over the hardware as possible, and in a secure way. This allows programs to take advantage of the details of present hardware instead of having to rely on the kernel to do this, which in some cases can result in drastic performance improvements. This goes however at the cost of having to write more complex software.

[[Category:Kernel]]
[[Category:Design]]

Latest revision as of 09:59, 22 June 2024

Redirect to:

This page is a redirect.
This redirect is categorized in following manner: