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

上传人:n**** 文档编号:50755176 上传时间:2018-08-10 格式:PPT 页数:105 大小:2.11MB
返回 下载 相关 举报
操作系统_第四章 存储器管理_第1页
第1页 / 共105页
操作系统_第四章 存储器管理_第2页
第2页 / 共105页
操作系统_第四章 存储器管理_第3页
第3页 / 共105页
操作系统_第四章 存储器管理_第4页
第4页 / 共105页
操作系统_第四章 存储器管理_第5页
第5页 / 共105页
点击查看更多>>
资源描述

《操作系统_第四章 存储器管理》由会员分享,可在线阅读,更多相关《操作系统_第四章 存储器管理(105页珍藏版)》请在金锄头文库上搜索。

1、第四章 存储器管理4.1 存储器的层次结构4.2 程序的装入和链接 4.3 连续分配方式 4.4 基本分页存储管理方式 4.5 基本分段存储管理方式 4.6 虚拟存储器的基本概念 4.7 请求分页存储管理方式 4.8 页面置换算法 4.9 请求分段存储管理方式 14.1 存储器的层次结构 4.1.1 多级存储器结构 寄存器高速缓存主存磁盘缓存磁盘可移动存储介质CPU寄存器主存辅存图41 计算机系统存储层次示意2 1 主存储器 2 寄存器4.1.2 主存储器与寄存器 3 1 高速缓存 CPU产品中,一级缓存的容量基本在4KB到 64KB之间,一级缓存容量各产品之间相差不大 。二级缓存容量则是提高

2、CPU性能的关键。二 级缓存容量的提升是由CPU制造工艺所决定的 ,容量增大必然导致CPU内部晶体管数的增加 ,要在有限的CPU面积上集成更大的缓存,对 制造工艺的要求也就越高 4.1.3 高速缓存与磁盘缓存4 上溯到上个世纪80年代,由于处理器的运行速 度越来越快,慢慢地,处理器需要从内存中读 取数据的速度需求就越来越高了。然而内存的 速度提升速度却很缓慢,而能高速读写数据的 内存价格又非常高昂,不能大量采用。从性能 价格比的角度出发,英特尔等处理器设计生产 公司想到一个办法,就是用少量的高速内存和 大量的低速内存结合使用,共同为处理器提供 数据。这样就兼顾了性能和使用成本的最优。 而那些高

3、速的内存因为是处于CPU和内存之间 的位置,又是临时存放数据的地方,所以就叫 做缓冲存储器了,简称“缓存”。 5它的作用就像仓库中临时堆放货物的地方一样,货物从运输车辆上 放下时临时堆放在缓存区中,然后再搬到内部存储区中长时间存放 。货物在这段区域中存放的时间很短,就是一个临时货场。现在, 为了适应速度更快的处理器P4EE,已经出现了三级缓存了,它的 容量更大,速度相对二级缓存也要慢一些,但是比内存可快多了。 缓存的出现使得CPU处理器的运行效率得到了大幅度的提升,这个 区域中存放的都是CPU频繁要使用的数据,所以缓存越大处理器效 率就越高,同时由于缓存的物理结构比内存复杂很多,所以其成本 也

4、很高。 大量使用二级缓存带来的结果是处理器运行效率的提升和成本 价格的大幅度不等比提升。举个例子,服务器上用的至强处理器和 普通的P4处理器其内核基本上是一样的,就是二级缓存不同。至强 的二级缓存是2MB16MB,P4的二级缓存是512KB,于是最便宜 的至强也比最贵的P4贵,原因就在二级缓存不同。 6 Intel Core i7-980X Extreme Edition 3.33GHz 12M L3Cache LGA1366 六核处理 厂商 Intel CPU名称 E6500 系列 Pentium Duo 接口类型 LGA 775 核心数量 双核 工作频率 2.93GHz 前端总线 1066

