注意事项:
序号有点问题,影响不大,内容都是各种资料整合和我自己归纳总结的,不喜勿喷,感觉扔回收站可惜了,所以分享出来,能有帮上你的忙就最好不过了,更多复习资料,可以去看我的合集。
第五章:虚拟存储器
1. 局部性原理:
时间局部性:如果程序中某条指令或数据被访问了,那么在不久的将来该指令或数据将被再次访问。(循环操作)
空间局部性:一旦程序访问了某个存储单元,则不久以后,其附近的存储单元也将被访问。(顺序执行)
2. 虚拟存储器的特征:
- 多次性:一个作业中的程序和数据无需在作业运行时一次性地全部装入内存,允许被分成多次调入内存。(最重要特征)
- 对换性:允许在作业的运行过程中进行换进、换出
- 虚拟性:能够在逻辑上扩充内存容量,并不是在物理上对内存进行扩充
3. 缺页中断机构:
- 在指令执行期间产生和处理中断信号
- 一条指令在执行期间可能产生多次缺页中断
4. 内存分配策略:
- 固定分配 局部置换:
-
- 固定分配:为每个进程分配一组固定数目的内存块,在整个进程运行期间不再改变
- 局部置换:如果进程缺页,只能从分配给自己的那些物理块中选择一个,将里面的页换出,再将缺的页调入(给的里面找)
- 可变分配 全局置换:
-
- 可变分配:先为进程分配一定数目的内存块,在进程运行期间,根据运行情况适当调整
- 全局置换:进程运行过程中,如果发现有缺页,则OS将自己保留的空闲物理块分配给该进程,或者从全部进程的物理块中选一块,将里面的页换出,再把所缺页调入(有缺,系统直接给)
- 可变分配 局部置换
5. (大题必考)页面置换算法:
5.1. •最佳置换算法(OPT):淘汰未来最长时间未使用的
5.2. •先进先出置换算法(FIFO):想象一个容量只有物理块数量大小的队列,按照先进先出思想,出一个进一个
5.3. •最近最久未使用算法(LRU):淘汰过去最长时间未使用的
- 考点:缺页次数,页面置换次数,缺页率=缺页次数/总页数,命中率=1-缺页率
-
- 缺页次数=有元素的列数
- 页面置换次数=元素置换过的次数
- 缺页率:总页数=表格上方的元素个数=页面号引用串个数
- 例题:三个物理块,页面号引用串:701 203 042 303 212 017 01
-
- 最佳置换算法:向看是否有当前列存在项,存在就不变,有新的就替换没有相同的=淘汰未来最长时间未使用的
- LRU:淘汰过去最长时间未使用的,替换是看列里面的元素
- FIFO:谁先来,谁先走的
第六章:输入输出系统,各种小题,eg:块字符设备举例
1. 块设备接口:块设备管理程序与高层之间的接口
- 块设备:数据的存取和传输都是以数据块为单位的设备。传输速率较高,可寻址
-
- 块设备举例:磁盘、光盘、U 盘
- 块设备接口隐藏了磁盘的二维结构,将抽象命令映射为低层操作
2. 流设备接口:流设备管理程序与高层之间的接口
- 流设备:又称字符设备,数据的存取和传输都是以字符为单位的设备,传输速率较低,不可寻址
-
- 设备举例:键盘,打印机
- 流设备接口:使用get和put操作进行字符的输入与输出。使用通用指令in-control来管理不同的字符设备
3. 内存映像 I/O:
- 为每个寄存器分配一个I/O端口号,并通过专门的I/O指令(如IN REG,PORT指令和OUT PORT,REG指令)来读写设备控制器的寄存器。
- 内存映像I/O:内存和寄存器统一编址,像访问内存一样访问寄存器。
4. I/O 通道:
- I/O通道是一种特殊的处理机,它控制设备与内存直接进行数据交换。
- 通道与一般处理机的区别:
-
- 没有自己的内存,与CPU共享内存;
- 指令类型单一,主要局限于与I/O操作相关的指令。
- I/O通道的类型
-
- 字节 多路 通道:按字节交叉工作、时间片轮转、分时控制多台低速或高速设备。
- 数组 选择 通道:以数组方式进行数据传输,串行控制多台高速设备
- 数组 多路 通道:以数组方式进行数据传输,分时控制多台高速设备并行传输
- I/O通道的“瓶颈”问题
-
- eg:想启用设备 4,必须要占用通道 1 和控制器 2,如果这俩已经被其他设备占用,就无法启用设备 4,这就是瓶颈现象
- 解决方法:增加设备到主机间的通路而不增加通道,即:把一个设备连接到多个控制器上,而一个控制器又连接到多个通道上,让图中的设备 1234 都有四条通往存储器的通路,选择变多,就不堵了。
5. 中断和陷入:
- 中断与陷入:
-
- 中断定义:CPU在执行一个程序时,对系统发生的某个事件作出的反应。CPU暂停当前正在执行的程序,保存CPU环境后,自动地转去执行该事件的处理程序,执行完后再回到断点,继续执行原来程序。(外部中断)
-
-
- I/O中断是CPU对I/O设备发来的中断信号的一种反应。(外部中断)
-
-
- 陷入定义:由CPU内部事件引起的中断。(内部中断)。
- 中断和陷入的主要区别是:信号的来源,即:来自 CPU 的外部还是内部
- •中断向量表和中断优先级
-
- 中断向量表:中断号+中断处理程序的入口地址
- 中断优先级:多中断源时为不同中断设置优先级
- 对多中断源的处理方式
-
- 屏蔽(禁止)中断
- 嵌套中断
6. 对 I/O 设备的控制方式:
- 使用轮询的可编程 I/O 方式:
- 使用中断的可编程 I/O 方式:
- 直接存储器访问方式:
- I/O 通道控制方式:
7. 假脱机打印机系统:P222,看图懂流程
8. 磁盘访问时间:有公式,要研究,P232
- 寻道时间Ts:把磁头移动到指定磁道上所经历的时间。
- 旋转延迟时间Tτ:将指定扇区移动到磁头下所经历的时间。
- 传输时间Tt:将数据从磁盘读出或写入的时间
9. (大题必考)早期的磁盘调度算法:
- 先来先服务(FCFS):按照请求访问磁道的顺序来访问磁道。
- 最短寻道时间优先(SSTF):总是选择与当前磁道距离最短的磁道进行访问。
- 扫描算法(电梯调度算法, SCAN):最短寻道时间优先的基础上增加了对磁头移动方向的规定
- 循环扫描算法(CSCAN):循环扫描规定了磁头单向移动,在回返是直接快速移动到起始端:
- 例题:假设 磁盘访问序列:55 58 39 18 90 160 150 38 184,读写头起始位置:100,求磁头服务序列和磁头移动总距离(道数),计算平均寻道长度:
-
- 磁头服务序列:就是求出来的序列
- 磁头移动总距离:俩序列号的差值绝对值
- FCFS:直接根据 磁盘访问序列 抄到 被访问的下一个磁道号
- SSTF:根据距离读写头起始位置最近的磁盘访问序列号写第一个被访问的下一个磁道号,再找下一个离它最近的磁道号,依次类推
- SCAN:将序列号包括读写头按从小到大依次往上排列,类似一栋大厦的楼层,而我们就相当于一部电梯要从读写头开始往上,将每层楼的人都接到电梯中,再安全送出大厦。
- CSCAN:同样将序列号及读写头按从小到大依次按圆排列,再根据题目要求:增大访问/减小访问,决定访问走向