Operating Systems¶
Step | Book | Course | Video |
---|---|---|---|
Step 1: Learning the basic | Operating Systems: Three Easy Pieces | MIT 6.S081: Operating System Engineering |
Bilibili Official |
Operating Systems: Principles and Practice | UCB CS162: Operating Systems and System Programming |
Bilibili Youtube |
|
Step 2: explore the design decisions of specific operating systems | Lion's commentary on Unix | ||
The Design and Implementation of the FreeBSD Operating System | |||
Mac OS X Internals | |||
Linux Kernel Development |
A great way to consolidate your understanding of operating systems is to read the code of a small kernel and add features. One choice is xv6,
a port of Unix V6 to ANSI C and x86, maintained for a course at MIT. OSTEP has an appendix of potential xv6 labs full of great ideas for potential projects.