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.
The Development of the C Language
Understanding the Instruction Pipeline
man
Pagesman, ls, pwd, mkdir, rmdir, rm, cd, mv, cp, touch, echo, whoami, sort, cat, nl, cut, grep
Useful for getting familiar with common version control terminology, independent of specific software like git.