考研系列—操作系统:第三章、内存管理(part.2)
二、虚拟内存管理
注意知识点:
虚拟内存的实现-请求分页方式-页面置换功能及算法(OPT/FIFO/CLOCK/改进CLOCK)
页面分配策略(三种)-置换(分配)的具体实现方式:换入换出,在内存、磁盘(对换区、文件区)之间
驻留集大小一般不能小于工作集大小。
1.虚拟内存的基本概念
请求调页:将请求的但是不存在的数据所在页从外存调入主存
页面置换:把请求来到页置换掉内存中暂时不用的页
2.虚拟内存的实现-请求分页管理方式
3.页面置换算法
(1)最佳置换算法(OPT)
(2)先进先出置换算法(FIFO)
(3)最近最久未使用置换算法(LRU)
LRU算法性能较好,但需要寄存器和栈的硬件支持。LRU是堆栈类的算法;FIFO算法基于队列实现,不是堆栈类算法。
(4)时钟置换算法(CLOCK)
这里主要看指针的变化,当命中时指针不会改变!!!!替换完成后的块访问位是1,待替换指针指向下一个块
4.页面(页框)分配策略
重点:
5.内存映射文件
实际上,很多时候,共享内存是通过内存映射来实现的
进程可以通过共享内存来通信,而共享内存是通过映射相同文件到通信进程的虚拟地址空间来实现的。
6.虚实地址的变换过程
王道书P203
要注意地址结构:包括虚拟地址和物理地址
注意查找数据顺序:从TLB到页表,再到Cache和内存,最后到外存
如果从TLB找到副本,可以直接确定物理地址;如果没有则去页表查,如果页表也没有会产生缺页中断,页表内有的话可以得到物理地址
得到物理地址后,去Cache找内存的数据副本,如果Cache命中则得到数据;如果Cache不命中则去内存的物理空间找数据(内存的数据对应外存中的数据,这个在运行时就有对应关系了)
第二遍错题!!!
本章总结
段页式的相关例题在简答题8中也有提到。
习题总结
(一)选择题
地址转换和交换区、swap没有关系
这个注意最近时刻之前的范围内序列
注意题目里面说的固定页框,意思是页框号不变,在内存的固定页框内进行页的换入换出
题目中只有60H和80H页框处是分配给进程P的页框,所以在访问虚拟地址单元时,先看2号页,发现不存在,则需要进行页的换入换出,根据改进的Clock算法把3号页面也就是页框号是60H处的页换出,接着在这个内存处换入需要的数据,根据页内偏移地址获取数据即可。
(二)简答题
1.覆盖技术和虚拟存储技术有何本质上的不同?交换技术与虚拟存储技术中使用的调入/调出技术有何相同和不同之处?
其中576,属于是越界中断,而不是缺页中断,这个一定要注意中断类型!!!
多级页表的结构、地址结构都需要好好看好好理解!!!
这种驻留集固定的情况,一定要记得和置换算法相结合,页框号是不变的
这个题目自己再好好做做!!!,答案在最后