主要知识点
1.基本概念
2.连续分配方式
3.非连续分配方式
4.虚拟内存基本概念
5.请求分页管理方式
6.页面置换算法
7.页面分配策略
8.请求分段管理方式
9.请求段页式管理方式
程序执行的局部性:
1.时间局部性(temporal locality)
被引用过一次的存储器位置很可能在不远的将来再被多次引用。
2.空间局部性(spatial locality)
如果一存储器位置被引用了一次,那么程序很可能在不远的将来引用附近的一个存储器位置。
交换技术与虚存使用的调入调出技术有何相同和不同之处
1.主要相同点是都要在内存与外存之间交换信息;
2.主要区别在于交换技术换出换进一般是整个进程(proc结构和共享正文段除外),因此一个进程的大小受物理存储器的限制;
3.而虚存中使用的调入调出技术在内存与外存之间来回传递的是存储页或存储段,而不是整个进程,从而使得进程映射具有了更大的灵活性,且允许进程的大小比可用的物理存储空间大的多 。
虚拟存储器的定义:
指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。
特征:
1.离散分配方式是基础
2.多次性:一个作业被分成多次调入内存运行
3.对换性:允许在作业的运行过程中进行换进、换出。(进程整体对换不算虚拟)
4.虚拟性:能够从逻辑上扩充内存容量,使用户所看到的内存容量远大于实际内存容量。
请求分页存储管理方式
1.基本分页 + “请求调页”和“页面置换”功能。
2.换入和换出基本单位都是长度固定的页面
缺页率= 页面调入次数(缺页次数)/ 总的页面使用次数
虚拟存储管理下访问内存的有效时间
1.页在内存,且快表检索命中 EAT= λ + t
2.页在内存,但快表检索没有命中
EAT= 快表检索时间+访问页表时间+修改更新快表时间+访问页面物理内存时间
= λ +t+ λ +t=2*(λ +t)
3.页面不在内存
EAT=快表检索时间+访问页表时间+缺页中断处理时间+修改更新快表时间+访问页面物理内存时间
= λ+ t + s+ λ+ t
4.加入概率的综合公式(a是快表命中率,f是缺页率)
EAT= λ+ a*t +(1-a)*{ }
= λ+a*t +(1-a)*{t + f*(s+λ+t) +(1-f)*(λ+ t) }
影响缺页率的主要因素
1.分配给作业的主存块数:
多则缺页率低,反之则高。
2.页面大小:
大则缺页率低;反之则高。
3.页面调度算法:
对缺页中断率影响很大,但不可能找到一种最佳算法。
4.程序编制方法:
以数组运算为例,如果每一行元素存放在一页中,则按行处理各元素缺页中断率低;
反之,按列处理各元素,则缺页中断率高。
系统抖动:
1.为了提高处理机利用率,可增加多道程序并发度;
2.进程数目增加过多,每个进程分配得到的物理块太少,在某个临界点上,会出现刚被淘汰的页很快又需重新调入;而调入不久又被淘汰出去;出现频繁缺页
3.大部分处理器时间都用在来回的页面调度上,这种局面称为系统抖动或颠簸(thrashing)
抖动的后果:
1.缺页率急剧增加
2.内存有效存取时间加长
3.系统吞吐量骤减;系统已基本不能完成什么任务,而是忙于页面对换操作,cpu虽然忙,但效率急剧下降。
抖动根本原因:
1.页面淘汰算法不合理;
2.分配给进程的物理页面数(驻留集)太少。