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

Jump to navigation Jump to search
Added Microkernel, and added same kind of intro to hybrid
(Converted Difficulties to rating boxes)
(Added Microkernel, and added same kind of intro to hybrid)
Line 5:
A kernel needs to have some basic parts, even if they are stubs that call something else. Feel free to add anything that you think most kernels need.
 
=== (x86/ARM) InteruptInterrupt handling ===
{{main|Interrupts}}
This is a must, because ''any'' kernel needs to handle requests and notifications for the hardware. If the CPU doesn't support some type of signaling system, replaceyour allbest instancesbet ofis "interrupt" with "polling".
 
=== Input/Output (I/O) ===
Line 23:
{{Rating|1}}
{{main|Monolithic Kernel}}
It keeps to itself most of the time, but its mother is making it shareplay 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 can be not stable if not done correctly, 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.
 
=== Micro ===
{{Rating|2}}
{{main|Microkernel}}
It is very social, and loves to play almost the whole day with user-mode. A Microkernel tries to export all functionality into user-space. It is generally very stable, as if a server or daemon crashes, it can be restarted by the kernel or init. The main thing you want to be fast here is the [[Inter-Process Communication]], as processes will need to be switched between quickly. This isn't the fastest, but probably is best when stability is required. This kind of kernel is recommended for servers.
 
=== Hybrid ===
Line 29 ⟶ 34:
{{main|Hybrid Kernel}}
 
AIts blendtwo ofbest friends, Monolithic and Micro kernel,have somerubbed driversoff areon init kerneland modeit andacts like both. It is alone sometimes, but is happy to share somewith outuser-space. This willsystem workworks 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