计算机简易操作系统白金版第9章内存管理.pptVIP

计算机简易操作系统白金版第9章内存管理.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 作业 P231 9.5 9.16 补充1:设页大小为1k(1024B ),页表如图所示,将逻辑地址37390、46402转换为相应物理地址 84 85 95 96 36 37 38 39 页表 * 对下图所示的程序结构,试用覆盖的方法分配空间,使得空间最小。 补充2 A(20KB) F(40KB) G(30KB) B(50KB) D(20KB) C(30KB) E(40KB) H(40KB) I(30KB) 韩都衣舍男装衬衫专卖店 / 天猫孕妇装秋装 / 韩都衣舍女士时装店 / 韩都衣舍官方网站 韩都衣舍实体店在哪里 / * 第9章 内存管理 主要内容 背景 交换 连续内存分配 分页 分段 带有分页的分段 * 9.1 背景 地址捆绑:从一个地址空间到另一个地址空间的映射 编译时:若编译时知道进程将在内存的驻留地址,可以生成内存地址的绝对代码 加载时:若编译时不能确定进程驻留何处,编译器生成可重定位代码(relocatable code),捆绑延迟到加载时进行 执行时:若允许进程在执行时移动位置,捆绑必须延迟到执行时进行 * 2、逻辑地址空间与物理地址空间 逻辑地址(虚地址):CPU所生成的地址 物理地址(实地址):内存单元所看到的地址 逻辑地址空间:由程序所生成的所有逻辑地址的集合 物理地址空间:由逻辑地址所对应的所有物理地址的集合 内存管理单元(memory-management unit,MMU):一种硬件设备,负责虚地址到实地址的映射 动态重定位 在程序执行过程中,每次在访问内存单元之前把有关的虚拟地址转换成实际的物理地址 需要基地址寄存器Base Register 和虚拟地址寄存器Virtual Register支持 * 例:使用重定位寄存器的动态重定位 * 动态加载(dynamic loading):一个子程序只有在调用时才被加载 不用的子程序不会被装入内存,节省内存空间 动态链接(dynamically linked)与共享库 动态链接:运行前只加载主程序,执行中每当需要调用一个新段时,才加载该段并与主程序段链接 共享库:在新库安装之前所链接的其他程序可以继续使用老库 * 5、覆盖(overlay) 在任何时候只在内存中保留所需的指令和数据 由用户实现,让不会同时调用的子模块共同使用同一内存区 F 20K D 22K E 24K B 12K C 15K A 30K 常驻A(30KB) 覆盖区0(15KB) 覆盖区1(24KB) A占用 BC共用 DEF共用 * 9.2 交换(swap) 思想:进程可以暂时从内存中交换出来到备份存储上,当需要执行时再调回到内存中 分析 普通的交换需要很多时间,而且提供很少的执行时间,不是一种有效的内存管理解决方案 一些交换的变种在许多系统中得以使用(如许多UNIX版本中:交换通常不执行,但当有许多进程运行且内存空间吃紧时,交换开始启动;如果系统负荷降低,交换就暂停) * 9.3 连续内存分配 主要思想:每个进程位于一个连续的内存区域 内存保护 问题:保护操作系统不受用户进程所影响,保护用户进程不受其他用户进程所影响 方法 存储键保护 系统将主存划分成大小相等的若干存储块,并给每个存储块都分配一个单独的保护键(锁);在程序状态字PSW中设置有保护键字段,对不同的作业赋予不同的代码(钥匙);钥匙和锁相配才允许访问 界限寄存器(下页图) 上、下界防护:硬件为分给用户作业的连续的主存空间设置一对上、下界,分别指向该存储空间的上、下界 基址、限长防护:基址寄存器存放当前正执行者的程序地址空间所占分区的始址,限长寄存器存放该地址空间的长度 * 下限寄存器 2000 上限寄存器 3500 基址寄存器 2000 限长寄存器 1500 进程id 下限+上限寄存器 基址+限长寄存器 1 1000+1999 1000+999 2 2000+3500 2000+1500 3 4000+5000 4000+1000 内存映像 …… 进程1 进程2 进程3 …… 1000 1999 2000 3500 4000 5000 正运行的进程是进程2 * 2、内存分配 固定分区 思想:将内存分为多个固定大小的分区,每个分区只能容纳一个进程 可变分区-动态存储分配 孔(hole):可用的一块内存 思想:当进程需要内存时,查找足够大的孔,找到-分配所需内存,未分配的可以下次再用;当进程终止时,释放其内存,还给孔集合。 查找孔集合以决定哪个孔最适合分配的算法 首次适应(first-fit):分配第一个足够大的孔 最佳适应(best-fit):分配最小的足够大的孔 最差适应(worst-fit):分配最大的孔 产生外部碎片问题 * 下表为某系统中的空闲分区表,系统

文档评论(0)

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

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

1亿VIP精品文档

相关文档