Dive into Systems
diveintosystems.org
Dive into Systems is a free, online textbook that serves as a gentle introduction to computer systems, computer organization, and parallel computing. The book is intended for an audience that has only a CS1 background. It guides readers through a vertical slice of a computer to develop an understanding of a variety of systems topics, including:
how a computer runs a program, from a program expressed in a high-level language to low-level binary representation and circuits
programming in C and Assembly, assuming a CS1 background
introduction to operating systems and the systems costs that affect program performance (the memory hierarchy, caching, and code optimization)
introduction to parallel computing with shared memory and pthreads
Dive into Systems is a free, online textbook that serves as a gentle introduction to computer systems, computer organization, and parallel computing. The book is intended for an audience that has only a CS1 background. It guides readers through a vertical slice of a computer to develop an understanding of a variety of systems topics, including:
how a computer runs a program, from a program expressed in a high-level language to low-level binary representation and circuits
programming in C and Assembly, assuming a CS1 background
introduction to operating systems and the systems costs that affect program performance (the memory hierarchy, caching, and code optimization)
introduction to parallel computing with shared memory and pthreads