[管理学]第四章 存储器管理.ppt

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

第四章 存储器管理 4.2 程序的装入和链接 如何将用户源程序变为一个可在内存中执行的程序: (1)编译。由编译程序(Compiler)将用户源代码编译成若干个目标模块(Object Module); (2)链接。由链接程序(Linker)将编译后形成的目标模块以及它们所需要的库函数,链接在一起,形成一个装入模块(Load Module); (3)装入。由装入程序(Loader)将装入模块装入内存。 4.2.1 程序的装入 一、绝对装入方式(Absolute Loading Mode) 逻辑地址与实际内存地址完全相同 程序员必须了解内存使用情况 程序采用符号地址,适用于单道程序环境 三、动态运行时装入方式(Dynamic Run-Time Loading) 装入内存后的所有地址都仍是相对地址 程序真正要执行时才进行相对地址到绝对地址转换 优点:允许程序在内存中移动 重定位寄存器 4.2.2 程序的链接 利用链接程序将目标模块链接成装入模块 一、静态链接 在程序运行之前,先将各目标模块及它们所需的库函数,链接成一个完整的装配模块,以后不再拆开。 需要解决以下两个问题: 1.对相对地址进行修改 2.变换外部调用符号 二、装入时动态链接(Load-Time Dynamic Linking) 边装入边链接:在装入一个目标模块时,若发生一个外部模块调用事件,将引起装入程序去找出相应的外部目标模块,并将它装入内存。 优点: 1.便于修改和更新 2.便于实现目标模块共享 三、运行时动态链接(Run-Time Dynamic Linking) 链接推迟到执行时才执行:在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存,把它链接到调用者模块上。 执行过程中未被用到的目标模块: 不会被调入内存 不会被链接到装入模块 4.3 连续分配方式 为一个用户程序分配一个连续的内存空间。 单一连续分配 固定分区分配 动态分区分配 动态重定位分配 4.2.1 单一连续分配 最简单的一种存储管理方式 只能用于单用户、单任务的操作系统中 内存分为两个分区: 系统区(低地址区域) 用户区 内存中驻留一道程序,独占用户区内存。例如DOS系统。无共享! 4.3.2 固定分区分配(多道程序) 一、划分分区的方法 将内存空间划为若干个固定大小的分区,每个区域装入一个作业 1.分区大小相等 缺乏灵活性:即当程序太小时——内存空间的浪费;当程序太大——不足以装入 被用于利用一台计算机去控制多个相同对象的场合 例如,炉温群控系统 2.分区大小不等 把内存区划分成含有多个较小的分区、适量的中等分区及少量的大分区。 二、内存分配 分区使用表:将分区按大小进行排队,记录每个分区的起始地址、大小及状态(是否已分配) 程序要装入: 由内存分配程序检索该表,从中找出一个能满足要求的、尚未分配的分区 若找到,将之分配给该程序,然后将该表项中的状态置为“已分配” 若未找到,则拒绝为该用户程序分配内存。 4.3.3 动态分区分配 根据进程实际需要,动态为之分配连续的内存空间。 问题: 分区分配中所用的数据结构; 分区的分配算法; 分区的分配和回收操作。 —、分区分配中的数据结构 空闲分区表: 记录每个空闲分区的情况。每个空闲分区占一个表目:分区序号、分区始址及分区的大小等数据项。 (2) 空闲分区链:双向链 起始部分:设置一些用于控制分区分配的信息,以及用于链接各分区所用的前向指针; 分区尾部:设置一后向指针 为了检索方便,在分区尾部重复设置状态位和分区大小表目。当分区被分配后,把状态位由“0”改为“1” 状态位为“1”时,前、后向指针已无意义。 4.3.6 动态重定位分区分配 一、动态重定位的引入 连续分配:程序装入一连续的内存空间。 “零头”或“碎片”:不能被利用的小分区 4.3.7 对换 对换:提高内存利用率(中级调度) 把内存中暂不能运行的进程,或暂时不用的程序和数据,换出到外存 把已具备运行条件的进程,或进程所需要的程序和数据,换入到内存 整体对换:进程对换,以整个“进程”为单位 部分对换: 页面对换:以“页”为单位 分段对换:以“段”为单位 实现对换必须实现的功能: 对换空间管理 进程换出和进程换入 二、对换空间的管理 外存: 文件区—离散分配方式,提高空间利用率 对换区—连续分配方式,提高对换速度 数据结构:记录外存的使用情况 对换区分配:连续分配方式,与动态分区方式时内存的分配与回收方法雷同 离散分配方式 思想:将进程直接分散的装入到许多不相邻的分区中 分类 分页存储管理 分段存储管理 4.7.2 内存分配策略和分配算法 最小物理块数的确定 物理块的分配策略 物理块的分配算法   2

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档