第四章 存储管理(上)教案.pptVIP

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
存储管理概述(?) 内存管理的基本原理(?) Windows 的内存管理 外存管理的基本原理 Windows 的外存管理 高速缓存管理的基本原理 Windows 的高速缓存管理 存储体系 存储管理的功能 逻辑地址和物理地址 重定位技术 存储体系 高速缓存: Data Cache TLB(Translation Lookaside Buffer) 内存:DRAM, SDRAM等; 外存:软盘、硬盘、光盘、磁带等; 存储管理的功能 存储分配和回收:分配和回收算法及相应的数据结构。 地址变换: 可执行文件生成中的链接技术 程序加载(装入)时的重定位技术 进程运行时硬件和软件的地址变换技术和机构 存储共享和保护: 代码和数据共享 地址空间访问权限(读、写、执行) 存储器扩充:存储器的逻辑组织和物理组织; 由应用程序控制:覆盖; 由OS控制:交换(整个进程空间),虚拟存储的请求调入和预调入(部分进程空间) 逻辑地址和物理地址 逻辑地址(相对地址,虚地址):用户的程序经过汇编或编译后形成目标代码,目标代码通常采用相对地址的形式。 其首地址为0,其余指令中的地址都相对于首地址来编址。 不能用逻辑地址在内存中读取信息。 物理地址(绝对地址,实地址):内存中存储单元的地址。物理地址可直接寻址。 地址映射:将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址。 当程序装入内存时, 操作系统要为该程序分配一个合适的内存空间,由于程序的逻辑地址与分配到内存物理地址不一致, 而CPU执行指令时,是按物理地址进行的,所以要进行地址转换。 重定位技术 重定位:在可执行文件装入时需要解决可执行文件中地址(指令和数据)和内存地址的对应。由操作系统中的装入程序来完成。 重定位方法: 绝对装入 可重定位装入 动态装入 绝对装入(absolute loading) 优点:装入过程简单。 缺点:过于依赖于硬件结构,不适于多道程序系统。 可重定位装入(relocatable loading) 优点:不需硬件支持,可以装入有限多道程序 缺点:一个程序通常需要占用连续的内存空间,程序装入内存后不能移动。不易实现共享。 动态装入(dynamic run-time loading) 优点: OS可以将一个程序分散存放于不连续的内存空间,可以移动程序,有利用实现共享。 能够支持程序执行中产生的地址引用,如指针变量(而不仅是生成可执行文件时的地址引用)。 缺点:需要硬件支持(通常是CPU),OS实现较复杂。它是虚拟存储的基础。 单一连续区存储管理 分区存储管理 页式和段式存储管理 虚拟存储器 单一连续区存储管理 内存分为两个区域:系统区,用户区。应用程序装入到用户区,可使用用户区全部空间。 最简单,适用于单用户、单任务的OS。 优点:易于管理。 缺点:对要求内存空间少的程序,造成内存浪费;程序全部装入,很少使用的程序部分也占用内存。 把内存分为一些大小相等或不等的分区(partition),每个进程占用一个或几个分区。操作系统占用其中一个分区。 特点:适用于多道程序系统和分时系统 支持多个程序并发执行 难以进行内存分区的共享。 问题:可能存在内碎片和外碎片。 内碎片:占用分区之内未被利用的空间 外碎片:占用分区之间难以利用的空闲分区(通常是小空闲分区)。 固定分区(fixed partitioning) 分区大小相等:只适合于多个相同程序的并发执行(处理多个类型相同的对象)。 分区大小不等:多个小分区、适量的中等分区、少量的大分区。根据程序的大小,分配当前空闲的、适当大小的分区。 动态分区(dynamic partitioning) 动态创建分区:在装入程序时按其初始要求分配,或在其执行过程中通过系统调用进行分配或改变分区大小。 优点:没有内碎片。 缺点:有外碎片。 分区分配算法 寻找某个空闲分区,其大小需大于或等于程序的要求。若是大于要求,则将该分区分割成两个分区,其中一个分区为要求的大小并标记为“占用”,而另一个分区为余下部分并标记为“空闲”。分区的先后次序通常是从内存低端到高端。 分区分配算法 最先匹配法(first-fit):按分区的先后次序,从头查找,找到符合要求的第一个分区 该算法的分配和释放的时间性能较好,较大的空闲分区可以被保留在内存高端。 但随着低端分区不断划分而产生较多小分区,每次分配时查找时间开销会增大。 下次匹配法(next-fit):按分区的先后次序,从上次分配的分区起查找(到最后分区时再回到开头),找到符合要求的第一个分区 该算法的分配和释放的时间性能较好,使空闲分区分布得更均匀,但较大的空闲分区不易保留。 最佳匹配法(best-fit):找到其大小与要求相差最小的空闲分区 从个别来看,外碎片较小,但从整体来看,会形成较多外碎片。较大的空闲分

文档评论(0)

沃爱茜 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档