smalload is a small, fast and efficient C kernel designed as a learning project inspired by Andrew S. Tanenbaum’s Modern Operating Systems. It aims to implement core OS concepts in a minimalistic, understandable way—starting from scratch, in KISS(Keep It Stupid Simple)-philosophy in C.
This project is an exploration of operating systems internals from the ground up, with the goal of learning:
- Low-level system programming in C
- Fundamental OS concepts like bootloading, memory management, scheduling, and file systems
- How kernels interact with hardware
- How to structure and debug bare-metal software
This project takes heavy inspiration from Tanenbaum’s Modern Operating Systems, following many of the architectural and conceptual models described in the book. While not a direct copy, smalload borrows ideas from educational OS designs like MINIX.
The sources are, as mentioned above, are "Modern Operating Systems" from Tannenbaum, aswell as oswiki and their recommended books.
- Bootable C kernel
- Simple command-line shell
- Cooperative multitasking
- Basic memory management
- Simple file system (TBD)
C is the language of operating systems. C is cool.
Though question! I started this project to mainly learn C and lower-level languages, and will work on this project aside from my educational career, more like a hobby. Conclusio, the project can last up to 5 Months or 2 years.