操作系统页式管理中的置换算法怎么看缺页

管玉超 2019-12-21 20:44:00

推荐回答

100字=2^2就代表页内地址是后2位字地址3位那么页号就是剩下的1位我是这么理解的和逻辑地址转化物理地址的页号计算一样。
黄白蓉2019-12-21 21:20:53

提示您:回答为网友贡献,仅供参考。

其他回答

  • 只有内存已满时才需要置换,才会涉及到页面置换算法。如果本身内存中还有足够的空闲的话直接调入就行了。
    车家骧2019-12-21 21:07:28
  • 功能:需要调入页面时,选择内存中哪个物理页面被置换。称为replacementpolicy。出发点:把未来不再使用的或短期内较少使用的页面调出,通常只能在局部性原理指导下依据过去的统计数据进行预测。页面锁定framelocking:用于描述必须常驻内存的操作系统的关键部分或时间关键time-critical的应用进程。实现方法为在页表中加上锁定标志位lockbit。轮转法RR,roundrobin和先进先出算法FIFO,firstinfirstout:轮转法循回换出内存可用区内一个可以被换出的页,无论该页是刚被换进或已换进内存很长时间。FIFO算法总是选择在内存驻留时间最长的一员将其淘汰。FIFO算法认为先调入内存的页不再被访问的可能性要比其它页大,因而选择最先调入内存的页换出。实现FIFO算法需要把各个已分配页面按分配时间顺序链接起来,组成FIFO队列,并设置一置换指针指向FIFO队列的队首页面。这样,当要进行置换时,只需把置换指针所指的FIFO队列前头的页顺次换出,而把换入的页链接在FIFO队尾即可。由实验和测试发现FIPO算法和RR算法的内存利用率不高。这是因为,这两种算法都是基于CPU按线性顺序访问地址空间这一假设。事实上,许多时候.CPU不是按线性顺序访问地址空间的。Belady现象:一般来说,对于任一作业或进程,如果给它分配的内存页面数越接近于它所要求的页面数,则发生缺页的次数会越少。在极限情况下,这个推论是成立的。因为如果给一个进程分配了它所要求的全部页面,则不会发生缺页现象。但是,使用FIFO算法时,在未给进程或作业分配足它所要求的页面数时,有时会出现分配的页面数增多,缺页次数反而增加的奇怪现象。这种现象称为Belady现象。最近最久未使用页面置换算法LRU,LeastRecentlyUsed:选择内存中最久未使用的页面被置换。这是局部性原理的合理近似,性能接近最佳算法。但由于需要记录页面使用时间的先后关系,硬件开销太大。硬件机构如:1一个特殊的栈:把被访问的页面移到栈顶,于是栈底的是最久未使用页面。2每个页面设立移位寄存器:被访问时左边最高位置1,定期右移并且最高位补0,于是寄存器数值最小的是最久未使用页面。比较常用的近似算法有:a最不经常使用页面淘汰算法LFU,LeastFrequentlyUsedb最近没有使用页面淘汰NRU,NotRecentlyUsed理想型淘汰算法该算法淘汰在访问串中将来再也不出现的或是离当前最远的位置上出现的页。它是一种理想化的算法,性能最好,但在实际上难于实现。
    黄真理2019-12-21 21:02:38
  • 第二次机会算法:与FIFO、OPT、LRU、NRU等同为操作系统中请求分页式管理方式的页面置换算法。第二次机会算法的基本思想是与FIFO相同的,但是有所改进,避免把经常使用的页面置换出去。当选择置换页面时,依然和FIFO一样,选择最早置入内存的页面。但是二次机会法还设置了一个访问状态位。所以还要检查页面的的访问位。如果是0,就淘汰这页;如果访问位是1,就给它第二次机会,并选择下一个FIFO页面。当一个页面得到第二次机会时,它的访问位就清为0,它的到达时间就置为当前时间。如果该页在此期间被访问过,则访问位置为1。这样给了第二次机会的页面将不被淘汰,直至所有其他页面被淘汰过。因此,如果一个页面经常使用,它的访问位总保持为1,它就从来不会被淘汰出去。第二次机会算法可视为一个环形队列。用一个指针指示哪一页是下面要淘汰的。当需要一个存储块时,指针就前进,直至找到访问位是0的页。随着指针的前进,把访问位就清为0。在最坏的情况下,所有的访问位都是1,指针要通过整个队列一周,每个页都给第二次机会。这时就退化成FIFO算法了。
    龙小美2019-12-21 20:58:01

相关问答