计算机操作系统-第4章存储器管理

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

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

1、2018/8/24,1,第四章 存储器管理,2018/8/24,2,存储器是计算机系统的重要资源,概 述,“瓶颈”:关键、紧张,2018/8/24,3,主要内容:,4.2 程序的装入和链接,4.3 连续分配方式,4.4 基本分页存储管理方式,4.5 基本分段存储管理方式,4.6 虚拟存储器的基本概念,4.7 请求分页存储管理方式,4.8页面置换算法,4.9 请求分段存储管理方式,4.1 存储器的层次结构,2018/8/24,4,本章重点: 存储器的层次结构; 动态分区分配; 对换的概念; 基本分页存储管理的实现原理; 基本分段存储管理的地址变换机构; 虚拟存储器的基本概念; 常用的页面置换算法

2、,本章难点:动态分区分配算法; 基本分页存储管理的地址变换机构的实现; 常用的页面置换算法的原理及应用,本章计划学时:12,2018/8/24,5,4.1 存储器的层次结构 P116,理想情况下:存储器速度快;容量大;价格便宜,在现代计算机系统中,存储部件通常采用层次结构。,概 述,2018/8/24,6,本节主要内容:,4.1.1 多级存储器结构,4.1.2 主存储器与寄存器,4.1.3 高速缓存和磁盘缓存,本节学习目标:掌握存储器的层次结构;了解主存、 寄存器、高速缓存、磁盘缓存的概念及作用,返回,2018/8/24,7,4.1.1 多级存储器结构P116,存储层次:CPU寄存器;主存;辅

3、助存储器 辅助存储器包括:磁盘;可移动存储介质 主存包括:高速缓存;主存;磁盘缓存,2018/8/24,8,存储器层次:,寄存器,主存,辅助存储器,主存(内存),高速缓存,磁盘缓存,4.1.2,4.1.3,2018/8/24,9,4.1.2 主存储器与寄存器,1.主存储器(简称主存或内存),定义:是由存储单元(字节或字)组成的一维连续的地址空间,简称内存空间。,内存可以分为:系统区:用于存放操作系统常驻内存部分用户区:用于装入并存放用户程序和数据,作用:用来存放当前正在运行程序的代码及数据,注意:CPU只能直接访问主存,2018/8/24,10,存储管理目的,1、充分利用内存,为多道程序并发执

4、行提供存储基础 2、尽可能方便用户使用自动装入用户程序用户程序中不必考虑硬件细节 3、系统能够解决程序空间比实际内存空间大的问题,2018/8/24,11,4、程序在执行时可以动态伸缩 5、内存存取速度快 6、存储保护与安全 7、共享与通信 8、了解有关资源的使用状况,2018/8/24,12,存储管理的任务,1、内存空间的管理、分配与回收 2、存储共享 3、存储保护与安全 4 、内存“扩充” 5 、地址映射(地址重定位),2018/8/24,13,地址映射(地址重定位,地址变换),(1) 逻辑地址(相对地址,虚地址) (2) 物理地址(绝对地址,实地址) (3) 地址映射,2018/8/24

5、,14,内存空间(或物理空间),内存是由若干个存储单元组成的,每个存储单元有一个编号,这种编号可唯一标识一个存储单元,称为内存地址(或物理地址)。,内存地址都是绝对地址.,内存中存储单元的地址,可直接寻址,2018/8/24,15,逻辑空间,源程序经过汇编或编译后,形成若干个目标程序(模块),每个目标程序都是以0为基址顺序进行编址的,这样生成的目标程序占据一定的地址空间,称为作业的逻辑地址空间,简称逻辑空间。,每个目标模块的地址都是相对地址.,注意:不能用逻辑地址在内存中读取信息,在逻辑空间中每条指令的地址和指令中要访问的操作数 地址统称为逻辑地址。,2018/8/24,16,为了保证CPU执

