操作系统 第4章 存储器管理.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 把用户程序按逻辑页划分成大小相等的部分,称为页。从0开始编制页号,页内地址是相对于0编址 * 把用户程序按逻辑页划分成大小相等的部分,称为页。从0开始编制页号,页内地址是相对于0编址 4.5 分页存储管理方式 两级和多级页表 引入原因 现代计算机系统,都支持庞大的逻辑地址空间 页表会变得很大,占用相当大的内存 例:32位的虚拟地址,进程的页表多大? 设:页面大小为4KB,用户地址空间 4GB — 共 220 个页面,页表需220 个表项 再设:每个物理块号 2B — 页表本身共 29 =512 个页面 页表所需的内存是连续的,更加难以实现 4.5 分页存储管理方式 解决方案 对页表采用离散方式来存放——多级页表 但还是需要比较多的空间 只将部分页表装入内存,其余留在磁盘上,需要时再调入 4.5 分页存储管理方式 (a)使用2级页表的32位地址空间 (b)二级页表 4.5 分页存储管理方式 二级页表结构及地址映射 PT1 PT1 PT2 偏移量 逻辑地址 二级页表始址 . . . 顶级页表 (每个进程一个) 物理块号 . . . 二级页表 代码或数据 . . . 内存块 + + 4.5 分页存储管理方式 反置页表(Inverted Page Table) 为内存中的每个物理块设置一个表项,并将其按照物理块号来进行排序,表项的内容是页号和其所属的进程的标识符 由于使用反置页表进行地址映射时,是用进程标识符和页号去检索反置页表,为了提高检索速度,通常采用Hash表 4.5 分页存储管理方式 地址映射 CPU b W 物理 存储器 P pid b W P pid 4.5 分页存储管理方式 优点 没有外碎片,每个内碎片不超过页面大小 进程不必连续存放 由于页的大小相等,内存的分配、回收简单 缺点 不易实现共享 不便于动态连接 4.6 分段存储管理方式 分段存储管理的引入 主要为了满足用户的下列要求 方便编程 信息共享 信息保护 动态增长 动态链接 4.6 分段存储管理方式 一个用户程序往往由几个程序段(主程序、子程序和函数)所组成,当一个程序装入内存时,按段进行分配,每个段的大小是不相等的。 程序地址的组成:S:W 例 S1:XXXX S2:XXXX S3: XXXX 4.6 分段存储管理方式 分段系统的基本原理 段(segment)是由有一定意义的线性地址序列构成,它是信息的逻辑单位 分段 按程序自身的逻辑关系划分为若干个程序段 每个程序段都有一个段名,且有一个段号,段号从0开始 每一段也从0开始编址,段内地址是连续的 4.6 分段存储管理方式 逻辑地址 段号 段内地址 . . . 0 S-1 工作区段[B] . . . . . . 0 E P-1 子程序段[X] 主程序段[M] 0 K-1 . . . CALL [X] [E] . . . . . . . . . CALL [Y] [F] CALL [A] 116 . . . 0 F L-1 子程序段[Y] . . . 0 116 N-1 数组[A] . . . 12345 . . . 4.6 分段存储管理方式 内存分配 以段为单位分配内存 每一个段在内存中占据连续空间(内存随机分割,需要多少分配多少) 各段之间可以不连续存放 所用数据结构和分配算法同可变分区管理 段表 记录了段号,段的首地址和长度之间的关系 每一个进程设置一个段表,放在内存 属于进程的现场信息 4.6 分段存储管理方式 B 0 S-1 A 0 N-1 Y 0 L-1 X 0 P-1 M 0 K-1 逻辑段号 0 1 2 3 4 K 3200 P 1500 L 6000 N 8000 S 5000 长度 段始址 0 1 2 3 4 段表 1500 3200 5000 6000 8000 P K S L N 主存 操作系统 4.6 分段存储管理方式 地址变换机构 系统设置段表地址寄存器 段表始址:保存正在运行进程的段表在内存中的的始址 段表长度:保存正在运行进程的段表的长度 段表长度 段表始址 + 段号S 段内地址d ? ? ? b + d 物理地址 段表地址寄存器 逻辑地址 地址越界 地址越界 地址越界 快表 … S l b … 段表 l b … 4.6 分段存储管理方式 4.6 分段存储管理方式 4.6 分段存储管理方式 存储保护 越界保护 段表控制寄存器中存放的段表长度、在段表中设置的段长可进行越界保护 存取控制保护 可在段表中设置存取权限项实现存取控制保护 4.6 分段存储管理方式 分页和分段的主要区别 段是信息的逻

文档评论(0)

186****6410 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档