Chapter One computer system roaming
Main content
A comprehensive summary of the contents of this book, namely "Computer system Overview", includes:
1. Explain the concept of "information" in a computer system: bits;
2. Explain the source program (take C source program as an example) to the process of executable program: preprocessing → compilation → compilation → links
3. Through the shell loading execution process through the executable program, explains the computer hardware composition: bus, I/O device, main memory, processor.
4. The role of the advanced cache and the architecture of the computer storage device-the pyramid hierarchy.
5. Explains the relationship between the operating system, application processes, and computer hardware: Operating System management hardware that provides simple and consistent mechanisms for applications to control complex and disparate hardware.
6. Concurrency and parallelism, abstraction.
1.1 Information is bit + context
All information in the system-including disk files, in-memory programs, user data stored in memory, and data transmitted on the network-is represented by a string of bits. The only way to differentiate between different data objects is when we read the context of these data objects.
1.2 programs are translated into different formats by other programs
This is the case with Linux. c file compilation, where the gcc
"ESc" of the command corresponds to the "ISO" of the generated file, as follows:
gcc -E main.c -o main.i //预编译gcc -S main.c -o main.s //生成汇编代码gcc -c main.c -o main.o //-c为小写,生成目标文件gcc main.o -o main //生成可执行文件
1.3 Understanding how the compilation system works is beneficial
- Optimizing Program Performance
- Understanding the error that occurs when linking
- Avoid security breaches
1.4 Processor reads and interprets instructions stored in memory
- Hardware composition of the system
Bus, I/O device, main memory, processor
- Hello World
After the code and data have been loaded into main memory, the processor begins to execute the Hello program, which hello world\n
copies the bytes from memory to the register file, which is copied from the register file to the display device, and is eventually displayed on the screen.
1.5 Cache is critical
The cache memory (cache) and paging algorithm have a great impact on program performance.
1.6 Storage Device Formation hierarchy
Pyramid structure
1.7 Operating System Management hardware
The operating system implements two basic functions through basic abstract concepts:
1. Prevent hardware misuse by runaway software
2. Provide the application with a simple and consistent mechanism to control complex, often small, low-level hardware devices.
- A file is an abstract representation of an I/O device.
- Virtual memory is an abstract representation of both main memory and disk I/O devices.
- A process is an abstract representation of the processor, main memory, and I/O devices.
1.8 using network communication between systems
Modern systems are often connected through networks and other systems, and the network can be viewed as an I/O device.
- Use the Telnet server to run the Hello program on a remote host
1. The user enters the hello on the keyboard
--The client sends the string "Hello" server to the Telnet server, sends the string "hello" to the shell, and the shell runs the Hello program and sends the output to the Telnet server.
2.telnet server sends the output string "Hello world\n" to the client
3. The client prints the string "Hello world\n" on the Monitor
1.9 Important topics
- Amdahl Law
Acceleration ratio S = 1/{1-(α)+α/k}
, α is the percentage of time required for a part of the system to execute for an application, and this portion of the performance increase is K.
- Concurrency and parallelism
Concurrent refers to the same time period: thread-level concurrency refers to multi-processor or hyper-threading (simultaneous multithreading)
Parallel refers to the same moment: instruction-level parallelism refers to pipelining or hyper-scalar processors
- The importance of abstraction in computer systems
The same 1.7.
2018-2019-1 20189215 "In-depth understanding of computer systems" Chapter I.