5、MHz 一级缓存 2x(32k+32k) 二级缓存 2MB 是否支持64位运算 是 制造工艺 45nm 2 磁盘缓存74.2 程序的装入和链接 编辑编译链接装入运行图4-2 对用户程序的处理步骤 84.2.1 程序的装入 1、绝对装入: 编译后,装入前已产生了绝对地址(内存地址) ,装入时不再作地址重定位,适用于单道系统。 绝对地址的产生:(1)由编译器完成,(2)由 程序员编程完成。 对(1)而言,编程用符号地址。 2、可重定位装入; 静态重定位:装入时完成,主要工作是对相对地 址中的指令和数据地址的调整过程,例:图439图 4-3 作业装入内存时的情况 104.2.1 程序的装入 3.动态

6、运行时装入 可重定位装入方式在装入后不能移动程序 该情况一般在执行时才完成相对绝对地址的转 换且有硬件的支持,能保证进程的可移动性。 Routine is not loaded until it is called Better 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 syst

7、em is required implemented through program design.114.2.2 程序的链接1、静态链接:事先连接 a对相对地址的修改 b变换外部调用符号2、装入时动态链接:边装入边连接 a.便于修改和更新 b.便于实现对目标模块的共享12(a)目标模块模块A CALL B; RETURN模块B CALL C; RETURN模块CRETURN0L-10M-10N-1模块A JSR L; RETURN模块B JSR L+M; RETURN模块CRETURN0L-1LL+M-1 L+ML+M+N-1(b)装入模块 图 4-4 程序链接示意图 133、运行时动态链接

8、Dynamic Linking近几年流行起来的运行时动态链接方式,是 对上述在装入时链接方式的一种改进。这 种链接方式是将对某些模块的链接推迟到 执行时才执行,亦即,在执行过程中,当 发现一个被调用模块尚未装入内存时,立 即由OS去找到该模块并将之装入内存, 把它链接到调用者模块上。凡在执行过程 中未被用到的目标模块,都不会被调入内 存和被链接到装入模块上,这样不仅可加 快程序的装入过程,而且可节省大量的内 存空间。144.3 连续分配方式 4.3.1单一连续分配 用于单用户,单任务中4.3.2分区式分配 固定式 动态分区分配 可重定位分区分配154.3.1 单一连续分区这是最简单的一种存储管

9、理方式,但只能 用于单用户、单任务的操作系统中。采用这 种存储管理方式时,可把内存分为系统区和 用户区两部分,系统区仅提供给OS使用, 通常是放在内存的低址部分;用户区是指除 系统区以外的全部内存空间, 提供给用户使 用。164.3.2 固定分区特点:有n个分区,则可同时装入n个作业/任务 。 一、分区大小: 相等: 不相等:不相等利用率更高。 二、内存分配: 数据结构 将分区按大小排序,建立分区使用表,并 将其地址、分配标识作记录 三、特点: 简单,有碎片(内零头),浪费。 17图 4-5 固定分区使用表 184.3.3 动态分区分配一、数据结构 1空闲 分区表 2空闲 分区链图 4-6 空

10、闲链结构 19二、分配算法 1首次适应算法FF。 要求:分区按低址高址链接 特点:找到第一个大小满足的分区,划分。 有外零头,低址内存使用频繁。 2循环首次适应算法。 从1中上次找到的空闲分区的下一个开始查 找。 特点:空闲分区分布均匀,提高了查找速度 ;缺乏大的空闲分区。 3最佳适应算法 分区按大小递增排序;分区释放时需插入到 适当位置 分割后留下小碎片,难以利用。4.3.3 动态分区分配20二、分配算法 4最坏适应算法WF。 总是挑选最大的空闲分区分割给作业使用 分区按大小递减排序; 优点:剩下碎片不至于太小 缺点:缺乏大的空闲分区 5. 快速适应算法QF 分类搜索:将空闲分区根据容量大小

