介绍

主要描述 <<深入理解计算机系统>> 一书的知识点以及自己的总结

第一章计算机系统漫游

一个c源程序从编写到编译成二进制可执行文件的过程

hello.c -> 预处理器ccp -> 编译器ccl -> 汇编器as -> 链接器ld -> hello可执行文件
  1. 通过c语言编写hello.c代码
  2. 预处理器ccp将依赖文件进行引入, 比如 #include <stdio.h>, 并且生成hello.i
  3. 编译器ccl将hello.i编译成汇编程序, 生成hello.s
  4. 汇编器as将hello.s编译成机器语言 0 and 1 并且打包成可重定位目标程序, 生成hello.o
  5. 链接器ld将标准库中的文件进行合并替换操作, 比如 printf函数 将标准库中已经编译好的printf.o文件进行合并

系统硬件

设备名称 介绍
总线 一组电子管线, 进行各个硬件之间的交互, 用于传递 字 word 一个字 = 2byte = 16位, 一般有三根线, 地址总线/数据总线/控制总线, 一根数据总线可传送一位数据 , 16根数据总线可传送16位bit数据
I/O设备 输入输出设备, 例如 鼠标/显示器/键盘/硬盘等...
主存 一种临时存储设备, 在程序处理的时候 CPU会将程序读到主存中, 然后一条条运行, 其实就是内存条
CPU 一个典型的CPU由运算器 , 控制器 , 寄存器等组成, CPU从内存中取出指令进行执行, 在8086架构的CPU中的寄存器只有16位 可存放最大值为(2^16)-1,一个CUP可以有多个寄存器AX , BX ... 是寄存器的代号

高级缓存 众所周知, 内存的速度远远跟不上CPU的处理速度, 所以我们需要更高级的东西 高速缓存存储器, 也就是一级缓存, 二级缓存..设备

进程和线程 进程是操作系统对一个正在运行的程序的一种抽象, 一个操作系统可以运行多个程序 而每个进程好像独占资源了, 在单核处理器中 这只是一种交错执行的过程, 这种交错执行的过程我们称为上下文切换.

每个线程运行在进程的上下文中, 共享同样的代码和全局数据, 在网络请求编程用的比较频繁

第二章信息的表示和处理

results matching ""

    No results matching ""