Understanding the Role of an OS Kernel by Building One from Scratch
summary
Builds a small UNIX-like microkernel from scratch using QEMU as the emulator. Covers writing a boot sector and tiny console to load the kernel, handling hardware (keyboard) and software interrupts, implementing system calls, and a simple multi-process setup to measure context-switch overhead; shows the assembler/linker code and demonstrates successful boot and execution in the emulator.
AI-written summary · about
chapters (24)
- 0:00Introduction
- 1:05OS role and utility
- 2:49Modern kernel architectures
- 4:11Monolithic kernel structure
- 5:40Boot sector operation
- 7:45Kernel stack and init
- 9:30Execution modes and virtual memory
- 11:17Memory segment management
- 13:31Leaving assembly in kernel dev
- 14:34Hardware device communication
- 17:46DMA and performance
- 18:48Hardware interrupts and exceptions
- 21:57Kernel interrupt handling
- 24:25Software interrupts and system calls
- 26:10Protection rings and security
- 28:46System calls in assembly
- 30:10Kernel role in user apps
- 31:55Multitasking and scheduling
- 33:04System clock and time management
- 34:50Task context and switching
- 37:23Virtual file system
- 39:28Hybrid kernels and loadable modules
- 41:56Kernel creation tools
- 43:41Dev resources and communities
related talks
31mintermezzOS: a teaching operating system
38mIntermezzos
11mBuild your own virtual machine with /dev/kvm and Rust!
49mHow to Build an OS With Erlang: A Whistle-Stop Tour of HydrOS
27mBuilding a Low-key XIP-enabled RISC-V Linux System
01h 34mNeotron - Writing a Single-Tasking ‘DOS’ for Arm Microcontrollers, in Rust
01h 01mNeotron - why write a brand new ‘DOS’ for Arm in Rust?
39mErlang on Microcontrollers: The Research Continues
