I would like to learn more about osdev. So I thought about learning from other small kernels to get better at osdev. Is there any good kernel for learning osdev? Of course it needs to be GPL so I can have access to source code and have the freedom to modify it.
Because it stays in memory, it is important for the kernel to be as small as possible while still providing all the essential services required by other parts of the operating system and applications.
A monolithic kernel is one single program that contains all of the code necessary to perform every kernel-related task. Every part which is to be accessed by most programs which cannot be put in a library is in the kernel space: Device drivers, scheduler, memory handling, file systems, and network stacks.
The kernel is the essential foundation of a computer's operating system (OS). It is the core that provides basic services for all other parts of the OS.
FreeRTOS is as small as it can get. The kernel image is just 4K-9K! It is an RTOS but it will give you a fair idea about OSs in general too!
Minix is another that many prefer! Though its not that small but its quite popular in education circles!
FemtoOS might also interest you!
TinyOS also serves a similar purpose!
Most of what I've listed come from the embedded world. Because thats where size and simplicity matter!
http://www.stanford.edu/class/cs140/projects/pintos/pintos.html
PintOS is another addition to the above. Very simple framework and implementation is extremely simple to understand. Popularly used to introduce students to OS design and implementation.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With