In nowadays, we can find lots of operating systems in the digital world. Apart from learning in OS textbooks, how can we experience the construction of an OS kernel and studying the relative system software? In this agendum, we will introduce a minimal OS kernel with GNU Toolchain and QEMU. It provides several features like time-sharing, multi-tasking, user-level thread, loading ELF dynamically, memory management, filesystem, stack overflow detection, etc. The whole system is composed of about 2K lines of code and can be run on Arm/AArch64 architecture (including Raspberry Pi 4B).
About Oscar Shiang
A student from NCKU. Except for watching dramas, listening to music, I also like to participate in software development.