6、行指令时可正确访问存储单元, 需将用户程序中的逻辑地址转换为运行时由机器 直接寻址的物理地址,这一过程称为地址映射,地址映射,2018/8/24,17,下图为作业的名空间、逻辑地址空间和装入后的物理空间,2018/8/24,18,地址映射,Load A 2003456。,1200,物理地址空间,Load A data1data1 3456,源程序,Load A 2003456,0,100,200,编译 连接,逻辑地址空间,BA=1000,2018/8/24,19,地址映射(重定位)的原因: 当程序装入内存时, 操作系统要为该程序分配一个合适的内存空间,由于程序的逻辑地址与分配到内存物理地址不一

7、致, 而CPU执行指令时,是按物理地址进行的,所以要进行地址转换内存中进程之间的碎片紧凑时需要移动相关进程的内存位置;内存中多个并发进程在执行过程中需要挂起调出内存,当条件成熟时再被激活调入内存继续执行,这时的该进程的地址往往已经改变;,2018/8/24,20,2.寄存器,作用:主要用于加速存储器的访问速度,2018/8/24,21,4.1.3 高速缓存和磁盘缓存,1.高速缓存,其容量远大于寄存器,比内存小两到三个数量级 左右;,但访问速度快于主存,作用:将主存中一些经常访问的信息存放在高速缓 存中,减少访问主存的次数,可大幅度提高程序执 行速度,2018/8/24,22,2.磁盘缓存,作用

8、:将频繁使用的一部分磁盘数据和信息,暂时 存放在磁盘缓存中,可减少访问磁盘的次数,注意:磁盘缓存本身并不是一种实际存在的 存储介质,2018/8/24,23,高速缓存Cache:少量的、非常快速、昂贵、易变的 内存RAM:若干兆字节、中等速度、中等价格、易变的 磁盘:数百兆或数千兆字节、低速、价廉、不易变的,存 储 器 小 结,返回,2018/8/24,24,4.2 程序的装入和链接P118,将一个用户源程序变为可在内存中运行的程序,通常 经过以下几步:,(1)编译,(3)装入,(2)链接,概 述,2018/8/24,25,本节主要内容:,4.2.1 程序的装入,4.2.2 程序的链接,本节学

9、习目标: 了解程序的装入方式和装入过程; 了解程序的链接方式和链接过程; 熟练掌握并理解重定位的概念,返回,2018/8/24,26,4.2.1 程序的装入,将一个装入模块装入内存时,可采用三种方式:,1. 绝对装入方式,2.可重定位方式,3. 动态运行时装入方式,在程序中使用绝对地址,2018/8/24,27,2. 可重定位装入方式,重定位:我们把在装入时对目标程序中的指令和数据 地址的修改过程称为重定位。,由于地址变换只是在装入时一次完成,以后不再改变, 故称为静态重定位。,2018/8/24,28,作业装入内存时的情况,0,1000,2500,5000,作业地址空间,LOAD l,250

10、0,365,内存空间,10000,11000,12500,15000,LOAD l,2500,365,2018/8/24,29,静态重定位,当用户程序被装入内存时,一次性实现逻辑地址到物理地址的转换,以后不再转换(一般在装入内存时由软件完成),动态重定位,在程序运行过程中要访问数据时再进行地址变换(即在逐条指令执行时完成地址映射。一般为了提高效率,此工作由硬件地址映射机制来完成。(硬件支持,软硬件结合完成)硬件上需要一对寄存器的支持,2018/8/24,30,0,3456,.,.,.,.,.,.,LOAD A 200,.,.,.,.,.,.,0,100,200,300,.,.,.,.,.,.,

11、.,.,.,LOAD A 200,3456,逻辑地址空间,1100,1200,1300,物理地址空间,200,VR,+,1000,BR,动态重定位,2018/8/24,31,3. 动态运行时装入方式,动态运行时的装入程序,在把装入模块装入内存后,并 不立即把装入模块中的相对地址转换为绝对地址,而是 把这种地址转换推迟到程序要真正执行时才进行。,需要特殊硬件的支持。,可重定位装入方式存在的问题:不允许程序运行时在 内存中移动位置。,2018/8/24,32,4.1.2 程序的链接,包括:,1. 静态链接,2.装入时动态链接,3.运行时动态链接,2018/8/24,33,1. 静态链接方式,0,L

12、-1,模块A,CALL B,Return:,0,M-1,模块B,CALL C,Return:,0,N-1,模块C,Return:,(a)目标模块,0,L-1,L,L+M-1,L+M,L+M+N-1,A,JSR”L”,B,JSR”L+M”,C,(b)装入模块,2018/8/24,34,静态链接方式中需解决的问题,(1)对相对地址进行修改,(2)变换外部调用符号,上一页,2018/8/24,35,2.装入时动态链接,优点:,(1)便于修改和更新,(2)便于实现对目标模块的共享,2018/8/24,36,3.运行时动态链接,基本思想:对某些模块的链接推迟到执行时才执行,优点:1)可加快程序的装入过程

