Introduction

30日でできる! OS自作入門

Some self-talking

This serial should have been written in japanese, since the book has a japanese author. However, due to my laziness, I do not grasp the language, so the language of computer —- English, will be used instead.

I know the book is newbie oriented, I may not learn much from it. The knowledge may be trivial, but I still want to get some hand-on experience with writing Operating System.

Peek at our 30 day journey

和别的程序相比,其实编写操作系统并没有那么难,至少笔者的感觉是这样的。

  • Day 0 : Before getting started
  • Day 1 : From computer architecture to assembly language
  • Day 2 : Assembly and Makefile
  • Day 3 : Entering 32-bit mode and the C language
  • Day 4 : Practice the C language
  • Day 5 : Show case and initialize the GDT/IDT
  • Day 6 : Separated compilation and Interruption handler
  • Day 7 : FIFO and mouse click
  • Day 8 : mouse click and switch to 32-bit mode
  • Day 9 : Memory Management
  • Day 10 : Overlapping
  • Day 11 : GUI, make the window
  • Day 12 : Timer Part I
  • Day 13 : Timer Part II
  • Day 14 : High resolution and keyboard input
  • Day 15 : Multi-task Part I
  • Day 16 : Multi-task Part II
  • Day 17 : Command line window
  • Day 18 : the dir command
  • Day 19 : Application
  • Day 20 : API
  • Day 21 : Protect the OS
  • Day 22 : Application with C
  • Day 23 : GUI stuff
  • Day 24 : Window operation
  • Day 25 : Adding command line window
  • Day 26 : Accelerate windows moving
  • Day 27 : LDT and libraries
  • Day 28 : File operations and text display
  • Day 29 : Some simple applications
  • Day 30 : Advanced applications
  • Day 31 : Summary

After reading

  • Too many highly customized tools !
  • If you are person who would like to figure out how things work rather than be told “Just believe me, do this and it works”, Don’t read this book !!! (from my own perspective)
  • wiki.osdev.org is a better place for “learning” OS dev rather then “seeing” OS dev. The author of the book is undubitably a powerful and sophisticated programmer, but he decide this book to be noob-oriented ……
  • And after reading Beginner Mistakes on osdev, I understand a bit more about why I feel uncomfortable reading the book. The book is trying to introduce a very very difficult topic to completely noobs and make it understandable. So it is just impossible for author to explain every thing in detail.
  • If you want to learn OS, it maybe, just maybe easier to get start with LFS. Dig deeper into source code after having a higher level of view may do some good.