ch4-4.3分页和4.4分段存储管理.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.3 分页存储管理 4.3.1 分页存储管理基本原理 4.3.2 翻译快表 4.3.3 分页存储空间分配和去配 4.3.4 分页存储空间页面共享和保护 4.3.5 多级页表 4.3.6 反置页表 4.3.1 分页存储管理基本原理(1) ?为什么要引进分页技术? ?基本原理 (1) 页框 (2) 页面 (3) 逻辑地址形式 (4) 页表和地址转换 分页存储管理基本原理(2) 作业的页面与分给的页框如何建立联系呢? 逻辑地址(页面)如何变换成物理地址(页框)呢? 作业的物理地址空间由连续变成分散后,如何保证程序正确执行呢? ? 使用动态重定位技术,给每个页面设立重定位寄存器,重定位寄存器的集合便称页表。 ?页表是操作系统为每个用户作业建立的,用来记录程序页面和内存对应页框的对照表。 分页存储管理地址转换 和存储保护 页表基址寄存器 物理地址 逻辑地址 0 1 · · p b · · · 页表 CPU p d b d 内存 分页存储管理地址转换 4.3.2 翻译快表 相联存储器 快表格式 采用相联存储器后地址转换 采用相联存储器的地址转换 假定访问内存时间为100毫微秒,访问相联存储器时间为20毫微秒,相联存储器为32个单元时快表命中率可达90%,按逻辑地址存取的平均时间为: (100+20)×90%+(100+100+20)×(1-90%)=130毫微秒 比两次访问内存的时间100毫微秒×2+20=200毫微秒下降了三成多。 4.3.3分页存储空间分配和去配 位示图法 链表方法 分配算法 内存分配的位示图和链表方法 4.3.4分页存储空间页面共享 和保护 程序共享 标志位保护方法 键保护方法。 1. 页面共享 程序共享--由于指令包含指向其他指令或数据的地址,进程依赖于这些地址才能执行,不同进程中正确执行共享代码页面,必须为它们在所有逻辑地址空间中指定同样页号。 假定有一个被共享的编辑程序 EDIT,共有三页,现有两进程共享它。P1和p2的逻辑空间中均空出初始部分0页、1页和2页,而内存管理让这三页分别指向驻留在内存中的4、7、9页框中的EDIT。二个进程执行时用自己的页表进行地址映射,物理地址并不连续但逻辑地址是连续的,于是便可正确实现两个进程对编辑程序 EDIT的页面共享。 2. 页面保护 实现信息共享必须解决共享信息保护问题。通常的做法是在页表中增加标志位,指出此页的信息只读/读写/只可执行/不可访问等,进程访问此页时核对访问模式。例如,欲向只读块写入信息则指令停止执行,产生违例异常信号。 另外,也可采取存储保护键作为保护机制,本书第七章将介绍 IBM OS/370 系列操作系统的存储保护键保护机制 。 3. 运行时动态链接 应用程序 main1.c 需要使用动态链接共享库: 编译时,给出main1.c,并包含#include stdio.h等头文件; 链接器对编译输出信息:main1.o和标准共享库libc.so的重定位和符号表信息进行静态链接,获得链接的可执行目标代码命名为Exmain1; 装入器(execve( ))加载和运行Exmain1时,发现包含动态链接器的路径名,它本身是一个共享目标代码(如,在Linux系统上的LD-LINUX.so),装入器不再像它通常那样将控制传递给应用程序,取而代之是加载和运行这个动态链接器。 动态链接器通过执行下面重定位完成链接任务: (1) 重定位libc.so的文本和数据到某个内存段。在Linux系统中,标准共享库被加载到从地址0始的区域中; (2) 重定位Exmain1中所有对由libc.so定义的符号的引用; (3) 动态链接器将控制传递给应用程序,从这个时刻开始,共享库的位置便固定,并在程序执行过程中都不会改变。 4.3.5 多级页表 多级页表的概念 多级页表的具体做法 逻辑地址结构 逻辑地址到物理地址转换过程 多级页表的概念 系统为每个进程建一张页目录表,它的每个表项对应一个页表页,而页表页的每个表项给出了页面和页框的对应关系,页目录表是一级页表,页表页是二级页表。 逻辑地址结构有三部分组成:页目录、页表页和位移。 多级页表地址转换过程 B offset dir page offset B F 进程一级页表 进程二级页表 物理地址 逻辑地址 页目录表 控制寄存器 解决页表页占用内存空间的问题 进程运行涉及页面的页表页应放在内存,其他页表页使用时再调入, 在页目录表中增加特征位,指示对应的页

文档评论(0)

资深分析师 + 关注
实名认证
服务提供商

文档修改,行业分析,IT咨询

1亿VIP精品文档

相关文档