[工学]chapter5-2存储管理89.ppt

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]chapter5-2存储管理89

5.4.1 页式管理的基本原理及基本方法 通过逻辑地址求页号和页内地址 (4)主存分配原则:系统以页为单位把主存分给作业或进程,并且分给一个作业或进程的各页不一定是相邻的和连续的;也就是说一个作业点的相邻的连续的几个页,可能会被装入主存中分散的几个页面中。 (5)为实现地址变换而设置页表和页表地址寄存器 (6)分页系统中地址结构:指令中的地址场被分为两部分:一部分表示该地址的页号,另一部分表示页内地址 (7)页(面)尺寸的取值规律 一般为2的整数幂,取512至4096之间 5.4.2 静态页面管理 为配合页表使用,系统设置一个页表地址寄存器,其格式为: 页表长 页表始址 ②请求表:用来确定作业或进程的虚拟空间中的各页在内存中实际对应位置。该表整个系统一张。 ③存储页面表:用来管理内存页面的使用情况。整个系统一张。如:位示图, 空闲页面链:基本同分区存储管理中的自由链表。 4.快表 如果把页表放在主存中,无疑会影响系统的性能。这是因为每次访问主存,首先必须访问页表,读出页描述子,之后根据形成的实际地址再访问主存,这样使访问主存的次数加倍,因而使总的处理速度明显下降。 为了解决这个问题人们采用一组硬件寄存器,存放当前访问过的页的页描述子,    每次访问主存时,首先查找快表,若找到所需的页描述子,则快速形成物理地址。否则从页表中查找后形成物理地址,同时把页描述子写入快表。如果设计得当,快表的命中率可以很高。 具有快表的地址变换机构 1.需要解决的问题 系统需要解决下面三个问题: 系统如何获知进程当前所需页面不在主存。 当发现缺页时,如何把所缺页面调入主存。 当主存中没有空闲的页框时,为了要接受一个新页,需要把老的一页淘汰出去,根据什么策略选择欲淘汰的页面。 2. 页描述子的扩充 页号、驻留位、内存块号、外存地址、访问位、修改位、(存取控制、辅存地址) 中断位:表示该页是在内存还是在外存 访问位:表示该页最近被访问过,根据访问位来决定淘汰哪页 修改位:查看此页是否在内存中被修改过 3.请求分页环境下地址变换过程(软硬件结合过程) (1)分页地址变换硬件按下面步骤: ①将地址寄存器中虚拟地址由硬件自动截成p和d; ②硬件自动根据页表地址寄存器和页号p访问页表,查看该页状态位,判断其是否在主存?若在内存,则转④若不在内存,则转③; ③硬件自动触发缺页中断,将缺页调入内存; ④硬件自动完成地址拼接; ⑤完成指令,并将下一条指令放入指令译码器和地址寄存器转① (2)中断硬件工作 ①缺页中断被接受后,中断处理硬件自动进行处理机状态切换,并把CPU控制权转个缺页中断处理程序。 (3)缺页中断处理程序工作 ①保留现场; ②根据分页策略决定分给一页(请求分页)或几页(提前分页); ③是否有足够内存,若有,则转④,若否,则转⑤; ④读入所需页面,调整页表、空闲页表等,恢复现场,返回; ⑤根据置换策略选择淘汰页,如淘汰页被修改过,则将该页写回页面缓冲池,调整页表、空闲页表,返回。 2.页面置换算法 1.页的分配策略: 局部分配:当无空间存放空闲页面时,只选择本进程占有的页面予以淘汰 全局分配:当无空间存放页面时,从系统所有进程占有的页面中选择淘汰页 2.置换算法 (1)随机淘汰法 (2)轮转法(RR)和FIFO法 RR法:循回换出内存中一个可以被换出的页 FIFO法:将在内存中驻留时间最长的一页换出 FIFO法的实现方法:需将各个已分配的页面按分配的时间顺序连接起来,组成FIFO队列,并设置一个指针指向FIFO队列的队首页面,当要置换时,只需把置换指针所指向的FIFO队列的首页换出,而把换入的页连接在FIFO队尾。 Belady现象:在采用FIFO算法时,一般情况下,分给进程的页面数增多时,其缺页率会减少,但是,在没有给进程分配足它所要求的页面时,有时会出现分的页面越多,缺页次数反而增加的现象。 示例一:设进程P共有8页,分给该进程3个页面,若程序访问内存的顺序为页号7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1.则P的各页面变化如下所示:注√表示发生了缺页中断 计算缺页率:(正常情况) 3个页面的情况:12/17=70.5% 4个页面的情况:9/17=52.9% Belady示例2 示例二:设进程P共有5页,分给该进程3个页面,若程序访问内存的顺序为页号1,2,3,4,1,2,5,1,2,3,4,5.则P的各页面变化如下所示:注√表示发生了缺页中断。 计算缺页率:(不正常情况) 3个页面的情况:9/12=75% 4个页面的情况:10/12=83.3% (3)最近最久未使用法(LRU) 换出离当前时间最久没有被使用的页

您可能关注的文档

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档