好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

操作系统第四章 存储器管理.ppt

105页
  • 卖家[上传人]:野鹰
  • 文档编号:26877966
  • 上传时间:2018-01-03
  • 文档格式:PPT
  • 文档大小:2.11MB
  • / 105 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1,第四章 存储器管理,4.1 存储器的层次结构4.2 程序的装入和链接 4.3 连续分配方式 4.4 基本分页存储管理方式 4.5 基本分段存储管理方式 4.6 虚拟存储器的基本概念 4.7 请求分页存储管理方式 4.8 页面置换算法 4.9 请求分段存储管理方式,2,4.1 存储器的层次结构,,4.1.1 多级存储器结构,寄存器高速缓存主存磁盘缓存磁盘可移动存储介质,,,,,,,,,CPU寄存器,主存,辅存,图4-1 计算机系统存储层次示意,3,,1 主存储器2 寄存器,4.1.2 主存储器与寄存器,4,,1 高速缓存 CPU产品中,一级缓存的容量基本在4KB到64KB之间,一级缓存容量各产品之间相差不大二级缓存容量则是提高CPU性能的关键二级缓存容量的提升是由CPU制造工艺所决定的,容量增大必然导致CPU内部晶体管数的增加,要在有限的CPU面积上集成更大的缓存,对制造工艺的要求也就越高,4.1.3 高速缓存与磁盘缓存,5,,上溯到上个世纪80年代,由于处理器的运行速度越来越快,慢慢地,处理器需要从内存中读取数据的速度需求就越来越高了然而内存的速度提升速度却很缓慢,而能高速读写数据的内存价格又非常高昂,不能大量采用。

      从性能价格比的角度出发,英特尔等处理器设计生产公司想到一个办法,就是用少量的高速内存和大量的低速内存结合使用,共同为处理器提供数据这样就兼顾了性能和使用成本的最优而那些高速的内存因为是处于CPU和内存之间的位置,又是临时存放数据的地方,所以就叫做缓冲存储器了,简称“缓存”6,,它的作用就像仓库中临时堆放货物的地方一样,货物从运输车辆上放下时临时堆放在缓存区中,然后再搬到内部存储区中长时间存放货物在这段区域中存放的时间很短,就是一个临时货场现在,为了适应速度更快的处理器P4EE,已经出现了三级缓存了,它的容量更大,速度相对二级缓存也要慢一些,但是比内存可快多了 缓存的出现使得CPU处理器的运行效率得到了大幅度的提升,这个区域中存放的都是CPU频繁要使用的数据,所以缓存越大处理器效率就越高,同时由于缓存的物理结构比内存复杂很多,所以其成本也很高   大量使用二级缓存带来的结果是处理器运行效率的提升和成本价格的大幅度不等比提升举个例子,服务器上用的至强处理器和普通的P4处理器其内核基本上是一样的,就是二级缓存不同至强的二级缓存是2MB~16MB,P4的二级缓存是512KB,于是最便宜的至强也比最贵的P4贵,原因就在二级缓存不同。

      7,,Intel Core i7-980X Extreme Edition 3.33GHz 12M L3Cache LGA1366 六核处理 厂商 Intel CPU名称 E6500 系列 Pentium Duo 接口类型 LGA 775 核心数量 双核 工作频率 2.93GHz 前端总线 1066MHz 一级缓存 2x(32k+32k) 二级缓存 2MB 是否支持64位运算 是 制造工艺 45nm 2 磁盘缓存,8,4.2 程序的装入和链接,编辑――编译――链接――装入――运行,图4-2 对用户程序的处理步骤,9,4.2.1 程序的装入,1、绝对装入:编译后,装入前已产生了绝对地址(内存地址),装入时不再作地址重定位,适用于单道系统绝对地址的产生:(1)由编译器完成,(2)由程序员编程完成对(1)而言,编程用符号地址2、可重定位装入;静态重定位:装入时完成,主要工作是对相对地址中的指令和数据地址的调整过程,例:图4-3,10,图 4-3 作业装入内存时的情况,11,4.2.1 程序的装入,3.动态运行时装入可重定位装入方式在装入后不能移动程序该情况一般在执行时才完成相对——绝对地址的转换且有硬件的支持,能保证进程的可移动性。

      Routine is not loaded until it is calledBetter memory-space utilization; unused routine is never loaded.Useful when large amounts of code are needed to handle infrequently occurring cases.No special support from the operating system is required implemented through program design.,12,4.2.2 程序的链接,1、静态链接:事先连接a.对相对地址的修改b.变换外部调用符号2、装入时动态链接:边装入边连接a.便于修改和更新b.便于实现对目标模块的共享,13,(a)目标模块,(b)装入模块,图 4-4 程序链接示意图,14,3、运行时动态链接Dynamic Linking,近几年流行起来的运行时动态链接方式,是对上述在装入时链接方式的一种改进这种链接方式是将对某些模块的链接推迟到执行时才执行,亦即,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存, 把它链接到调用者模块上。

      凡在执行过程中未被用到的目标模块,都不会被调入内存和被链接到装入模块上,这样不仅可加快程序的装入过程,而且可节省大量的内存空间15,4.3 连续分配方式,4.3.1单一连续分配用于单用户,单任务中4.3.2分区式分配固定式动态分区分配可重定位分区分配,16,4.3.1 单一连续分区,这是最简单的一种存储管理方式,但只能用于单用户、单任务的操作系统中采用这种存储管理方式时,可把内存分为系统区和用户区两部分,系统区仅提供给OS使用,通常是放在内存的低址部分;用户区是指除系统区以外的全部内存空间, 提供给用户使用17,4.3.2 固定分区,特点:有n个分区,则可同时装入n个作业/任务一、分区大小:相等:不相等:不相等利用率更高二、内存分配:数据结构 将分区按大小排序,建立分区使用表,并将其地址、分配标识作记录三、特点:简单,有碎片(内零头),浪费18,图 4-5 固定分区使用表,19,4.3.3 动态分区分配,一、数据结构1.空闲分区表2.空闲分区链,图 4-6 空闲链结构,20,二、分配算法1.首次适应算法FF要求:分区按低址――高址链接特点:找到第一个大小满足的分区,划分有外零头,低址内存使用频繁。

      2.循环首次适应算法从1中上次找到的空闲分区的下一个开始查找特点:空闲分区分布均匀,提高了查找速度;缺乏大的空闲分区3.最佳适应算法分区按大小递增排序;分区释放时需插入到适当位置分割后留下小碎片,难以利用4.3.3 动态分区分配,21,二、分配算法4.最坏适应算法WF总是挑选最大的空闲分区分割给作业使用分区按大小递减排序;优点:剩下碎片不至于太小缺点:缺乏大的空闲分区5. 快速适应算法QF分类搜索:将空闲分区根据容量大小分类设立管理索引表优点:查找效率高;不要分割缺点:分区归还主存时复杂,开销大,4.3.3 动态分区分配,22,三、分区分配操作1.分配:图4-72.回收:(1)上邻空闲区:合并,改大小(2)下邻空闲区:合并,改大小,首址3)上、下邻空闲区:合并,改大小4)不邻接,则建立一新表项4.3.3 动态分区分配,23,图 4-7 内存分配流程,24,2) 回收内存,图 4-8 内存回收时的情况,25,例1,某系统采用动态分区分配方式管理内存,内存空间为640K,高端40K用来存放操作系统在内存分配时,系统优先使用空闲区低端的空间对下列的请求序列:作业1申请130K、作业2申请60K、作业3申请100K、作业2释放60K、作业4申请200K、作业3释放100K、作业1释放130K、作业5申请140K、作业6申请60K、作业7申请50K、作业6释放60K,请分别画图表示出使用首次适应算法和最佳适应算法进行内存分配和回收后内存的实际使用情况。

      26,首次适应算法,最佳适应算法,解,27,4.3.6 可重定位分区分配,1.动态重定位的引入连续式分配中,总量大于作业大小的多个小分区不能容纳作业紧凑通过作业移动将原来分散的小分区拼接成一个大分区每次紧凑后,都必须对移动了的程序或数据进行重定位28,图 4-9 紧凑的示意,29,2、动态重定位的实现,图 4-10 动态重定位示意图,动态重定位:相对地址-》物理地址是在程序执行时自动进行,30,3. 动态重定位分区分配算法,图 4-11 动态重定位分区分配算法流程图,31,内存扩充,实现内存扩充的三种技术:覆盖技术(overlay)交换技术(swapping)虚拟存储器(virtual memory),32,覆盖(overlay),引入:其目标是在较小的可用内存中运行较大的程序常用于多道程序系统,与分区存储管理配合使用原理:一个程序的几个代码段或数据段,按照时间先后来占用公共的内存空间将程序的必要部分(常用功能)的代码和数据常驻内存;可选部分(不常用功能)在其他程序模块中实现,平时存放在外存中(覆盖文件),在需要用到时才装入到内存;不存在调用关系的模块不必同时装入到内存,从而可以相互覆盖。

      即不同时用的模块可共用一个分区),33,注:另一种覆盖方法:(100K)A(20K)占一个分区:20K;B(50K)、D(20K)和E(40K)共用一个分区:50K;F(30K)和C(30K)共用一个分区:30K;,覆盖技术,34,4.3.7 对换(Swapping),1 对换的引入将阻塞进程,暂时不用的程序,数据换出将具备运行条件的进程换入类型:整体对换:进程对换,解决内存紧张部分对换:页面对换/分段对换:提供虚存支持2 对换空间的管理外存 对换区比文件区侧重于对换速度因此,对换区一般采用连续分配采用数据结构和分配回收类似于可变化分区分配35,4.3.7 对换,3 换出与换入(1)换出选出被换出进程: 因素:优先级,驻留时间,进程状态换出过程:对于共享段:计数减1, 是0则换出,否则不换修改PCB和内存分配表(2)换入:选择换入进程:优先级,换出时间等申请内存换入,36,4.4基本分页存储管理,连续分配引起:碎片碎片问题的解决:紧凑方式消耗系统开销离散分配分页不具备页面对换功能的称为基本分页存储管理方式分段段页,37,1.页面页面和物理块:逻辑空间和内存空间,页内碎片页面大小由机器的地址结构决定页太大,页内碎片大。

      页太小:页表可能很长,换入/出效率低2.地址结构31 12 11 0逻辑地址A;页大小L(设为1024);页内偏移d P= Int[A/L] d=A mod L如: A=2170B. 则P=2, d=122,4.4.1页面与页表,38,3.页表--实现从页号到物理块号的地址映射,用户程序,,页表,页号,块号,内存,,,,,,,,,39,Paging Example,40,例1:某系统采用页式存储管理策略,拥有逻辑空间32页,每页2K,拥有物理空间1M①写出逻辑地址的格式②若不考虑访问权限等,进程的页表有多少项?每项至少有多少位?③如果物理空间减少一半,页表结构应相应作怎样的改变?,41,答:①该系统拥有逻辑空间32页,故逻辑地址中页号必须用5位描述;而每页为2K,因此,页内地址必须用11位描述,格式如下: 15 11 10 0②每个进程最多32个页面,因此进程的页表项最多为32项;页表项只需给出页所对应的物理块块号,1M的物理空间可分为29个内存块,故每个页表项至少有9位③如果物理空间减少一半,则页表中页表项数不变,但每项的长度减少1位。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.