Dive Into Systems: A Gentle Introduction to Computer Systems
- 13h 18m
- Kevin C. Webb, Suzanne J. Matthews, Tia Newhall
- No Starch Press
- 2022
Dive Into Systems is a vivid introduction to computer organization, architecture, and operating systems that is already being used as a classroom textbook at more than 25 universities.
This textbook is a crash course in the major hardware and software components of a modern computer system. Designed for use in a wide range of introductory-level computer science classes, it guides readers through the vertical slice of a computer so they can develop an understanding of the machine at various layers of abstraction.
Early chapters begin with the basics of the C programming language often used in systems programming. Other topics explore the architecture of modern computers, the inner workings of operating systems, and the assembly languages that translate human-readable instructions into a binary representation that the computer understands. Later chapters explain how to optimize code for various architectures, how to implement parallel computing with shared memory, and how memory management works in multi-core CPUs. Accessible and easy to follow, the book uses images and hands-on exercise to break down complicated topics, including code examples that can be modified and executed.
About the Author
Suzanne J. Matthews is an Associate Professor of Computer Science at the United States Military Academy, West Point. She holds a PhD in Computer Science from Texas A&M University. Her research interests are in parallel computing, single board computers, and computer science education.
Tia Newhall is a professor in the computer science department at Swarthmore College. She holds a PhD in Computer Science from the University of Wisconsin. Her research interests are in parallel and distributed systems.
Kevin C. Webb is an Associate Professor of Computer Science at Swarthmore College. He holds a PhD in Computer Science from UC San Diego. His research interests are in networks, distributed systems, and computer science education.
In this Book
-
Introduction
-
By the C, by the C, by the Beautiful C
-
A Deeper Dive into C Programming
-
C Debugging Tools
-
Binary and Data Representation
-
What von Neumann Knew: Computer Architecture
-
Under the C: Diving into Assembly
-
64-bit X86 Assembly (X86-64)
-
32-BIT X86 ASSEMBLY (IA32)
-
ARM Assembly
-
Key Assembly Takeaways
-
Storage and the Memory Hierarchy
-
Code Optimization
-
The Operating System
-
Leveraging Shared Memory in the Multicore ERA
-
Looking Ahead: Other Parallel Systems and Parallel Programming Models