网站大量收购独家精品文档,联系QQ:2885784924

第三章 内存管理2.pptVIP

  1. 1、本文档共104页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 内存管理2

第三章 内存管理(2) 3.5.1 页式存储管理的引入 在动态分区的存储空间中, 存在“零头”问题。尽管采用“紧凑”技术可以解决这个问题,但要为移动大量信息花去不少的处理机时间,代价较高。 在为进程分配内存时,以块为单位将进程中的若干个页分别装入到多个可以不相邻接的物理块中。由于进程的最后一页经常装不满一块而形成了不可利用的碎片,称之为“页内碎片”。 2.页表 列出了作业的逻辑地址与其在主存中的物理地址间的对应关系。 页面大小: 页面的大小应选择得适中,且页面大小应是2的幂,通常为512 B~8 KB。 2.页表 一个页表中包含若干个表目,表目的自然序号对应于用户程序中的页号,表目中的块号是该页对应的物理块号。 页表的每一个表目除了包含指向页框的指针外,还包括一个存取控制字段。 表目也称为页描述子。 分页管理中页与页框的对应关系示意图 2. 地址变换过程 例如指令 LOAD 1,2500 的地址变换过程如下: 地址变换过程(续) 把虚拟地址2500转换成页号P=2,位移量W=452; 如果页号2大于页表大小,则中断;否则继续; 页号2与页表起址1000运算(1000+2*20,设页描述子大小为20)得到页描述子地址为1040; 从页描述子中读取块号8; 根据页描述子的“存取控制”判断该指令是否被允许访问内存,如果不允许,则中断;否则继续; 块号8与位移量452运算(8*1024+452=8644,1024为页面大小)得到物理地址8644; 把内存地址8644单元中数字写进寄存器1。 内存的分配 计算一个作业所需要的总块数N 查位示图,看看是否还有N个空闲块 如果有足够的空闲块,则页表长度设为N,可填入PCB中;申请页表区,把页表始址填入PCB 依次分配N个空闲块,将块号和页号填入页表 修改位示图 4.快表 如果把页表放在主存中,无疑会影响系统的性能。这是因为每次访问主存,首先必须访问页表,读出页描述子,之后根据形成的实际地址再访问主存,这样使访问主存的次数加倍,因而使总的处理速度明显下降。 为了解决这个问题人们采用一组硬件寄存器,存放当前访问过的页的页描述子,    每次访问主存时,首先查找快表,若找到所需的页描述子,则快速形成物理地址。否则从页表中查找后形成物理地址,同时把页描述子写入快表。如果设计得当,快表的命中率可以很高。 具有快表的地址变换机构 2.多级页表 32位 进程页表多大? 设:页面大小为4K 用户空间 2GB 则:一个进程 219页 设:每个内存块号 4字节 则:进程页表 512页 结论:一个进程的页表的各页之间可以不连续存放 解决:页表本身使用地址索引——页目录 在分页存储系统中,作业的地址空间是一维线性的,这破坏了程序内部天然的逻辑结构,造成共享、保护的困难。引入分段存储管理方式, 主要是为了满足用户和程序员的下述需要: 1) 方便编程 2) 信息共享 3) 信息保护 4) 动态增长 5) 动态链接 4. 地址变换机构 3.6.3 信息共享 4. 地址空间和地址结构 一个程序首先被划分成若干程序段,每一段给予不同的分段标识符然后,对每一分段又分成若干个固定大小的页面。如下图(a)所示,系统中的一个作业的地址空间结构页面尺寸为4K字节,该作业有三个分段,第一段为15K字节,占4页,最后一页只有1K未用;其它段同理。未足一页大小的补为一页。 5.地址映射 段页式系统的地址变换结构 地址变换(续) 从控制寄存器读取段表始址,找到段表; 段号+段表始址 得到段描述子地址; 从段描述子读取页表始址,找到页表; 页号+页表始址 得到页描述子地址; 从页描述子读取物理块号; 物理块号+页内位移量 得到物理地址。 上述的地址变换至少要访问主存三次,这将使执行程序的速度大大降低。为了解决上述问题,可以采取前边讲过的“快表”技术。 3. 虚拟存储器 具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的存储器系统。虚拟存储器就是一个地址空间,且具有比实存大得多的容量。 3.虚拟存储器 对用户:指令地址部分所限定的比实存大得多的地址实间。 对系统:借助于各种表格机构,体现虚拟实间。 4. 虚拟存储器的容量 一个虚拟存储器的最大容量是由计算机的地址结构确定的。如:若CPU的有效地址长度为32位,则程序可以寻址范围是0~(2^32)-1 ,即虚存容量为 4GB。 虚拟存储器的容量与主存的实际大小没有直接的关系,而是由主存与辅存的容量之和所确定。 1.需要解决的问题 系统需要解决下面三个问题:

文档评论(0)

hello118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档