chapter4_存储器管理.ppt

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

4.1 地址重定位 4.2 分区存储管理 4.3 覆盖和交换 4.4 页面式存储管理 4.5 请求式页面存储管理 4.6 段式存储管理 4.7 段页式存储管理 逻辑地址(相对地址,虚地址):用户的程序经过汇编或编译后形成目标代码,目标代码通常采用相对地址的形式。 其首地址为0,其余指令中的地址都相对于首地址来编址。 不能用逻辑地址在内存中读取信息。 物理地址(绝对地址,实地址):内存中存储单元的地址。物理地址可直接寻址。 地址映射:将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址。 地址重定位:实现程序的相对地址空间到绝对地址空间之间的映射。 程序在成为进程前的准备工作 编辑:形成源文件(符号地址) 编译:形成目标模块(模块内符号地址解析) 链接:由多个目标模块或程序库生成可执行文件(模块间符号地址解析) 装入:构造PCB,形成进程(使用物理地址) 重定位方法: 静态重定位 动态重定位 优点:容易实现,无需硬件支持。 缺点: 程序在主存中只能连续分配; 程序装入内存后不能移动; 对共享的同一程序,各用户必须使用自己的副本,浪费存储空间。 优点: OS可以将一个程序分散存放于不连续的内存空间;可以移动程序。 有利用实现共享。 缺点:需要硬件支持(通常是CPU),是虚拟存储的基础。 缺点:不能充分使用存储空间。 内存分为两个连续区域:系统区,用户区。应用程序装入到用户区,可使用用户区全部空间。 最简单,适用于单道程序设计的OS。 优点:易于管理。 缺点:对要求内存空间少的程序,造成内存浪费(空闲存储区)。 基本思想:把内存分为一些大小相等或不等连续区域----分区(partition),每个分区只能驻留一个程序。操作系统占用其中一个分区。 特点:适用于多道程序系统和分时系统 支持多个程序并发执行 问题:存在碎片(小得难以使用的分区)问题,可能存在内部碎片和外部碎片。 内部碎片:占用分区之内未被利用的空间 外部碎片:占用分区之间难以利用的空闲分区(通常是小空闲分区)。 分区大小相等:只适合于多个相同程序的并发执行(处理多个类型相同的对象)。 分区大小不等:多个小分区、适量的中等分区、少量的大分区。根据程序的大小,分配当前空闲的、适当大小的分区。 优点:简单易于实现,开销小。 缺点: 内部碎片造成浪费 分区总数固定,限制了并发执行的程序数目。 采用的数据结构:分区表(分区说明表)--记录分区的大小和使用情况 动态分区:在装入作业和处理过程中,按其要求的内存容量以及当时的内存资源使用情况,将一块大小与所要求相近的存储区分配给作业。 优点:没有内部碎片。 缺点:有外部碎片。 分区的数据结构:分区表,或分区链表 可以只记录空闲分区,也可以同时记录空闲和占用分区 单一分区表中,表项数目随着内存的分配和释放而动态改变,表长难以确定,分配回收分区时降低查找速度。 分区表可以划分为两个表:空闲分区表,使用分区表。从而减小每个表长度。空闲分区表(一般常用链表结构)中按不同分配算法相应对表项排序。 分区分配和释放算法 分区分配算法:寻找某个空闲分区,其大小需大于或等于程序的要求。 分区释放算法:需要将相邻的空闲分区合并成一个空闲分区。(这时要解决的问题是:合并条件的判断和合并时机的选择) 最先匹配法(first-fit):按分区的先后次序,从头查找,找到符合要求的第一个分区 该算法的分配和释放的时间性能较好,较大的空闲分区可以被保留在内存高端。 但随着低端分区不断划分而产生较多小分区,每次分配时查找时间开销会增大。 最佳匹配法(best-fit):找到其大小与要求相差最小的空闲分区 从个别来看,外部碎片较小,但从整体来看,会形成较多外部碎片。较大的空闲分区可以被保留。 最差匹配法(worst-fit):找到最大的空闲分区 基本不留下小空闲分区,但较大的空闲分区不被保留。 基本思想:分配算法与可变分区分配基本算法基本相同,并对作业进程分区进行搬迁,以形成大的连续的空闲分区。 特点:解决外部碎片问题的简单有效的方法 对占用分区进行内存数据搬移占用CPU时间 如果对占用分区中的程序进行“浮动”,则其重定位需要硬件支持(提供基址-界限寄存器对)。 实现空闲分区拼接的时机:每个分区释放后,或内存分配找不到满足条件的空闲分区时 基本思想:一个作业由一些相对独立的程序段和数据段组成,每个段占用一个连续分区,而相应的各分区之间不要求是连续的。 特点:有效地解决外部碎片问题 要求: 相应的语言编译器能在作业的每个段内生成有效地址(各段相对于0编址) 系统内设置多对基址-界限寄存器。 优点: 可以实现分区共享 诸进程可以共享数据分区。 引入:其目标是在较小的可用内存中运

文档评论(0)

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

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

1亿VIP精品文档

相关文档