第4章_内存管理技巧.ppt

  1. 1、本文档共87页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;4.1 内存管理的功能 ;4.1.1 内存的分配与回收;4.1.1 内存的分配与回收;4.1.2 地址转换;4.1.2 地址转换;;地址映射;●静态重定位 是在程序执行之前由操作系统的连接装入程序完成地址转换。 优点:不需要硬件的支持。 缺点:程序必须占用连续的内存空间; 一旦程序装入后不能移动。 ;●动态重定位 在程序执行期间进行的地址转换,是由专门的硬件机构来完成的。 优点:程序占用的内存空间是动态可变的,当程序从某个存储区移到另一个区域时,只需要修改相应的寄存器BR的内容即可。 缺点:需要硬件的支持; 实现存储管理的软件算法较为复杂。;;4.1.3 内存的共享和保护;4.1.3 内存的共享和保护;4.1.3 内存的保护;4.1.4 内存空间的逻辑扩充;4.1.4 内存空间的逻辑扩充;4.2.1 单分区管理 4.2.2 固定分区 4.2.3 可变分区 4.2.4 覆盖与交换;4.2.1 单分区管理 ;4.2.2 固定分区;分区说明表;4.2.3 可变分区; 可变分区内存使用情况示意图;2.可变分区管理中的数据结构 ;●最先适应算法 按空闲区地址递增的次序分配 ●最优适应算法 按空闲区由小到大的次序分配 ●最坏适应算法 按空闲区由大到小的次序分配;(1)最先适应分配算法(FF);(2)最优适应分配算法(BF);(3)最坏适应分配算法(WF); 有作业序列:作业A要求18K;作业B要求25K,作业C要求30K。如下图。 系统中空闲区按三种算法组成的空闲区队列如下,经分析可知:最佳适应法对这个作业序列是合适的,而其它两种对该作业序列是不合适的。; 有作业序列:作业A要求21K;作业B要求30K,作业C要求25K,分析使用哪种分配算法最佳?;4.内存的回收 ;;5、分区保护;4.2.4 碎片问题及其解决办法;4.2.4 碎片问题及其解决办法;4.2.5 覆盖与交换;A 8K;为什么引入交换技术? 当内存空间紧张时,系统将内存中某些进程暂时移到外存,把外存中某些进程换进内存,占据前者所占用的区域,这种技术是进程在内存与外存之间的动态调度。 多用于分时系统中。; 与覆盖技术相比,交换技术不要求用户给出程序段之间的逻辑覆盖结构。 交换与覆盖的不同之处: 交换发生在进程或作业之间,而覆盖发生在同一进程或作业内。 覆盖只能覆盖那些与覆盖段无关的程序段。;4.3 页式管理 ;4.3.1 页式管理概述;地址结构示例;4.3.2 静态分页;页号;地址空间;4.3.2 静态分页;4.3.2 静态分页; 求出有效地址2044所对应的物理地址,要求写出地址转换过程。;分页中的地址转换机构;4.引入快表的地址转换; 首先根据逻辑地址的页号,查快表: 若在快表中找到其对应的块号,则与页内地址形成物理地址; 若在快表中找不到其对应的页号,再去查页表,并将之填入快表,如果快表已满,则移出不需要的表项。; p’;5.页的共享和保护;4.3.3 动态分页(请求分页);2.扩充的页表结构;3.缺页中断;4.地址变换机构;5.页面置换算法;● 最近最少使用算法(LRU算法) 当需要置换一页时,选择在最近一段时间最少使用的页面予以淘汰。 ● Clock置换算法 需要硬件支持,实现代价较大。 如何评价算法? 缺页中断率=不成功的访问次数/访问总次数 =缺页中断次数/访问总次数;OPT算法性能分析(M=3);OPT算法性能分析(M=3);FIFO算法性能分析(m=3);FIFO算法性能分析(m=3);LRU算法性能分析(M=3);LRU算法性能分析(M=3);4.4 段式管理 ;4.4.1 段式管理概述;3、内存分配 以段为单位分配内存,每一个段在内存中占据连续空间(内存随机分割,需要多少分配多少),但各段之间可以不连续存放。;4. 段表;4. 段表;4.4.2 地址转换;4.4.2 地址转换;4.4.4 段的共享;4.4.4 段的共享;4.4.5 分段与分页的区别; (2) 页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的; 而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对源程序进行编译时,根据信息的性质来划分。;(3) 分页的作业地址空间是一维的,即单一的线性地址空间; 而分段的作业地址空间则是二维的,程序员在标识一个地址时,既需给出段名, 又需给出段内地址。 ;4.5 段页式管理 ;4.5.

文档评论(0)

过各自的生活 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档