Part III: Kernel Programming

Part III builds one kernel. Chapters 9 to 14 grow it one layer at a time, from the switch to protected mode to a program loaded from an ext2 disk and run in ring 3; chapter 15 adds fork and exec on top; chapter 16 is about the kernel that does not boot, and how to find out why. Every chapter opens with a “Running this chapter’s code” subsection that tells you how to build, boot and test the code of that chapter under code/chapterN/os, and ends with exercises and a few “Check your understanding” questions whose answers are in Appendix E.