内容简介:分页系统中的页面其大小应适中。页面若太小,一方面虽然可使内存碎片减小,从而减少了内存碎片的总空间,有利于提高内存利用率,但另一方面也会使每个进程占用较多的页面,从而导致进程的页表过长,占用大量内存;此外,还会降低页面换进换出的效率。然而,如果选择的页面较大,虽然可以减少页表的长度,提高页面换进换出的速度,但却又会使页内碎片增大。因此,页面的大小应选择适中,且页面大小应是2的幂,通常为512 B~8 KB页号 = 相对地址 / 块尺寸
-
页面
将一个进程的逻辑地址分成若干大小相同的片,并加以编号,从0开始,如第0页,第1页
-
块
把内存空间分配成页面相同大小的若干存储块,并加以编号,如0#块,1#块
页面大小选择
分页系统中的页面其大小应适中。页面若太小,一方面虽然可使内存碎片减小,从而减少了内存碎片的总空间,有利于提高内存利用率,但另一方面也会使每个进程占用较多的页面,从而导致进程的页表过长,占用大量内存;此外,还会降低页面换进换出的效率。然而,如果选择的页面较大,虽然可以减少页表的长度,提高页面换进换出的速度,但却又会使页内碎片增大。因此,页面的大小应选择适中,且页面大小应是2的幂,通常为512 B~8 KB
页表
页号 = 相对地址 / 块尺寸
页内偏移 = 相对地址 % 块尺寸
地址变换
- 当进程运行时,系统将该进程 PCB 中页表起始地址及其长度送入页表起始地址寄存器(PB)和页表长度寄存器(Pl)
- 系统将 CPU 给出的逻辑地址由硬件中的地址映射机制自动分成两部分:页号 p 和页内地址 d
- 比较 p 和 Pl,若 p>= Pl,发生地址越界终端,否则进行地址映射
- 根据页表起始地址寄存器 Pb 和 p,找到也表中相应表项,即:找到页号 p 的物理块号 p’
- 将 p’ 与 d 拼在一起形成内存物理地址
逻辑地址转换成物理地址
缺点
由于页表是存放在内存中的,这使CPU在每存取一个数据时,都要两次访问内存。第一次是访问内存中的页表,从中找到指定页的物理块号,再将块号与页内偏移量W拼接,以形成物理地址。第二次访问内存时,才是从第一次所得地址中获得所需数据(或向此地址中写入数据)。因此,采用这种方式将使计算机的处理速度降低近1/2。可见,以此高昂代价来换取存储器空间利用率的提高,是得不偿失的。
改良方案
- 当进程运行时,系统将该进程 PCB 中页表起始地址及其长度分别送入页表起始地址寄存器(Pb)和页表长度寄存器(Pl)
- 系统将 CPU 给出逻辑地址由硬件中的地址影射机制自动分成页号 p 和业内地址 d
- 比较 p 和 Pl,若 p >= Pl,则产生地址越界中断,否则进行地址映射,与此同时,用 p 去查找快表,若找到一项,则终止步骤 d,转入步骤 e
- 根据页表起始地址寄存器 Pb 和 p,找到页表中相应表项,即 p 的物理块号 p’
- 将 p’ 和 d 放入块表中,若块表已满,则用淘汰算法,淘汰表中的一项。常用淘汰算法:先进先出(淘汰最先进入的)、访问位(淘汰访问次数最少的)
- 将 p’ 和 d 拼在一起形成内存物理地址
硬件支持
硬件需要提供页表起始地址寄存器(Pb)和页表长度寄存器(Pl)
页表起始地址寄存器保存了正在运行进程页表的首地址
页表长度寄存器保存了正在运行进程页表的长度
分页存储的优缺点
优点
- 作业可不连续存放,解决了可变分区存储的外部碎片问题
- 有利于多道程序运行
以上所述就是小编给大家介绍的《【深入浅出-系统架构师】(18):操作系统基础知识——分页存储管理》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 分布式系统基础知识
- 【深入浅出-系统架构师】(17):操作系统基础知识——分区存储管理
- 【深入浅出-系统架构师】(13):操作系统基础知识——同步和互斥
- 【深入浅出-系统架构师】(15):操作系统基础知识——进程通信与线程
- 【深入浅出-系统架构师】(16):操作系统基础知识——寄存器、主存、缓存
- 【深入浅出-系统架构师】(14):操作系统基础知识——生产者消费者模型
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
ASP.NET网页制作教程
王国荣 / 华中科技 / 2002-1 / 78.00元
《ASP.NET网页制作教程:从基本语法学起(附光盘)》分为:基础篇、对象应用篇、案例研究篇。奠定ASP网页制作的基础,使用Server控件制作互动网页,使用ADO.NET访问数据库;计费网费、会员管理、访客计数器Server版、访客留言板、新闻讨论群组、电子贺卡、E-mail自动传送、FIP文件上传、在线投票、在线问卷调查、在线购物、在线考试、广告回旋板、聊天室。一起来看看 《ASP.NET网页制作教程》 这本书的介绍吧!