❶ 12、存储模型2(操作系统笔记)
我们将虚拟存储技术和页式存储管理方案结合起来得到了虚拟页式存储管理系统。具体有两种方式,一是请求调页,二是预先调页。以 cpu 时间和磁盘换取昂贵内存空间,这是操作系统中的资源转换技术。
通常,页表项是硬件设计的。
为什么要锁定页面?
又称页面淘汰算法。最佳算法-->先进先出-->第二次机会-->时钟算法-->最近未使用-->最近最少使用-->最不经常使用-->老化算法-->工作集-->工作集时钟
在先进先出算法的基础上进行该机而来的,此算法按照先进先出算法选择某一页面,检查其访问位 R ,如果为 0 ,则置换该页;如果为 1 ,则给第二次机会,并将访问位置零,并将其从链头取下放到链尾。
在第二次机会算法中当给某个页面第二次机会的时候,将其访问位置零,然后将其挂到链尾,这都是需要开销的,于是我们改进为时钟算法。
选择最后一次访问时间距离当前时间最长的一页并置换,即置换未使用时间最长的一页。
即 Not frequently Used ,选择访问次数最少的页面置换
例子:
要求:
计算应用 FIFO、LRU、OPT 算法时的缺页次数
应用 FIFO、LRU 页面置换算法
应用OPT页面置换算法
例子:系统给某进程分配 m 个页框,初始为空页面访问顺序为
1 2 3 4 1 2 5 1 2 3 4 5 ,采用 FIFO 算法,计算当 m=3 和 m=4 时的缺页中断次数。
结论: m=3 时,缺页中断九次; m=4 时,缺页中断十次。注意: FIFO 页面置换算法会产生异常现象( Belady 现象),即:当分配给进程的物理页面数增加时,缺页次数反而增加。
缺页越多,系统的性能越差,这称为颠簸(抖动):虚存中,页面在内存与磁盘之间频繁调度,使得调度页面所需的时间比进程实际运行的时间还多,这样导致系统效率急剧下降,这种现象称为颠簸或抖动。
例子:
分配了一个页框,页面大小为 128 个整数,矩阵 A(128 x 128) 按行存放。
如果能为进程提供与活跃页面数相等的物理页面数,则可减少缺页中断次数,这是由 Denning 提出的。
❷ 什么事虚拟活页式存储管理中的抖动问题
在虚拟存储的页式存储的换页过程中,如果选用了一个不合适的调度算法,就会出现这样的现象:刚被淘汰了的页面又立即要用,又要把它调入进来,而调入不久又被调出,调出不久再次被调入,如此反复,使得调度非常频繁,以至于大部分时间都花费在来回调度上。这种现象叫“抖动”。一个好的调度算法应减少和避免抖动现象
❸ 内存的段页式管理到底是如何管理的是为了解决什么问题
页式管理的基本原理将各进程的虚拟空间划分成若干个长度相等的页(page),页式管理把内存空间按页的大小划分成片或者页面(page frame),然后把页式虚拟地址与内存地址建立一一对应页表,并用相应的硬件地址变换机构,来解决离散地址变换问题。页式管理采用请求调页或预调页技术实现了内外存存储器的统一管理。
1 静态页式管理。静态分页管理的第一步是为要求内存的作业或进程分配足够的页面。系统通过存储页面表、请求表以及页表来完成内存的分配工作。静态页式管理解决了分区管理时的碎片问题。但是,由于静态页式管理要求进程或作业在执行前全部装入内存,如果可用页面数小于用户要求时,该作业或进程只好等待。而且作业和进程的大小仍受内存可用页面数的限制。
2 动态页式管理。动态页式管理是在静态页式管理的基础上发展起来的。它分为请求页式管理和预调入页式管理。
优点: 没有外碎片,每个内碎片不超过页大小。一个程序不必连续存放。便于改变程序占用空间的大小(主要指随着程序运行而动态生成的数据增多,要求地址空间相应增长,通常由系统调用完成而不是操作系统自动完成)。
缺点:程序全部装入内存。
要求有相应的硬件支持。例如地址变换机构,缺页中断的产生和选择淘汰页面等都要求有相应的硬件支持。这增加了机器成本。增加了系统开销,例如缺页中断处理机,请求调页的算法如选择不当,有可能产生抖动现象。 虽然消除了碎片,但每个作业或进程的最后一页内总有一部分空间得不到利用果页面较大,则这一部分的损失仍然较大。
❹ 系统抖动是指什么
系统抖动是指被调出的页面又立刻被调入所形成的频繁调入调出现象。
系统抖动,解释为在请求分页存储管理中,从主存(DRAM)中刚刚换出(Swap Out)某一页面后(换出到Disk),根据请求马上又换入(Swap In)该页,这种反复换出换入的现象。
系统抖动基本内容:
产生该现象的主要原因是置换算法选择不当。
如果分配给进程的存储块数量小于进程所需要的最小值,进程的运行将很频繁地产生缺页中断,这种频率非常高的页面置换现象称为抖动。解决方案优化置换算法。
在请求分页存储管理中,可能出现这种情况,即对刚被替换出去的页,立即又要被访问。需要将它调入,因无空闲内存又要替换另一页,而后者又是即将被访问的页,于是造成了系统需花费大量的时间忙于进行这种频繁的页面交换,致使系统的实际效率很低,严重导致系统瘫痪,这种现象称为抖动现象。解决方案运用局部性原理优化置换算法。
危害:系统时间消耗在低速的I/O上,大大降低系统效率。进程对当前换出页的每一次访问,与对RAM中页的访问相比,要慢几个数量级。