- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.3 分页式存储管理 主要内容: 6.3.1 基本原理 6.3.2 快表 6.3.3 存储空间的分配和去配 6.3.4 存储空间的页面共享和保护 6.3.5 多级页表 6.3.6 反置页表 为什么要引进分页技术? 固定分区管理存在内碎片,可变分区管理存在外碎片,使得内存的空闲空间得不到充分利用。 对外碎片的移动要浪费处理机的许多时间,开销太大。 问题的主要原因:连续内存分配 6.3 分页式存储管理 主要内容: 6.3.1 基本原理 6.3.2 快表 6.3.3 存储空间的分配和去配 6.3.4 存储空间的页面共享和保护 6.3.5 多级页表 6.3.6 反置页表 页面(页) 把用户程序的逻辑地址空间划分成大小相等的部分,也称页或虚页。从0开始编制页号,页内地址是相对于0编址。 页框(块) 页框:内存按页的大小划分为大小相等的区域,称为内存块(物理页面,页框),块号从0开始依次编址 页式管理中的逻辑地址 经过页划分之后,用户程序的逻辑地址变为页号p与页内地址w所组成。 页式管理中的逻辑地址 注意: 用户编制程序时仍使用逻辑地址,不必考虑分页,分页由操作系统完成,对用户是透明的; 逻辑地址仍然是连续的(页面连续,页内地址连续),对应到主存块的块内地址也是连续的,而块与块之间是不必连续的 页的大小一般都为2的整数次幂 页表 当进程的程序和数据被分散存放在主存中后,其页面和被分配的块之间如何建立联系呢?逻辑地址(页)如何转换成物理地址(块)呢?物理地址从连续变为分散后如何保证程序正确执行呢? —— 页表 页表 页表:程序页面和主存对应块的对照表,其中的每一栏指明了页和所分得块的对应关系 系统为每个进程建立一个页表,页表的长度和首地址存放在该进程的进程控制块(PCB)中 页表 页表内容 页号:登记程序地址空间的页号。 块号:登记相应的页所对应的内存块号。 其它:登记与存储信息保护有关的信息。 页表 例: 进程A有4页分别装入内存的第0,1,2,3块;进程B有3页装入内存的第4,5,6块;进程C有4页装入内存的第7,8,9,10块;某一时刻,进程B执行结束,进程D进入内存,它有5页,被装入内存的第4,5,6,11, 四个进程的页表 地址转换 借助于硬件的地址转换机构,按页面动态地址重定位 在进程运行前把该进程的页表基地址和页表长度送入页表控制寄存器中; CPU获得逻辑地址,硬件自动把逻辑地址分成页号p和页内位移d; 从页表基址寄存器找到页表,再用页号p作为索引查找页表,得到对应的块号 物理地址=块号*块长+页内位移 地址转换 例1: 例2:设页长为1K,程序地址字长为16位,mov r1, [ 2500]的地址转换如下: (1)取出程序地址字2500送虚地址寄存器VR,然后由 硬件分离出页号P和页内地址W,因为页长为1K,所以页内地址占10位(0-9位),页号占6位(10-15位),所以硬件只要简单地取出VR寄存器中的高6位即为页号,低10 位即为页内地址。 (2)根据页号P=2,硬件自动查该进程的页表,找到第2页对应的块号为7,将块号送到内存地址寄存器MR的高6位中。 (3)将VR中的W的值452复制到MR的低10位中,从而形成内存地址。系统就以MR中的地址访问内存。 物理地址如何计算 硬件能自动分离出页号和页内地址,我们可以通过计算得到: (1)如果给出的逻辑地址是十进制形式,那么可按如下公式算得页号和页内地址 程序地址/页长 商为页号,余数为页内地址。 物理地址如何计算 (2)若给出的地址为16进制,则将其转换为二进制,然后,根据页长及程序地址字的长度,分别取出程序地址的高几位和低几位就得到页号及页内地址。如页长为2K,程序地址字为16位,则高5位为页号,低11位为页内地址。 6.3 分页式存储管理 主要内容: 6.3.1 基本原理 6.3.2 快表 6.3.3 存储空间的分配和去配 6.3.4 存储空间的页面共享和保护 6.3.5 多级页表 6.3.6 反置页表 主要问题 在前述的页地址变换过程中有一个严重的问题,那就是每一次对内存的访问都要访问页表,页表是放在内存中的,也就是说每一次访问内存的指令至少要访问两次内存,运行速度要下降一半。 快表的原理 解决这个问题的一种方法是在硬件中设置相联存储器,把最近访问的部分页表项放入这种速度更快(但容量小,价格贵)的相联存储器中,这种快速存储器组成的页表称为快表,把存放在内存中的页表称为慢表。 查找时先查块表,找不到再查慢表 为了提高命中率,块表的内容需要不断更新 假定访问主存
文档评论(0)