操作系统第四章-2016分解.ppt

  1. 1、本文档共88页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 4.5.1 分页存储管理的基本方法 (2)地址结构 页号 P (1MB) 位移量W (4KB) 31 12 11 0 它含有两部分。前一部分为页号P,后一部分为位移量W,即页内地址。 对某特定机器,其地址结构是一定的。 若给定一个逻辑空间中的地址为A,页面大小为L,则页号P和页内地址d可按下式求得: P=INT[A/L], d=[A]MOD L * 0页 1页 2页 3页 4页 5页 … N页 0 2 1 3 2 6 3 8 4 9 5 … … (3)页表:实现从页号到物理块号的映射。 页号 块号 内存 0 1 2 3 4 5 6 7 8 9 用户程序 页表的作用 * 4.5.2 地址变换机构 基本任务: 实现逻辑地址到物理地址的转换,即将逻辑地址中的页号转换为内存中的物理块号。 基本的地址变换机构。 具有块表的地址变换机构。 * (1)基本的地址变换机构: 页表寄存器:由于页表大多数驻留在内存中,在内存中设置一个页表寄存器存放页表在内存中的始址和长度。 在单处理机环境下只需一个页表寄存器。 分页地址变换机构: 将逻辑地址分为页号与页内地址; 比较页号与页表长度:大于,越界; 否则:页表始址+页号*页表项长度=在页表中的位置; 在页表中的位置中得到该页的物理块号; 物理块的始址+页内偏移=物理地址。 * 页表始址 页表长度 页号3 页内地址 1 b 》 + 越界中断 页号 块号 0 1 2 3 页表 物理地址 页表寄存器 逻辑地址 基本的地址变换机构: * (2)具有快表的地址变换机构: 由于页表大多数在内存中,CPU存取一个数据要两次访问内存,使计算机的处理速度降低1/2,代价高。 在地址变换机构中增加一个具有并行查询能力的特殊高速缓冲存储器,称为“联想寄存器”或“快表”,用来存放当前访问的表项。 地址变换机构: 自动将页号P送入高速缓冲存储器中,并将该页号与缓冲存储器中的页号比较,若有,则页表项在快表中,直接得到物理块号;若无则在内存中,再访问内存。 * 页表始址 页表长度 页号 页内地址 b b d + 输入寄存器 页表寄存器 逻辑地址 物理地址 越界中断 页号 块号 页表 页号 块号 快表 具有快表的地址变换机构 * 由于高速缓存的成本很高,不可能做很大,通常存放16~512个页表项。 Molorola 68030处理器有22个; Intel 80486处理器有32个; 中、小型作业可能把全部页表项放入快表中,大型作业只能放入一部分。 * 命中率(%) 有效访问时间T=h*t1+(1-h)ts(ns) 0 50 80 90 98 T=0*120+1*220=220 T=0.5*120+0.5*220=170 T=0.8*120+0.2*220=140 T=0.9*120+0.1*220=130 T=0.98*120+0.02*220=122 通常,联想寄存器的命中率为80%~90%,有效访问时间只比单周期增加了30%~40%,如果不引入则访问时间延长一倍. 4.5.3 访问内存的有效时间 * 4.5.4 两级和多级页表 现代的大多数计算机系统,都支持非常大的逻辑地址空间,页表应非常大。 如:32位地址空间,页面大小为12位(4KB)时,则页数为1M,即页表项为1M.如果一个页表项占用4个字节,故每个进程只是页表就要占用4MB的内存空间,并且这些内存空间还必须是连续的。 对于内存来说,要有大的连续空间用于页表不现实。 * 通过两个方面来解决这一问题: 对页表所需的内存空间,采用离散分配方式来解决难以找到一块连续的大内存空间问题. 只将当前需要的部分页表调入内存,其余的页表仍然驻留在磁盘上,只有需要时再调入内存。 * (1)两级页表: 为了避免页表需要大的连续内存空间,利用将页表进行分页的办法。 页表的页面大小等于内存物理块的大小; 对页表的页面进行编号; 为分散的页表再建立一张页表,称为外层页表; 在外层页表中记录有页表页面号与页表所在物理块的首址。 * 例:32位物理地址空间.页面大小为4KB,一个页表项长度为1个字节。如果连续页表则需要1MB的连续空间. 现在用两级页表: 对1MB的页表进行分页,每页4KB,则需250页; 外层页表则需要250项,如果一项为4个字节,外

文档评论(0)

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

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

1亿VIP精品文档

相关文档