13、;,2)可节省大量的内存空间,2018/8/24,37,三种链接方式的比较:,运行时动态链接:,装入时动态链接:,静态链接方式:,装入前链接,装入时链接,运行时链接,返回,2018/8/24,38,4.3 连续分配方式 P121,(1)静态存储分配:,内存分配按分配时机的不同,可分为两种方式:,指内存分配是在作业运行之前各目标模块连接后,把整个 作业一次性全部装入内存,并在作业的整个运行过程中, 不允许作业再申请其他内存,或在内存中移动位置。也就 是说,内存分配是在作业运行前一次性完成的。,概 述,2018/8/24,39,作业要求的基本内存空间是在目标模块装入内存时分 配的,但在作业运行过程

14、中,允许作业申请附加的内 存空间,或是在内存中移动,即分配工作可以在作业 运行前及运行过程中逐步完成。,内存分配续:,(2)动态存储分配,2018/8/24,40,内存分配,连续分配方式,离散分配方式,分区分配,固定分区分配,动态分区分配,可重定位分区分配,基本分页存储管理方式,基本分段存储管理方式,段页式存储管理方式,请求分页存储管理方式,请求分段存储管理方式,特点: 一次性 驻留性,2018/8/24,41,连续分配是指为一个用户程序分配一个连续的内存空间。,4.3.1 单一连续分配,4.3 连续分配方式(续),4.3.2 固定分区分配,4.3.3 动态分区分配,适合单用户单任务OS,4.

15、3.6 可重定位分区分配,本节主要内容:,4.3.4 伙伴系统,4.3.5 哈希算法,4.3.7 对换,2018/8/24,42,本节学习目标:,了解固定分区分配方式;,掌握动态分区分配的相关算法;,了解伙伴系统;,了解可重定位分区分配的实现过程;,理解并熟练掌握对换的定义,了解引入对换后对换 空间的管理,理解并掌握碎片的定义,返回,2018/8/24,43,分区式分配方式由于要求将一个用户程序分 配到一个连续的内存空间中,因此可能产生 多个不可利用的内存零头。(或称“碎片”),4.3.2 固定分区分配,2018/8/24,44,1 划分分区的方法,(1)分区大小相等,缺点:当程序太小时,会造

16、成内存空间的浪费;反之, 可能因分区的大小尚不足以装入该程序。,(2)分区大小不等,用途:用一台计算机控制多个相同对象的场合,可根据程序的大小为之分配适当的分区.,2018/8/24,45,2. 内存分配,将分区根据 大小排队, 并为之 建立一张分 区使用表。,分区号 大小(KB),始址(KB) 状态,1,15,30,已分配,2,30,45,已分配,3,50,75,已分配,4,100,125,未分配,分区说明表,2018/8/24,46,0,30,45,75,125,OS常驻内 存部分,作业A,作业B,作业C,存储空间 分配情况,作业A需要15KB,作业B需要30KB,作业C需要50KB,未分配,2018/8/24,47,4.3.3 动态分区分配,(2)分区的分配算法,思想:根据进程的实际需要,动态地为之分配内存空间.,(1)分区分配中使用的数据结构,(3)分区的分配和回收操作,2018/8/24,

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

当前位置:首页 > 行业资料 > 其它行业文档

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