Information Is Bits + Context

1.1 Information Is Bits + Context

Our hello program begins life as a source program (or source file) that the programmer creates with an editor and saves in a text file called hello.c. The source program is a sequence of bits, each with a value of 0 or 1, organized in 8-bit chunks called bytes. Each byte represents some text character in the program.

1.2 Programs Are Translated by Other Programs to Different Forms

  1. #! /usr/bin/env bash
  2. # cpp
  3. gcc -E hello.c -o hello.i
  4. # ccl
  5. gcc -S hello.i -o hello.s
  6. # as
  7. gcc -c hello.s -o hello.o
  8. # ld
  9. gcc hello.o -o hello

1.3 It Pays to Understand How Compilation Systems Work

  • Optimizing program performance.
  • Understanding link-time errors.
  • Avoiding security holes.

1.4 Processors Read and Interpret Instructions Stored in Memory

1.4.1 Hardware Organization of a System

  • Buses
  • I/O Devices
  • Main Memory
  • Processor

1.4.2 Runing the hello Program

1.5 Caches Matter

1.6 Storage Devices Form a Hierarchy

1.7 The Oprating System Manages the Hardware

1.7.1 Processes

1.7.2 Threads

1.7.3 Virtual Memory

1.7.4 Files

1.8 Systems Communicate with Other Systems Using Networks

1.9 Important Themes

1.9.1 Amdahl’s Law

1.9.2 Concurrency and Parallelism

  • Thread-Level Concurrency
  • Instruction-Level Parallelism
  • Single-Instruction, Multiple-Data (SIMD) Parallelism

1.9.3 The Importance of Abstractions in Computer Systems

Reference

  1. Book:Computer.Systems.A.Programmers.Perspective.3rd.Global.Edition.2015.7-csapp.pdf
  2. CASPP 导读