CSAPP notes (Chapter One computer system roaming)

The first chapter is relatively plain speaking, a list of what

  • Source file is saved as a text file
  • Different contexts, the same byte sequence representing different meanings
  • Source files are compiled into an object program compilation system, for the implementation of the system
  • Pre-compiled C language, compiler, assembler, linker, to generate the target program
  • Learn compiler theory, we can help optimize application performance, understanding the link failure, protects against security vulnerabilities
  • Internal computer including a CPU, memory, I / O bridge, peripheral bus for communication between them
  • CPU is a porter, almost all operations require CPU involvement, the data transfer from one place to another
  • DMA may not require CPU involvement, the data is transported directly from the disk to the main memory
  • Huge difference in access speed between the various devices, leading to the birth of the cache, CPU> L1 Cache> L2 Cache> L3 Cache> Memory> Disk> Network
  • Operating system and hardware connectivity applications, to provide application isolation hardware abstraction, processes, virtual memory and file
  • At any time, the CPU can perform a processes, CPU switches to simulate multi-process among the plurality of processes, the need to save the current value of the register when switching up, loads the context information to register another process
  • Indeed, a process composed of a plurality of threads, the threads share code and data resources context, the thread corresponds directly to the CPU
  • Virtual memory allows each process that only operate in their own memory, program code and data, heap, stack, shared libraries, kernel virtual memory
  • Linux, all I / O is a file, including disk, keyboard, monitor, network
  • In the history of the computer, there are two goals, faster and do more, running
  • CPU single, polynuclear, Hyper-Threading. Hyper-Threading is a core CPU also has two sets of registers and cache, provides two abstract logical thread
  • The CPU pipeline technology, can greatly reduce the operating cycle of the task
  • Program abstract concept is great, the human brain accommodate content is limited only by one level of abstraction, shielding the underlying details in order to make more extensive system

Guess you like

Origin www.cnblogs.com/winwink/p/CSAPP_Note_Chapter1_Introduction.html