存储器管理存储器管理程序的装入和链接编辑.ppt

存储器管理存储器管理程序的装入和链接编辑.ppt

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

第四章 存储器管理 4.1 程序的装入和链接 编辑―――编译―――链接―――装入―――运行 图4.1 4.1.1 程序的装入 1、绝对装入: 编译后,装入前已产生了绝对地址(内存地址),装入时不再作地址重定位。 绝对地址的产生:(1)由编译器完成,(2)由程序员编程完成。 对(1)而言,编程用符号地址。 2、可重定位装入; 静态重定位:装入时完成,主要工作是对相对地址中的指令和数据地址的调整过程,例:图4-2 问题: 如何知道哪些位置需调整? 链接时产生可装入模块的具体功能? 4.1.1 程序的装入 3.动态运行时装入 在装入后不能移动, 该情况一般在执行时才完成相对——绝对地址的转换且有硬件的支持,能保证进程的可移动性。 4.1.2 程序的链接 1、静态链接 a.对相对地址的修改 b.变换外部调用符号 2、装入时动态链接 a.便于修改和更新 b.便于实现对目标模块的共享 3、运行时动态链接 4.2连续分配方式 单一连续分配 用于单用户,单任务中 分区式分配 固定式 可变式 可重定位分区分配 4.2.1 单一连续分区 系统区 用户区 存贮保护 一般不设置保护也可,因单任务。 4.2.2 固定分区 特点:有n个分区,则可同时装入n个作业/任务。 一、分区大小: 相等: 不相等:不相等利用率更高。 二、内存分配: 数据结构 将分区按大小排序,并将其地址、分配标识作记录 例:dos的MCB 三、特点: 简单,有碎片(内零头) 图4-4a 图4-4b 4.2.3 可变式分区(比固定式分区有改善) 一、数据结构 1.空闲分区表 2.空闲分区链 4.2.3 可变式分区(比固定式分区有改善) 二、分配算法 1.首次适应算法FF。 要求:分区按低址――高址链接 特点:找到第一个大小满足的分区,划分。有外零头,低址内存使用频繁。 2.循环首次适应算法。 从1中上次找到的空闲分区的下一个开始查找。 特点:空闲分区分布均匀,提高了查找速度;缺乏大的空闲分区。 3.最佳适应算法 分区按大小递增排序;分区释放时需插入到适当位置。 4.2.3 可变式分区(比固定式分区有改善) 三、分区分配 1.分配:图4-6 2.回收: (1)上邻空闲区:合并,改大小 (2)下邻空闲区:合并,改大小,首址。 (3)上、下邻空闲区:合并,改大小。 (4)不邻接,则建立一新表项。 4.2.4 可重定位分区分配 1.动态重定位的引入 连续式分配中,总量大于作业大小的多个小分区不能容纳作业。 紧凑 通过作业移动将原来分散的小分区拼接成一个大分区。 作业的移动需重定位。是动态(因作业已经装入) 紧凑 2、动态重定位的实现 图4.10动态分区分配算法 4.2.5 对换 1 对换的引入 将阻塞进程,暂时不用的程序,数据换出。 将具备运行条件的进程换入。 类型: 整体对换:进程对换,解决内存紧张 部分对换:页面对换/分段对换:提供虚存支持 2 对换空间的管理 外存 对换区比文件区侧重于对换速度。 因此,对换区一般采用连续分配。采用数据结构和分配回收类似于可变化分区分配。 4.2.5 对换 3 换出与换入 一、换出 1.选出被换出进程: 因素:优先级,驻留时间,进程状态 2.换出过程: 对于共享段:计数减1, 是0则换出,否则不换 修改PCB和MCB(或内存分配表) 二、换入: 1.选择换入进程:优先级,换出时间等。 2.申请内存。 3.换入 4.3基本分页存储管理 连续分配引起:碎片 碎片问题的解决:紧凑方式消耗系统开销。 离散分配 分页、分段、段页 4.3.1页面与页表 1.页面 页面和物理块:逻辑空间和内存空间 由机器的地址结构决定 页太大,页内碎片大。 页太小:页表可能很长,换入/出效率低 2.地址结构 31 12 11 0 逻辑地址A;页大小L(设为1024);页内偏移d d=A mod L 如: A=2170B. 则P=2, d=122 3.页表 4.2 地址变换机构 完成:逻辑页号——物理块号的映射,由页表完成。 一、基本地址变换机构: 越界保护 每个进程对应一页表,其信息(如长度、始址)放在PCB中,执行时将其首地址装入页表寄存器。 2.具有快表的地址变换机构 不具快表,则需两次访问内存。 (1)访页表 (2)得到绝对地址内容 有快表,速度提高。 快表贵,不能太多。 2.具有快表的地址变换机构 4.3.3 两级和多级页表 页表可能很大,将其离散存放在不同页块中。 建一“外部页表”来管理这些离散页表块。 相当于单级页表中的页表寄存器,一般应常驻内存。每项记录页表始址,且增加存在位。 64位机器页表一般3级,最外层页表常驻。 例 某虚拟存储器的用户编程空间

文档评论(0)

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

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

1亿VIP精品文档

相关文档