11、分类 设立管理索引表 优点:查找效率高;不要分割 缺点:分区归还主存时复杂,开销大4.3.3 动态分区分配21三、分区分配操作 1分配:图4-7 2回收: (1)上邻空闲区:合并,改 大小 (2)下邻空闲区:合并,改 大小,首址。 (3)上、下邻空闲区:合并 ,改大小。 (4)不邻接,则建立一新表 项。4.3.3 动态分区分配22图 4-7 内存分配流程232) 回收内存 图 4-8 内存回收时的情况 24例1某系统采用动态分区分配方式管理内存,内 存空间为640K,高端40K用来存放操作系统。在 内存分配时,系统优先使用空闲区低端的空间 。对下列的请求序列:作业1申请130K、作业2 申请6

12、0K、作业3申请100K、作业2释放60K、作 业4申请200K、作业3释放100K、作业1释放130K 、作业5申请140K、作业6申请60K、作业7申请 50K、作业6释放60K,请分别画图表示出使用首 次适应算法和最佳适应算法进行内存分配和回 收后内存的实际使用情况。25首次适应算法最佳适应算法解264.3.6 可重定位分区分配1.动态重定位的引入连续式分配中,总量大于作业大小的多个小分区不能容纳作业。紧凑 通过作业移动将原来分散的小分 区拼接成一个大分区。 每次紧凑后,都必须对移动了的 程序或数据进行重定位。27图 4-9 紧凑的示意 282、动态重定位的实现图 4-10 动态重定位示

13、意图 动态重定位:相对地址物理地址是在程序执行时自动进行293. 动态重定位分区分配算法 图 4-11 动态重定位分区分配算法流程图 30内存扩充实现内存扩充的三种技术: 覆盖技术(overlay) 交换技术(swapping) 虚拟存储器(virtual memory)31覆盖(overlay) 引入:其目标是在较小的可用内存中运行较大的程 序。常用于多道程序系统,与分区存储管理配合使 用。 原理:一个程序的几个代码段或数据段,按照时间 先后来占用公共的内存空间。 将程序的必要部分(常用功能)的代码和数据常驻内 存; 可选部分(不常用功能)在其他程序模块中实现,平 时存放在外存中(覆盖文件)

14、,在需要用到时才装入到 内存; 不存在调用关系的模块不必同时装入到内存,从而可 以相互覆盖。(即不同时用的模块可共用一个分区) 32注:另一种覆盖方法:(100K) A(20K)占一个分区:20K; B(50K)、D(20K)和E(40K)共用一个分区:50K; F(30K)和C(30K)共用一个分区:30K;覆盖技术334.3.7 对换(Swapping)1 对换的引入 将阻塞进程,暂时不用的程序,数据换出。 将具备运行条件的进程换入。 类型: 整体对换:进程对换,解决内存紧张 部分对换:页面对换/分段对换:提供 虚存支持 2 对换空间的管理 外存 对换区比文件区侧重于对换速度。 因此,对换

15、区一般采用连续分配。采用数据结 构和分配回收类似于可变化分区分配。344.3.7 对换3 换出与换入 (1)换出 选出被换出进程: 因素:优先级,驻留时间,进 程状态 换出过程: 对于共享段:计数减1, 是0则换 出,否则不换 修改PCB和内存分配表 (2)换入: 选择换入进程:优先级,换出时间等。 申请内存。 换入354.4基本分页存储管理 连续分配引起:碎片 碎片问题的解决:紧凑方式消耗系统开销。 离散分配 分页 不具备页面对换功能的称为基本分页存储 管理方式 分段 段页361.页面页面和物理块:逻辑空间和内存空间,页内碎片 页面大小由机器的地址结构决定 页太大,页内碎片大。 页太小:页表可能很长,换入/出效率低2.地址结构31 12 11 0逻辑地址A;页大小L(设为1024);页内偏移dP= IntA/Ld=A mod L 如: A2170B. 则P=2, d=122 4.4.1页面与页表页号P 位移W 373.页表-实现从页号到物理块号的地址映射0页1页2页3页4页5页n页02 13 26 38 49 50 1 2 3 4 5 6 7 8 9用户程序页表页号块号内存38Paging Example 39例1:某系统采用页式存储管理策略,拥有逻 辑空间32页,每页2K,拥有物理空间1M写出逻辑地址的格式若不考虑访问权限等,进程的页表有多少 项?每项至少有多少位

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号