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 designed to be present topics in as independent manner as possible so that it can be used as a primary textbook for a wide range of introductory-level computer systems courses, or as a supplemental background textbook for upper-level courses that cover Operating Systems, Computer Architecture, Compilers, Networks, Databases, and Parallel Computing.