Operating System From Scratch : learn OS by practice
This is not one project. This is a project series. Following these steps, you'll see how to write your own Operating System from scratch:
Step 01: A smallest "OS"_
Step 02: Setup the development environment_
Step 03: x86 Protect Mode_
Step 04: Boot loader_
Step 05: Kernel_
Step 06: Process_
Step 07: TTYs_
Step 08: IPC_
Step 09: File System_
Step 10: Memory Management_
Step 11: Learn with fun_
There are many ways to learn OS, but I believe the best way is to learn by practice. There are many open source OS code, but the code bases are huge. You will get lost in the source code labyrinth.
There are good books, Operating System: Design and Implementation by A.S. Tanenbaum and A.S. Woodhull for example, but they don't teach you where to begin either.
That's why you should come here. If Tanenbaum's book is a reference, my project series is a tutorial. Prof. Tanenbaum tells you what. I'll tell you how.
Click here_ to begin your OS journey.
.. _here: https://github.com/yyu/osfs01 .. _
Step 01: A smallest "OS": https://github.com/yyu/osfs01 .. _
Step 02: Setup the development environment: https://github.com/yyu/osfs02 .. _
Step 03: x86 Protect Mode: https://github.com/yyu/osfs03 .. _
Step 04: Boot loader: https://github.com/yyu/osfs04 .. _
Step 05: Kernel: https://github.com/yyu/osfs05 .. _
Step 06: Process: https://github.com/yyu/osfs06 .. _
Step 07: TTYs: https://github.com/yyu/osfs07 .. _
Step 08: IPC: https://github.com/yyu/osfs08 .. _
Step 09: File System: https://github.com/yyu/osfs09 .. _
Step 10: Memory Management: https://github.com/yyu/osfs10 .. _
Step 11: Learn with fun: https://github.com/yyu/osfs11