清华大学-操作系统学习笔记(三)
1.计算机基本硬件结构
2.内存的层次结构
操作系统的目标(抽象,保护,共享,虚拟化):
- 抽象:不用考虑底层
- 保护:多个程序进程之间运行地址空间隔离
- 共享:进程间安全有效安全地对数据进行传递
- 虚拟化:最需要运行的数据放在内存中,暂时不需要的数据放在硬盘上,对应用程序透明,从而虚拟出更大的空间
说明:比如上图中P1,P2,P3需要执行,P4暂时还没那么急着执行,可以先把P4放在硬盘上(虚拟内存),P1,P2,P3放在主存中依次执行,等P4到达执行条件时再把P4放到主存中执行。
操作系统中管理内存的不同方法
- 程序重定位
- 分段
- 分页
- 虚拟内存
- 按需分页虚拟内存
3.地址空间&地址生成
- 地址空间定义
- 地址生成
- 地址安全检查
地址空间定义:
地址生成:
逻辑地址:比如说C语言的变量名就是逻辑地址
物理地址:硬件的地址
- 当CPU需要执行某个指令的时候他的ALU部件需要指令的内容,发送请求,带着逻辑地址;
- CPU中的MMU查找带有逻辑地址的映射表中是否存在对应的物理地址,如果有就找到;
- 如果没有就会去内存中找,如果找到了控制器就会给主存发送物理地址的内容(就是指令的内容);
- 主存会把内存的内容通过总线传给CPU,CPU拿到内容后就可以执行这条指令了;
地址空间安全检查:
检查起始地址和地址空间长度,一旦请求的逻辑地址超出区域限制,就会发生内存访问异常