⚙️ Operating Systems & Linux Kernel¶
Scheduling, memory management, drivers, and the code that runs before your code.
→ See also: Systems Track · C · Embedded Track
Courses¶
| Course | Platform | Link |
|---|---|---|
| OS Engineering (MIT 6.S081) | MIT OCW | pdos.csail.mit.edu/6.828 |
| Operating Systems (NPTEL, IIT Madras) | NPTEL | NPTEL |
| Linux Kernel Programming (NPTEL) | NPTEL | NPTEL |
| Linux Kernel Development (Bootlin) | Free Slides/Labs | bootlin.com/training/kernel |
| Advanced OS (Georgia Tech) | Udacity (free) | Udacity |
| Writing an OS in Rust | Free Book | os.phil-opp.com |
Books (Free)¶
| Book | Link |
|---|---|
| OSTEP | ostep.org |
| Linux Device Drivers (LDD3) | lwn.net/Kernel/LDD3 |
| Linux Insides | 0xax.gitbooks.io/linux-insides |
| The Linux Kernel Module Programming Guide | sysprog21.github.io/lkmpg |
Resources¶
| Resource | Link |
|---|---|
| Kernel Newbies | kernelnewbies.org |
| LWN.net | lwn.net |
| Linux source (Bootlin Elixir) | elixir.bootlin.com |
Cross-references: C · Systems Track · Embedded Track
Additional Video Courses¶
📺 Top-rated OS lecture series from
cs-video-courses.
| Course | Platform | Institution |
|---|---|---|
| CS 162 Operating Systems and Systems Programming | YouTube | UC Berkeley |
| CS124 Operating Systems | YouTube | Caltech |
| ECE 344 Operating Systems | YouTube | U of Toronto (Jon Eyolfson) |
| CS6200 Introduction to Operating Systems | YouTube | Georgia Tech |