页面调入策略

何时调入页面

  1. 预调页策略
    如果进程的许多页是存放在外存的一个连续区域中,一次调入若干的相邻的页会比依次调入一页更高效。但如果调入的一批页中的大多数都未被访问,则又是低效的。
    将那些预计在不久之后便会被访问的页面预先调入内存
  2. 请求调页策略
    当进程在运行中需要访问某部分程序和数据时,发现其所在的页面不在内存,便立即提出请求,由OS将所需的页面调入内存,这种策略每次仅调入一页

从何处调入页面

请求分页系统中的外存分为两部分:用于存放文件的文件区和用于存放对换页面的对换区。
对换区采用连续分配,文件区采用离散分配
所以对换区的数据存取比文件区的速度快
所以每当发生缺页请求,系统从何处缺页调入内存有三种情况:

  1. 系统拥有足够的对换区空间,这时可以全部从对换区调入所需的页面,以提高调页速率。为此,在进程运行前,要把与该进程有关的文件从文件区拷贝到对换区
  2. 系统缺少足够的对换区空间,这时凡是不会被修改的文件,都直接从文件区调入,而当换出这些页面时,因为它们未被修改,不用再将它们重新写回崔攀。对于可能被修改的部分,在将它们换出时,必须调入对换区。
  3. UNIX方式

页面调入过程

每当程序所要访问的页面未在内存(存在位为:“0”),便向CPU发出一缺页中断,中断处理程序首先保留CPU环境,分析中断原因后转入缺页中断处理程序。该程序通过查找页表得到该页在外存的物理块后,如果此时内存能容纳新页,则启动磁盘I/O,将该页调入内存,然后修改页表。如果内存满了,按照某种置换算法,从内存中选出一页换出,若该页未被修改过(修改位为“0”),可不必再写回磁盘,否则必须把它写回磁盘,再把所需的页面调入内存,并修改页表中对应的页表项,置存在位为“1”,并将此页表项写入快表。

缺页率

假设一个进程的逻辑空间为n页,系统为其分配的内存物理块数为m(m<=n),
如果在进程的运行过程中,访问页面成功的次数为S,访问页面失败的次数为F,则该进程总的页面访问次数为A=S+F,缺页率f = F/A
影响缺页率的因素:

  1. 页面大小。页面划分较大,则缺页率较低
  2. 进程所分配的物理块数。所分配的物理块数越多,缺页率越低
  3. 页面置换算法。算法的优劣决定了进程执行过程中缺页中断的次数
  4. 程序固有特性。程序编制的局部化程度越高,缺页率越低
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

饼干饼干圆又圆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值