本文共 972 字,大约阅读时间需要 3 分钟。
《深入理解计算机系统》 第一章 学习笔记
教材学习内容总结
信息
是位+上下文 - C语言与Unix系统关系密切、小而简单,是
系统编程
的首选;但它缺少对非常有用的抽象的显式
支持。 - 只由ASCII码构成的文件称为
文本文件
,其他的称为二进制文件
。 - .obj文件是可重定位目标文件
- 缓冲区溢出是在成大多数网络和Internet服务器上安全漏洞的主要原因。
- 在Linux中,如果某命令的第一个单词不是一个内置的shell命令,那么shell就会假设这是一个可执行文件的名字,它将加载并运行这个文件。
- 总线通常被设计成传送定长的字节块,也就是
字(word)
。 - I/O设备通过控制器或适配器与I/O总线相连。控制器可简单的理解为固定在主板上,适配器则是插在主板插槽上。
- 逻辑上说,存储器是一个线性的
字节数组
。每个字节都有其唯一的地址----数组索引。 - PC指向
主存
中的某条机器语言
指令。 - CPU在指令的要求下会执行
加载
(从主存复制一个字节或一个字到寄存器),存储
(从寄存器复制一个字节或字到主存),操作
(把两个寄存器的内容复制到ALU做运算),跳转
(从指令本身抽取一个字放到PC中)。 指令集架构
描述每条机器代码的执行效果,处理器的微体系结构
描述处理器实际上如何实现。 - 利用
直接存储器存储(DMA)
技术,数据可以不经寄存器直接从磁盘送达主存。 - 主存用
动态随机存取存储器(DRAM)
实现,高速缓存用静态随机访问存储器(SRAM )
实现。 - 用程序访问
局部性原理
加速系统。 - 操作系统防止硬件被失控的应用程序滥用,并向应用程序提供简单一致的机制来控制复杂而又通常大不相同的低级硬件设备。它通过
虚拟内存
、文件
和进程
这几个抽象的概念实现这两个功能。 并发
是指一个进程的指令和另一个进程的指令是交错执行的。操作系统实现这种交错的机制是上下文切换
。 内核
是操作系统代码常驻主存的部分。 - 线程运行在进程的上下文中并共享同样的代码和全局数据。
- 从一个单独的系统来看,网络可视为一个I/O设备。
- Amdahl定律说明,要想显著加速整个系统,必须提升全系统中相当大的部分的速度
- 性能提升即T_old/T_new
指令级并行
是指处理器同时执行多条指令。通过流水线
技术实现。
转载于:https://www.cnblogs.com/thechosenone95/p/9826494.html