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.
Dive into Systems is a free, online textbook that serves as a gentle introduction to computer systems, computer organization, and parallel computing.
CMU’s x86_64 Assembly guide. Covers various aspects of programming in assembly.
Caveat: Lists the
%rbp register among the ordinary
caller-save registers, whereas we keep its special meaning as the stack
frame base pointer in this course.
Free access here.
See the relationship between C code and Assembly, and quickly test out simple C programs.
Useful for getting familiar with common version control terminology, independent of specific software like git.