Skip to content
Contents
Operating Systems: From 0 to 1
Dark mode
Preface
0
Setting up the development environment
Part I: Preliminary
1
Domain documents
2
From hardware to software: Layers of abstraction
3
Computer Architecture
4
x86 Assembly and C
5
The Anatomy of a Program
6
Runtime inspection and debug
Part II: Groundwork
7
Bootloader
8
Linking and loading on bare metal
Part III: Kernel Programming
9
Protected mode and x86 descriptors
10
Talking to devices: the serial port and the VGA text console
11
Interrupts
12
Memory management
13
Processes: context switching, scheduling, user mode and system calls
14
File system
15
Address spaces: fork and exec
16
When it does not boot: debugging a kernel
17
Epilogue: long mode, UEFI, SMP and where to go next
A
Toolchain and flags reference
B
Errata of the first edition
C
A minimal long-mode bootstrap
D
Reading the Intel and AMD manuals
E
Answers to the Check your understanding questions
Glossary
Bibliography
← Runtime inspection and debug
Bootloader →
Part II: Groundwork
Previous
Runtime inspection and debug
Next
Bootloader