User:Lionel/What kind of kernel should I make?: Difference between revisions

Jump to navigation Jump to search
Converted Difficulties to rating boxes
(→‎Hybrid: Fixed some things and added XNU/OSX)
(Converted Difficulties to rating boxes)
Line 16:
 
=== Megalithic ===
{{Rating|1}}
{{main|Megalithic Kernel}}
Difficulty:[[File:Difficulty_1.png]]
----
It only keeps to itself, not sharing anything with user-mode. A Megalithic kernel is probably the easiest because everything is in the kernel binary, which means that there is no task switching. This is probably the kind of kernel you should make if you are developing on a embedded system.
 
=== Monolithic ===
{{Rating|1}}
{{main|Monolithic Kernel}}
Difficulty:[[File:Difficulty_1.png]]
----
It keeps to itself most of the time, but its mother is making it share with user-mode. A Monolithic kernel is basically a big unchanging binary, and if there is any change, the kernel needs to be replaced again. This design is fast, but not stable, as any bug can break the kernel easily. It would work well on a embedded system, but modern Monolithic Kernels, such as Linux, run on PC's as well. This is the second easiest, and is the one most people start out on, as components can be moved to create different archetypes.
 
=== Hybrid ===
{{Rating|2}}
{{main|Hybrid Kernel}}
 
Difficulty:[[File:Difficulty_2.png]]
----
A blend of Monolithic and Micro kernel, some drivers are in kernel mode and some out. This will work quite well, as you don't have to change between modes for any privileged instruction, while code that doesn't need kernel privileges won't bring it down. However, discerning needs to be done, making it more difficult. Windows NT (XP+) and XNU(OSX) use this design.
43

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu