第四章_存储管理课程.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统 Operating System;教学目的;本章重点:;本章难点:;第4章 存储管理;本章学习目标 ;§4.1 存储管理的原理;§4.1.1 存储器; 主存 ;§4.1.2 存储管理的原理;2.存储单元与物理地址空间;3.作业的装入;; 【作业的名空间、逻辑地址空间和物理空间】;4.地址重定位;静态地址重定位的优点是容易实现,无需硬件支持,它只要求程序本身是可重定位的,即对那些要修改的地址部分具有某种标识,地址重定位由专门设计的程序来完成。在早期的操作系统中大多数都采用这种方法。其主要缺点是程序经地址重定位后就不能移动了,因而不能重新分配内存,不利于内存的有效利用。;(3)动态地址重定位 动态地址重定位是在程序执行期间进行的。在CPU访问内存之前,将要访问的程序或数据地址转换成内存地址。 通过基地址寄存器、变址寄存器计算出指令的有效地址,再利用硬件机构实现地址映射,这样的硬件设备称为存储管理单元MMU(Memory-Management Unit)。 通常采用的办法是利用一个重定位寄存器,对每一个有效地址都要加上重定位寄存器中的内容,以形成绝对地址。; 动态地址重定位的优点是程序在内存中的搬移不会对程序的正确执行造成影响,使内存得以被充分利用,其缺点是需要附加的硬件支持,实现存储管理的软件算法比较复杂。;4.1.3 链接;一、链接方法;2. 动态链接(dynamic-linking)    在装入或运行时进行链接。通常被链接的共享代码称为动态链接库(DLL, Dynamic-Link Library)或共享库(shared library)。 共享:多个进程可以共用一个DLL,节省内存,减少文件交换。 部分装入:一个进程可以将多种操作分散在不同的DLL中实现,而只将当前操作相应的DLL装入内存。 便于局部代码修改:即便于代码升级和代码重用;只要函数的接口参数(输入和输出)不变,则修改函数及其DLL,无需对可执行文件重新编译或链接。 便于运行环境适应:调用不同的DLL,就可以适应多种使用环境和提供不同功能。如:不同的显示卡只需厂商为其提供特定的DLL,而OS和应用程序不必修改。 缺点: 链接开销:增加了程序执行时的链接开销; 管理开销:程序由多个文件组成,增加管理复杂度。 ;以Multics系统为例,给出动态链接的一种实现方法。 操作系统需要为每一个进程保持一个用于记录当前已连接段的表目,该表称作段名-段号对照表,见下表:;此外,为了将一个外段中的符号名转换为对应的段内地址,每个段在编译时,需要生成符号表,放在一个段的前面,作为段的一个组成部分。见下表:;例如:;…;段名;…;§4.1.4存储管理的机制和策略;【存储管理的功能】;【存储管理的功能】;【存储管理的功能】;【存储管理的功能】;【界限寄存器的两种存储保护方式】;【存储管理的功能】;【存储管理的功能】;§4.2 连续分配存储管理;1.内存分配与回收 一道用户程序独占用户区,如图所示。 ;3.内存保护 通过基址寄存器保证用户程序不会从系统区开始;另外系统需要一个界限寄存器,里边存储程序逻辑地址范围,若需要进行映射的逻辑地址超过了界限寄存器中的值,则产生一个越界中断信号送CPU。 ;§4.2.2 固定分区存储管理;1.分区划分方法;2.主存分配表;3.主存空间的分配与释放 ;等待进入主存的作业排成一个作业队列。当主存中有空闲的分区时,依次从作业队列中选择一个能装入该分区的作业。当所有的分区都已装有作业,则其他的作业暂时不能再装入,绝对不允许在同一分区中同时装入两个或两个以上的作业。已经装入主存的作业在获得处理机运行时,要限定它只能在所占的分区中执行。 ;当作业队列中有作业要装入主存时,存储管理可采用“顺序分配算法”进行主存空间的分配。 ;图4.12;4.地址转换 ; 6.固定分区的缺点 碎片大,存在小作业占用大分区的情况。不利于提高内存资源的利用率 。可调入的作业大小受分区大小的严格限制。 ;§4.2.3 可变分区存储管理;OS;和固定分区相似,动态分区也可以采用表格的形式来管理内存空间。可用一张已分区表来表示被分配出去的分区,用一张空闲分区(未分区)表来表示空闲分区。在这种方式下,由于分区个数不定,因而已分区表或空闲分区表应该有一定的冗余,此时占用标志位表示已分区表中的表项是否被使用,置1表示被使用,置0表示空闲。 ; 图4.16  动态分区流程图;1) 首次适应算法(FF, First Fit) 空闲分区链或空闲分区表以地址递增的顺序链接,分配时从链首开始查找,找到第一个大小可以满足的分区为止,从其中划分出所需空间分配给申请的进程,剩余部分

文档评论(0)

富贵礼包 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档