迪奥粉底液 star:请求页式存储管理

来源:百度文库 编辑:偶看新闻 时间:2024/05/05 05:43:05
请求页式存储管理

页式存储管理实现原理:基于程序在运行时不需要一开始都装入内存,更不应该把最近较长一段时间内不用的程序装入内存。
分页的概念:程序地址空间分成大小相等的页面,同时把内存也分成与页面大小相等的块,当一个用户程序装入内存时,以页面为单位进行分配。页面的大小是为2n ,通常为1KB,2KB,nKB等。

 

 

 

 

 

 

分页存储管理:将实际内存划分为位置固定、大小相同的"块",即实页面。将用户逻辑地址空间也分成同样大小的页面,即虚页,访问程序时,根据页表实现虚页面逻辑地址到实页面的物理地址转换。

1. 页式地址变换:
虚地址结构:虚地址是用户程序中的逻辑地址, 由页号和页内相对地址组成。
区分页号和页内地址的依椐是页的大小,页内地址占虚地址的低位部分,页号占虚地址的高位部分。 由页号和页内相对地址组成,当CPU给出虚地址长度为16位,页面大小为1K字节时,则地址中6位(10~15位)一定表示这个地址所有的页号,而低10位(0~9位)一定表示该地址在这页内的相对位移量。


页式地址变换流程如下:


4.3.3 页表的设计:
1、页表内容举例:淘汰位、修改位、保护位、中断位、引用位和缺用位等。
2、快表:因页面较多,页表在内存,取一次数要访问内存两次。
4.3.4 请求淘汰换页算法:在页式系统中允许一个作业程序只装入部分页面即可投入运行,然后,系统根据进程运行过程中的请求从辅存调入所需的页面。这就是请求淘汰换页算法研究的内容。
请求淘汰换页算法的缺页调度流程如下:

 

 

 

 

 

1、先进先出算法(FIFO)(First Input First Output),又称轮转法(RR):即先进入主存的页,先退出主存。这种算法实现起来较简单,只要系统保留一张次序表即可,对于具有按线性顺序访问地址空间的程序而言是比较合适的,而对其它情况则效率不高。

2、循环检测法
3、最近最少使用页面先淘汰(LRU) (Least Recently Used):当需要置换一页时,选择最长时间未被使用的那一页淘汰掉。该算法的出发点是如果某页访问则该页可能再被访问。该算法对于循环多的程序有利。

4、最不经常使用的页面先淘汰(LFU)(Least Frequent Used)
5、最近没有使用页面先淘汰(NUR)
6、最优淘汰算法(OPT)(Optimal Replacement Algorithm):
一种理想化的淘汰算法,系统预测作业今后要访问的页面,淘汰页是将来不被访问的页面或者在最长时间才被访问的页面。
例如:设某程序有460行,内存访问序列按以下顺序进行:
10,35,104,170,73,309,185,245,343,364
(1) 设页面大小是一页100行,请给出访问顺序的页面号(从第一页开始):460/100=4.6,所以共有五页:1,2,3,4,5,按其访问顺序, 其页面号如下:


(2) 该程序的可用内存是200行,即两页。采用FIFO替换算法,其缺页率是多少?

过程演示

解析

(3) 采用LRU替换算法,其缺页率是多少?

过程演示

解析

(4) 如果采用OPT算法,其缺页率又是多少?

过程演示


解析

7、随机数淘汰页面算法(Random Replacement Algorithm)
4.3.5 页式存储管理的优点及缺点
1、页式存储管理的优点:虛存量大,适合多道程序运行,用户不必担心内存不够的调度操作。
内存利用率高,不常用的页面尽量不留在内存;
不要求作业连续存放,有效地解决了“碎片”问题。与分区式比,不需移动作业;与多重分区比,无零星碎片产生。
2、页式存储管理的缺点:要处理页面中断、缺页中断处理等,系统开销较大;有可能产生“抖动”;地址变換机构复杂,为提高速度采用硬件实现,增加了机器成本。