Home - josehu07/hux-kernel GitHub Wiki
Welcome to the Hux kernel wiki!
Developing A Toy OS Kernel From Scratch
I will document the whole development process of Hux plus everything I reckon important here. This wiki essentially serves as a tutorial on how to develop one's own toy OS kernel from scratch. I will try to keep a balance between theory and practice (implementation), and explain all the important details in a clear way.
If there are any typos/mistakes/errors, please raise an issue!
Table of Contents
- 01. Prerequisite Readings
- Bare Bones
- Meaty Skeleton
- Virtualizing the Memory (Paging, Heap Memory)
- Virtualizing the CPU (User Processes, Scheduling)
- Persistence (Hard Disk Driver, File System)
- 18. IDE Hard Disk Driver
- 19. File System Interface
- 20. FS Data Structures
- 21. FS Internal Operations
- 22. File-Related Syscalls
-
- Page Cache Implementation?
-
- Journaling for Consistency?
- ...
- Concurrency (Multi-Threading, Synchronization)
- 30. Adopting Mutex Locks
-
- Introducing Threads?
- ...
You will need basic operating systems knowledge before reading these dev documents. The OSTEP book is a good resource (and is probably a must). Also check out my structured reading note of the book.
Enjoy! 😁