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

From OSDev.wiki
Jump to navigation Jump to search
This page is a work in progress.
This page may thus be incomplete. Its content may be changed in the near future.

This is a personal choice. Some kernels may have advantages that others don't, but they also have disadvantages. You can start out with an already made kernel, and develop from there. Or you can create your own completely different kind of kernel that is 100% yours. It's your choice. There is no wrong way to develop a kernel, unless, of course it causes too many problems. But if you want to know what common parts make a kernel "sane" then keep on reading.

Common Parts

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) Interupt handling

Main article: 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, replace all instances of "interrupt" with "polling".

Common Archetypes

Micro Mac