前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >3.2.4页面分配策略

3.2.4页面分配策略

作者头像
week
发布2018-08-24 17:07:16
5490
发布2018-08-24 17:07:16
举报
文章被收录于专栏:用户画像用户画像
1.驻留集大小

对于分页式的虚拟内存,在准备执行时,不需要也不可能把一个进程的所有页都读取到内存,因此,操作系统必须决定读取多少页,也就是说,给特定的进程分配多大的内存空间,这需要考虑以下几点: 1)分配给一个进程的存储量越小,在任何时候驻留在主存中的进程数就越多,从而可以提高处理机的时间利用效率。 2)如果一个进程在主存中的页数过少,尽管有局部性原理,页错误率仍然会相对较高。 3)如果页数过多,由于局部性原理,给特定的进程分配更多的主存空间对该进程的错误率没有明显的影响。 基于这些因素,现代操作系统通常采用三种策略: 1)固定分配局部置换 它为每个进程分配一定数目的物理块,在整个运行期间都不改变。若进程在运行中发生缺页,则只能从该进程在内存中的页面中选出一页换出,然后再调入需要的页面。实现这种策略难以确定 为每个进程应分配的物理块数目:太少会频繁出现缺页中断,太多又会使CPU和其他资源利用率下降。 2)可变分配全局替换 这是最易于实现的物理块分配和置换策略,为系统中的每个进程分配一定数目的物理块,操作系统自身也保持一个空闲 物理块队列,当某进程发生缺页时,系统从空间物理块队列中取一个物理块分配给该进程,并将欲调入的页装入其中。 3)可变分配局部替换 它为每个进程分配一定数目的物理块,当某进程发生缺页时,只允许从该进程在内存的页面中选出一页换出,这样就不会影响其他进程的运行。如果进程在运行中频繁地缺页,系统在为该进程分配若干物理块,直至该进程缺页率趋于适当程度;反之,若进程在运行中缺页率特别低,则可适当减少分配给该进程的物理块。

2.调入页面的时机

为确定系统将运行时所缺的页面调入内存的时机,可采用以下两种调页策略: 1)预调页策略。根据局部性原理,一次调入若干个相邻的页可能回避一次调入一页更高效。但如果调入的一批页面中大多数都未被访问,则又是低效的。所以就需要采用以预测为基础的预调页策略,将预计在不久之后便会访问的页面预先调入内存。但面前预调页的成功率仅约50%。故这种策略主要用于进程的首次调入时,由程序员指出应该先调入哪些页。 2)请求调页策略 进程在运行钟需要访问的页面不在内存而提出请求,由系统将所需页面调入内存。由这种策略调入的页一定会被访问,且这种策略比较易于实现呢,故在目前的虚拟存储器中大多采用此策略。它的缺点在于一次只调入一页,调入调出页面数多时会花费过多的I/O开销。

3.从何处调入页面

请求分页系统中的外存分为两部分:用于存放文件的文件区和用于存放对换页面的对换区。 对换区通常采用连续分配方式,而文件区采用离散分配方式,故对换区的磁盘I/O速度比文件区的更快。这样从何处调入页面有三种情况: 1)系统拥有足够的对换区空间:可以全部从对换区调入所需页面,以提高调页速度。为此,在进程运行前,需将与该进程由关的文件从文件区复制到对换区。 2)系统缺少足够的对换区空间:凡不会被修改的文件都直接从文件区调入;而当换出这些页面时,由于它们未被修改而不必再讲它们换出。但对于那些可能被修改的部分,在将它们换出时需调换到对换区,以后需要时再从对换区调入。 3)UNIX 方式:与进程有关的文件都放在文件区,故未运行过的页面,都应从文件区调入。曾运行过但又被换出的页面,由于是被放在对换区,因此下次调入时从对换区调入。进程请求的共享页面若被其他进程调入内存,则无需再从对换区调入。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年07月21日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.驻留集大小
  • 2.调入页面的时机
  • 3.从何处调入页面
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档