Core Fundamentals
- 1.Why Build a Kernel? Processes, Memory & the Illusion of Multitasking
- 2.Physical Memory: A Byte Array and a Free-List Allocator
- 3.Virtual Memory: Address Translation & Page Tables
- 4.Processes & the Process Control Block
- 5.Context Switching: Saving & Restoring Execution State
- 6.Interrupts & System Calls: The Boundary Between User and Kernel
- 7.Cooperative Scheduling: A Simple Round-Robin Scheduler
- 8.Preemptive Scheduling & Timer Interrupts
- 9.Priority Scheduling & the Starvation Problem
- 10.Capstone: A Working Multi-Process Kernel
Read as One Page
PDF Downloads
Exercise Solutions
oskernel1-1_challenge1.txtoskernel1-1_challenge2.txtoskernel1-1_challenge3.txtoskernel1-2_challenge1.txtoskernel1-2_challenge2.txtoskernel1-2_challenge3.txtoskernel1-3_challenge1.txtoskernel1-3_challenge2.txtoskernel1-3_challenge3.txtoskernel1-4_challenge1.txtoskernel1-4_challenge2.txtoskernel1-4_challenge3.txtoskernel1-5_challenge1.txtoskernel1-5_challenge2.txtoskernel1-5_challenge3.txtoskernel1-6_challenge1.txtoskernel1-6_challenge2.txtoskernel1-6_challenge3.txtoskernel1-7_challenge1.txtoskernel1-7_challenge2.txtoskernel1-7_challenge3.txtoskernel1-8_challenge1.txtoskernel1-8_challenge2.txtoskernel1-8_challenge3.txtoskernel1-9_challenge1.txtoskernel1-9_challenge2.txtoskernel1-9_challenge3.txt