ch6 存储管理.ppt

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

* . . . 0 S 工作区段[B] 主程序段[M] . . . . . . 0 E P 子程序段[X] 0 K . . . CALL [X] [E] . . . . . . . . . CALL [Y] [F] CALL [A] 116 . . . . . . 0 F L 子程序段[Y] 0 116 N 数组[A] 12345 . . . * 操作系统 . . . . . B 0 S A 0 N Y 0 L X 0 P M 0 K 逻辑段号 0 1 2 3 4 作业1的地址空间 1000 3200 5000 6000 8000 P K S L N 主存 K 3200 P 1500 L 6000 N 8000 S 5000 段号 段地址 0 1 2 3 4 操作系统 段地址映射 (1)地址映射数据结构 段地址映射的数据结构有段表、段表首址指针和段表的长度。段表首址指针和段表长度存放在进程自己的PCB中。段表一般包括有段的长度、段的首址和存取状态等信息。 每一进程有个段表,程序的每一个段在段表中占用一个表目。 * 段号 0 1 2 段首址 段长度 58K 20K 100K 110K 260K 140K 空闲块管理 空闲块表(队列) 内存分配算法(三种) 首次 最佳 最坏 与动态分区管理相同 * (2)内存的分配 (3)段地址变换 段地址变换由硬件地址变换机构完成 * 说明 段地址映射过程为: 程序地址字送入虚地址寄存器VR中。 取出段号S和段内位移W。 根据段表首址指针找到段表,查找段号为S的表目,得到该段的首地址。 把段首地址与段内位移相加,形成内存地址送入MR中,并以此地址访问内存。 * (4)快表 同页地址变换一样,在段地址变换过程中,也有两次访问内存的问题。为了加快访问内存的速度也可采用快速存储器组成快表。 * * Cl Cb + 段号S 段内地址d 比较 比较 b + d 段表 S= Cl 快表 物理地址 段表始址寄存器 段表长度寄存器 逻辑地址 L b . . . S L b 地址越界 d=L d=L 地址映射及存储保护机制 地址越界 地址越界 比较 (5)分段与分页技术的比较 分段与分页主要有以下差别: 段是依据程序的逻辑结构划分的,页是按内存线性空间物理划分的。 段式技术中程序地址空间是二维的,分页技术中程序地址空间是一维的。 段是面向用户的,页对用户而言是透明的。 * 分段与分页技术的比较(续) 段长由用户决定,且各段的大小一般不相等,唯一的限制是最大长度。而页长是由系统决定的,各页的长度必须相等。 段的共享比页的共享更容易。 * 段式存储管理方案小结 优点: 便于动态申请内存 管理和使用统一化 便于共享 便于动态链接 缺点:产生碎片 思考:与可变分区存储管理方案的相同点与不同点? * 5、段页式存储管理方式 产生背景: 结合页式段式优点,克服二者的缺点 段页式存储管理基本思想 地址映射 * 段页式存储管理基本思想 用户程序划分 按段式划分(对用户来讲,按段的逻辑关系进行划分;对系统讲,按页划分每一段) 逻辑地址 内存划分 按页式存储管理方案 内存分配 以页为单位进行分配 * 段号 段内地址 页号 页内地址 地址映射 段表:记录了每一段的页表始址和页表长度 页表:记录了逻辑页号与内存块号的对应关系(每一段有一个,一个程序可能有多个页表) 内存分配管理:同页式管理 * 图示 * 思考 在具有快表的段页式存储管理方案中,如何实现地址变换? * 6、覆盖技术与交换技术 (1)为什么引入? 在多道环境下扩充内存的方法,用以解决在较小的存储空间中运行较大程序时遇到的矛盾: 覆盖技术主要用在早期的操作系统中; 交换技术被广泛用于小型分时系统中,交换技术的发展导致了虚存技术的出现。 * 交换技术与覆盖技术共同点: 进程的程序和数据主要放在外存,当前需要执行的部分放在内存,内外存之间进行信息交换。 不同点:如何控制交换? * (2)覆盖技术 把程序划分为若干个功能上相对独立的程序段,按照其自身的逻辑结构将那些不会同时执行的程序段共享同一块内存区域。 程序段先保存在磁盘上,当有关程序段的前一部分执行结束,把后续程序段调入内存,覆盖前面的程序段(内存“扩大”了)。 覆盖:一个作业的若干程序段,或几个作业的某些部分共享某一个存储空间。 一般要求作业各模块之间有明确的调用结构,程序员要向系统指明覆盖结构,然后由由操作系统完成自动覆盖。 * * 图示 A 8K E 4K F 10K C 10K B 8K D 12K 作业X的调用结构 作业

您可能关注的文档

文档评论(0)

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

你好,我好,大家好!

版权声明书
用户编号:7140162041000002

1亿VIP精品文档

相关文档