Comprehensive curriculum covering process management, threads, concurrency, memory management, system calls, file systems, IPC, and building a mini kernel from scratch. Learn OS internals and systems programming.
Start this track
Implement fork() Semantics in Userspace Process Simulator
build an operating system from scratch
Operating Systems is where you implement the abstractions application code takes for granted. Process management covers schedulers and context. Threads and concurrency force you through mutexes, futex-shaped ideas, and deadlock. Memory management builds buddy and slab allocators and page table intuition. System calls show the ABI boundary. Filesystems and IPC connect storage and communication. The mini kernel path ties boot, interrupts, drivers, and scheduling into one story.
This is not a survey course that stops at diagrams. Tasks expect working code under tests. Primary search intent is "build an OS from scratch" and "how does a kernel schedule processes," which map cleanly onto the subtracks.
You should be comfortable with C and basic assembly before starting. Firmware helps if you want the boot path to feel familiar. After this track, storage engines, networking stacks, and security work stop looking like magic libraries and start looking like policies on top of the same primitives.
How the OS creates, schedules, and terminates processes. Learn about fork(), scheduling algorithms, context switching, and process control blocks.
Multiple execution contexts sharing an address space. Implement green threads, mutexes with compare-and-swap, and synchronization primitives.
How the OS virtualizes physical memory. Implement buddy allocator, slab allocator, page tables, and virtual memory.
The boundary between user space and kernel space. Learn raw syscalls, ptrace for tracing, system call interception, and kernel entry points.
How data is organized and persisted on disk. Implement in-memory filesystems, directory structures, path resolution, and file operations.
How processes talk to each other. Implement pipes, shared memory, message queues, signals, and synchronization primitives.
Capstone subtrack: build a functioning mini kernel from scratch. Learn the boot sequence, protected mode, GDT, IDT, PIC, timer, keyboard and serial drivers, VGA text mode, physical memory mapping, page tables, context switching, round-robin scheduling, and system call interfaces.
Difficulty Progression