计算机操作系统_05存储管理.ppt

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

第五章 存储器管理 教学目的与要求: 1.了解操程序的编译、装入和链接 2.掌握存储器管理的主要功能和基本概念 3.掌握储器管理的连续分配和离散分配方式 4.了解IBM-PC微机中的存储管理方式 重点与难点: 1.动态重定位、对换等基本概念 2.动态分区分配算法与时机,分页与分段存储管理 3.地址转换 主要内容: 5.1 程序的装入和链接 5.2 连续分配存储管理方式 5.3 对换 5.4 分页存储管理方式 5.5 分段存储管理 5.6 作业 5.1 程序的装入和链接 在多道程序环境下,程序要运行必须为之创建进程,而创建进程的第一件事,就是要将程序和数据装入内存。如何将一个用户源程序变为一个可在内存中执行的程序,通常要经过以下几步: (1)编译(Compile) (2)链接(Link) (3)装入(Load) 5.1.1 程序的装入 一.绝对装入方式(Absolute Loading Mode) 装入程序按照模块中的地址将程序和数据装入内存。在这种方式下,内存地址对于程序员来说是可见的。 二.可重定位装入方式(Relocatable Loading Mode) 也叫相对装入方式,系统根据当时内存的使用情况将模块装入到内存的适当位置。这种方式下,装入程序需先将目标代码中与地址有关的指令和数据全部重定位,因此这种重定位也叫静态重定位。 三.动态运行时装入方式(Dynamic Run-Time Loading),与上述方式不同的是,动态装入方式是在运行时才临时进行重定位工作,因此也叫动态重定位。 5.1.2 程序的链接 程序的链接的功能是将分散的若干模块及所需库函数链接在一起形成一个完整的可装入模块。 一.静态链接 静态链接所形成的完整的可装入模块也叫可执行文件,形成后不再分开,可多次执行。需解决以下两个问题: 1.按照模块间的调用关系对相对地址进行修改; 2.按照模块间的调用关系变换外部调用符号。 二.装入时动态链接(Load-TimeDynamicinking) 在模块被调用装入内存时才临时链接,其优点是: 1.便于软件版本的修改和更新 2.便于实现目标模块共享 三.运行时动态链接(Run-TimeDynamicLinking) 将部分不常用的模块推迟到运行时才临时链接。 5.2 连续分配存储管理方式 连续分配是指为一个用户程序分配一个连续的内存空间。包括单一连续分配和分区式分配方式两种。 ?5.2.1 单一连续分配 这是最简单的一种存储管理方式,但只能用于单用户.单任务的操作系统中。且通常不设置保护措施。采用这种存储管理方式时,内存分为以下两个分区: (1)系统区。 (2)用户区。 5.2.2 固定分区分配 一.划分分区的方法: 将内存空间划分为若干个固定大小的分区,可用下述两种方法: 1.分区大小相等 2.分区大小不等 二.内存分配 建立分区使用表, 表项包含有每个分区的起始地址.大小及状态(是否已分配)。 5.2.3 动态分区分配 动态分区分配是根据进程的实际需要,动态地为之分配连续的内存空间。在实现可变分区分配存储管理方式时,必须解决下述三个问题: (1)分区分配中所用的数据结构; (2)分区的分配算法; (3)分区的分配和回收操作。 一.分区分配中的数据结构 1.空闲分区表 2.空闲分区链 二.分区分配算法 1.首次适应算法,也叫最先适应法。选择找到的第一个不小于程序空间大小的空闲分区分配给程序。 2.循环首次适应算法,是对首次适应法的发展。 3.最佳适应算法。(区别:最坏适应法) 三.分区分配操作 在动态分区存储管理方式中,主要的操作是分配和回收内存。 1.分配内存 2.回收内存:可能出现下列四种情况 (1)回收区与插入点的前一个分区F1相邻接 (2)回收分区与插入点的后一分区F2相邻接 (3)回收区同时与插入点的前.后两个分区邻接 (4)回收区既不与F1邻接,也不与F2邻接。 5.2.4 动态重定位分区分配 一.紧凑 把不能被利用的小分区称为“零头”或“碎片”。 通过移动,把多个分散的小分区拼接成大分区的方法被称为“拼接”或“紧凑”。但是,由于紧凑后的程序的绝对地址再一次发生改变,导致程序无法继续运行。 二.动态重定位 就是将重定位工作推迟到程序运行时再进行的一种重定位方法。重定位工作由专门的动态地址重定位机构来实现。 三.动态重定位分区分配算法 紧凑动作通常是在找不到足够大的空闲分区来满足用户需求时才进行,具体流程图见教材P145。 5.3 对换 5.3.1 多道程序环境下的对换 所谓“对换”,是指把内存中暂不能运行的进程,或

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档