Resources for studying operating systems.
-
OSTEP The book is centered around three conceptual pieces that are fundamental to operating systems: virtualization, concurrency, and persistence. In understanding the conceptual, you will also learn the practical, including how an operating system does things like schedule the CPU, manage memory, and store files persistently.
-
xv6 at MIT Xv6 is a teaching operating system developed in the summer of 2006 for MIT's operating systems course, 6.828: Operating System Engineering.
- Commentary on the Sixth Edition UNIX Operating System: The book mentioned by Tanenbaum. It was published in 2 column format. The section on reading C code is great. It helps to remember all code must be compiled down to assembly instructions which are executed by the CPU. Registers on the CPU hold pointers to memory.
-
XINU: XINU stands for Xinu Is Not Unix -- although it shares concepts and even names with Unix, the internal design differs completely. Xinu is a small, elegant operating system that supports dynamic process creation, dynamic memory allocation, network communication, local and remote file systems, a shell, and device-independent I/O functions. The small size makes Xinu suitable for embedded environments.
- Andrew S. Tanenbaum: The Impact of MINIX: story of UNIX from a cultural perspective.