第3章存储器管理.ppt
《第3章存储器管理.ppt》由会员分享,可在线阅读,更多相关《第3章存储器管理.ppt(107页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 3章 存储器管理 操作系统教程第 3章 存储器管理 第第 3 章存储器管理章存储器管理3.1 存储器管理概述存储器管理概述3.2 单用户连续存储管理方式单用户连续存储管理方式3.3 固定分区存储管理方式固定分区存储管理方式3.4 可变分区存储管理方式可变分区存储管理方式3.5 分页式存储管理方式分页式存储管理方式3.6 分段式存储管理方式分段式存储管理方式3.7 段页式存储管理方式段页式存储管理方式3.8 虚拟存储管理方式虚拟存储管理方式第 3章 存储器管理 3.1 存储器管理概述存储器管理概述 存储管理的主要任务是尽可能方便用户和提高主存储器存储管理的主要任务是尽可能方便用户和提高主存储
2、器的使用效率,使主存储器在成本、速度和规模之间获得较的使用效率,使主存储器在成本、速度和规模之间获得较好的权衡。好的权衡。3.1.1 存储器管理的主要功能存储器管理的主要功能 1主存空间的分配和回收主存空间的分配和回收 2地址转换地址转换 3主存空间的共享与保护主存空间的共享与保护 4主存空间的扩充主存空间的扩充第 3章 存储器管理 3.1.2 存储器的层次存储器的层次 目前,计算机均采用分层结构的存储子系统,以便在容量、速度目前,计算机均采用分层结构的存储子系统,以便在容量、速度和价格等因素中获得较好的性价比。和价格等因素中获得较好的性价比。图中,上面的速度快,下面的容量大。寄存器、高速缓存
3、、主存图中,上面的速度快,下面的容量大。寄存器、高速缓存、主存和磁盘缓存属于和磁盘缓存属于OS存储管理范围,掉电后数据丢失;固定磁盘和可移存储管理范围,掉电后数据丢失;固定磁盘和可移动存储介质属于设备管理范围,数据可长期保存;磁盘缓存本身并不动存储介质属于设备管理范围,数据可长期保存;磁盘缓存本身并不是一种实际存在的存储介质,它依托于固定磁盘,提供对主存空间的是一种实际存在的存储介质,它依托于固定磁盘,提供对主存空间的扩充。扩充。寄存器寄存器高速缓存高速缓存主存储器主存储器磁盘缓存磁盘缓存固定磁盘固定磁盘可移动存储介质可移动存储介质存储管理设备管理第 3章 存储器管理 寄存器访问速度最快且最昂
4、贵,它容量小,以字寄存器访问速度最快且最昂贵,它容量小,以字(word)为单位。一个计算机系统可能包括几十个至上百)为单位。一个计算机系统可能包括几十个至上百个寄存器,用于提高存储访问速度。比如,用寄存存放操个寄存器,用于提高存储访问速度。比如,用寄存存放操作数,或用地址寄存器加快地址转换速度。作数,或用地址寄存器加快地址转换速度。高速缓存的容量稍大,速度快于主存,利用它存放主高速缓存的容量稍大,速度快于主存,利用它存放主存中马上要访问的指令,可大大提高执行速度。主存的速存中马上要访问的指令,可大大提高执行速度。主存的速度为度为1s,高速,高速缓存存为0.1s。要要执行的程序必行的程序必须先装
5、入主存,根据局部性原理,只先装入主存,根据局部性原理,只要将程序的一部分装入主存就可以要将程序的一部分装入主存就可以执行,其余部分放在磁行,其余部分放在磁盘缓存。存。第 3章 存储器管理 高速缓存(高速缓存(cache)高速缓存是现代计算机结构中的一个重要部件。高速缓存是现代计算机结构中的一个重要部件。有些有些cache由硬件实现由硬件实现 如,指令如,指令cache,用于暂存下一条欲执行的指令,纯硬,用于暂存下一条欲执行的指令,纯硬件件cache不需要不需要os控制。控制。有些有些cache由程序员、编译系统和由程序员、编译系统和os实现实现 如,快表。如,快表。在采用在采用cache的系统
6、中,要注意解决数据的一致性问题。的系统中,要注意解决数据的一致性问题。因为这时数据可能出现在不同的层次上。在多处理机的环因为这时数据可能出现在不同的层次上。在多处理机的环境中,情况会更复杂。境中,情况会更复杂。第 3章 存储器管理 3.1.3 地址转换地址转换 源程序经过编译后得到的目标程序存在于它所限定的源程序经过编译后得到的目标程序存在于它所限定的地址范围内,这个范围称为地址空间。它总是从地址范围内,这个范围称为地址空间。它总是从0开始编开始编址,是一个相对于实际起始地址的相对地址,也称为逻辑址,是一个相对于实际起始地址的相对地址,也称为逻辑地址。当将其装入内存后得到的地址才是其真正的内存
7、存地址。当将其装入内存后得到的地址才是其真正的内存存储地址,这个地址称为物理地址或绝对地址。储地址,这个地址称为物理地址或绝对地址。把程序和数据的逻辑地址转换为物理地址的过程称为把程序和数据的逻辑地址转换为物理地址的过程称为地址转换或重定位。地址转换有两种方式,一种方式是在地址转换或重定位。地址转换有两种方式,一种方式是在作业装入时由作业装入程序实现地址转换,称为静态地址作业装入时由作业装入程序实现地址转换,称为静态地址转换;另一种方式是在程序执行时实现地址转换,称为动转换;另一种方式是在程序执行时实现地址转换,称为动态地址转换。态地址转换。第 3章 存储器管理 1静态重定位静态重定位 静态重
8、定位是在程序执行之前,由作业装入程序将程静态重定位是在程序执行之前,由作业装入程序将程序装入内存,同时实现地址转换。一旦确定下来的地址就序装入内存,同时实现地址转换。一旦确定下来的地址就不再改变。不再改变。LOAD A,12500 36510000110001250015000LOAD A,2500 3655000010002500图图3-2 作业装入主存时的情况作业装入主存时的情况作业主存第 3章 存储器管理 特点:静态重定位程序在内存中不能移动,而且必须连续存放。特点:静态重定位程序在内存中不能移动,而且必须连续存放。优点:不需要增加硬件地址变换装置,实现简单。优点:不需要增加硬件地址变换
9、装置,实现简单。缺点:缺点:程序占用连续的存储空间。程序占用连续的存储空间。如果没有足够大的连续空间,作业只能等待。如果没有足够大的连续空间,作业只能等待。不能实现虚拟存储技术。不能实现虚拟存储技术。因为程序只能一次完全装入内存。因为程序只能一次完全装入内存。无法实现程序的共享。无法实现程序的共享。不能寻址存储区,每个程序的寻址范围只在自己的存储区范不能寻址存储区,每个程序的寻址范围只在自己的存储区范围内。围内。第 3章 存储器管理 2动态重定位动态重定位 动态重定位是在程序执行过程中,随着每条指令和数据的访动态重定位是在程序执行过程中,随着每条指令和数据的访问自动地连续地进行转换,这种重定位
10、的实现需要硬件的帮助,问自动地连续地进行转换,这种重定位的实现需要硬件的帮助,一般是靠硬件地址变换机构实现的。一般是靠硬件地址变换机构实现的。特点:动态重定位程序在内存中可不连续存放,并可在内存中移动。特点:动态重定位程序在内存中可不连续存放,并可在内存中移动。优点:优点:可以对主存不连续分配,灵活、方便,存储效率高。可以对主存不连续分配,灵活、方便,存储效率高。可以实现虚拟存储技术。可以实现虚拟存储技术。可以实现程序的共享。可以实现程序的共享。缺点:缺点:需要增加硬件(界限寄存器、页表寄存器)。需要增加硬件(界限寄存器、页表寄存器)。实现存储管理的软件算法比较复杂。实现存储管理的软件算法比较
11、复杂。第 3章 存储器管理 3.1.4 存储管理方式存储管理方式全部装入全部装入部分装入部分装入连续分配连续分配单用户连续存储管理方式单用户连续存储管理方式分区分配分区分配固定分区存储管理方式固定分区存储管理方式可变分区存储管理方式可变分区存储管理方式分页式存储管理方式分页式存储管理方式分段式存储管理方式分段式存储管理方式段页式存储管理方式段页式存储管理方式非连续分配非连续分配 请求分页式虚拟存储管理方式请求分页式虚拟存储管理方式请求分段式虚拟存储管理方式请求分段式虚拟存储管理方式图图3-3 存储管理方式层次图存储管理方式层次图第 3章 存储器管理 3.2 单用户连续存储管理方式单用户连续存储
12、管理方式 3.2.1 基本原理基本原理 单用户连续存储管理方式是一种最简单的存储管理方单用户连续存储管理方式是一种最简单的存储管理方式,在这种管理方式下,在主存中仅驻留一道程序,整式,在这种管理方式下,在主存中仅驻留一道程序,整个用户区为一个用户所独占。当用户作业空间大于用户个用户区为一个用户所独占。当用户作业空间大于用户区时,该作业不能装入。这种分配方式仅能用于单用户、区时,该作业不能装入。这种分配方式仅能用于单用户、单任务的操作系统中,不能用于多用户系统和单用户多单任务的操作系统中,不能用于多用户系统和单用户多任务系统中。任务系统中。第 3章 存储器管理 3.2.2 主存空间的分配与回收主
13、存空间的分配与回收1主存空间的分配主存空间的分配 主存空间分为两个区:系统区和用户区。主存空间分为两个区:系统区和用户区。(1)系统区)系统区 供操作系统使用,操作系统的常驻内存部分存放在这供操作系统使用,操作系统的常驻内存部分存放在这里。比如,里。比如,DOS的的文件(内部命令解释程文件(内部命令解释程序)。序)。(2)用户区)用户区 存放用户作业。只能存放一道作业,并且这个程序不存放用户作业。只能存放一道作业,并且这个程序不能大于内存容量。能大于内存容量。第 3章 存储器管理 2主存空间的回收主存空间的回收 程序执行完毕,系统全部回收所有主存空间,再分配程序执行完毕,系统全部回收所有主存空
14、间,再分配给下一个作业。给下一个作业。(只要设置一个状态:(只要设置一个状态:“空空”或或“不空不空”)第 3章 存储器管理 3.2.2 管理特点管理特点 简单:一次全部分配,一次全部回收。简单:一次全部分配,一次全部回收。资源利用率低:每次只运行一个作业。资源利用率低:每次只运行一个作业。第 3章 存储器管理 3.3 固定分区存储管理方式固定分区存储管理方式 3.3.1 基本原理基本原理 将用户区划分为多个固定大小的区域,每个区域称为将用户区划分为多个固定大小的区域,每个区域称为一个分区,每个分区可装入一个作业,每个作业只能装入一个分区,每个分区可装入一个作业,每个作业只能装入一个分区。一个
15、分区。分区的划分方法:分区的划分方法:1分区大小相等分区大小相等 优点:划分方法简单。优点:划分方法简单。缺点:大分区放小程序缺点:大分区放小程序浪费浪费 小分区放大程序小分区放大程序程序无法运行程序无法运行 2分区大小不等分区大小不等 在主存中划分出多个较小的分区、适量的中等分区及在主存中划分出多个较小的分区、适量的中等分区及少量的大分区。这样就可以满足不同大小程序的要求。少量的大分区。这样就可以满足不同大小程序的要求。第 3章 存储器管理 3.3.2 主存空间的分配与回收主存空间的分配与回收1采用的数据结构采用的数据结构 设置了一张分区分配表。分区分配表的内容包括分设置了一张分区分配表。分
16、区分配表的内容包括分区号、起始地址、大小、状态。分区表如下表所示。区号、起始地址、大小、状态。分区表如下表所示。第 3章 存储器管理 2主存空间的分配主存空间的分配 在初始状态下,状态栏的初值为在初始状态下,状态栏的初值为0。主存空间的分配步骤为:主存空间的分配步骤为:从作业队列取出一个作业。从作业队列取出一个作业。搜索分区表中状态为搜索分区表中状态为“0”的分区。的分区。将作业大小与分区大小进行比较,直到找到满足条件的将作业大小与分区大小进行比较,直到找到满足条件的分区。分区。若未找到满足条件的分区,则给出提示信息,返回第若未找到满足条件的分区,则给出提示信息,返回第步。步。把作业装入该分区
17、,作业名写入状态栏。返回第把作业装入该分区,作业名写入状态栏。返回第步。步。第 3章 存储器管理 3主存空间的回收主存空间的回收 根据作业名到分区表的状态栏中查找,找到后将状态根据作业名到分区表的状态栏中查找,找到后将状态栏置栏置“0”,表示该分区空闲,可以用来装入新的作业。,表示该分区空闲,可以用来装入新的作业。3.3.3 地址转换与存储保护地址转换与存储保护1地址转换地址转换 因为分区的大小和个数是固定的,因此既可以采用静因为分区的大小和个数是固定的,因此既可以采用静态重定位方式,也可以采用动态重定位方式。态重定位方式,也可以采用动态重定位方式。第 3章 存储器管理 2存储保护存储保护 存
18、储保护是使作业只在自己的分区内进行存储,存储保护是使作业只在自己的分区内进行存储,即:下限寄存器即:下限寄存器绝对地址绝对地址上限寄存器,当绝对地址超出此上限寄存器,当绝对地址超出此范围时,提示范围时,提示“地址越界地址越界”。CPU+主主存存下限寄存器下限寄存器上限寄存器上限寄存器逻辑地址逻辑地址物理地址物理地址否否是是地址越界地址越界低地址低地址高地址高地址第 3章 存储器管理 例例3-1 在某系统中采用固定分区分配管理方式,主存分区在某系统中采用固定分区分配管理方式,主存分区情况如图情况如图3-9(a)所示。现有大小为)所示。现有大小为1KB、9KB、33KB、121KB的多个作业要求进
19、入主存,试画出它们进入主存后的多个作业要求进入主存,试画出它们进入主存后的空间分配情况,并说明主存浪费有多大?的空间分配情况,并说明主存浪费有多大?3.3.4 管理特点管理特点 固定分区解决了单用户连续存储管理中内存只装入一固定分区解决了单用户连续存储管理中内存只装入一道作业的问题,内存中同时装入多道作业,提高了内存利道作业的问题,内存中同时装入多道作业,提高了内存利用率,并实现了并发执行。用率,并实现了并发执行。但是,主存利用率还是存在浪费现象,因为每个作业但是,主存利用率还是存在浪费现象,因为每个作业不可能与固定分区一样大小。不可能与固定分区一样大小。第 3章 存储器管理 3.4 可变分区
20、存储管理方式可变分区存储管理方式3.4.1 基本原理基本原理 可变分区存储管理方式是在作业要求装入主存时,可变分区存储管理方式是在作业要求装入主存时,根据作业的大小动态地划分分区,使分区的大小正好适应根据作业的大小动态地划分分区,使分区的大小正好适应作业的要求。各分区的大小是不确定的,主存中分区的数作业的要求。各分区的大小是不确定的,主存中分区的数目也是不确定的。目也是不确定的。第 3章 存储器管理 3.4.2 主存空间的分配与回收主存空间的分配与回收1采用的数据结构采用的数据结构 第 3章 存储器管理 2主存空间的分配与回收主存空间的分配与回收 首先初始化已分分区表(首先初始化已分分区表(0
21、个记录)和空闲分区表(个记录)和空闲分区表(1个记录),整个用户区为一个空闲区,在空闲分区表中填个记录),整个用户区为一个空闲区,在空闲分区表中填入用户区的始址和大小。主存空间的分配见书中图入用户区的始址和大小。主存空间的分配见书中图3-11。当作业执行完毕回收存储区时,在已分分区表中,只当作业执行完毕回收存储区时,在已分分区表中,只要按照作业的首地址找到相应分区,将分区的状态项置要按照作业的首地址找到相应分区,将分区的状态项置0即可;即可;第 3章 存储器管理 在空闲分区表中,回收分为以下四种情况:在空闲分区表中,回收分为以下四种情况:(1)回收的分区前后没有相邻的空闲分区。)回收的分区前后
22、没有相邻的空闲分区。(2)回收分区的前面有相邻的空闲区。)回收分区的前面有相邻的空闲区。(3)回收分区的后面有相邻的空闲分区。)回收分区的后面有相邻的空闲分区。(4)回收分区的前后都有相邻的空闲分区。)回收分区的前后都有相邻的空闲分区。回收分区回收分区回收分区回收分区空闲分区空闲分区回收分区回收分区空闲分区空闲分区回收分区回收分区空闲分区空闲分区空闲分区空闲分区(a)(b)(c)(d)图图3-6 空闲分区修改图空闲分区修改图第 3章 存储器管理 3常用主存分配算法常用主存分配算法(1)最先适应分配算法()最先适应分配算法(FF)空闲分区按地址递增的顺序排列,从头开始查找,空闲分区按地址递增的顺
23、序排列,从头开始查找,找到第找到第1个满足作业长度要求的空闲区,分割出作业需要个满足作业长度要求的空闲区,分割出作业需要的长度分配给它。的长度分配给它。优点:简单、迅速。优点:简单、迅速。缺点:内存区间利用率不均匀,低地址区用的多,容易产缺点:内存区间利用率不均匀,低地址区用的多,容易产生过多的小地址碎片。生过多的小地址碎片。改进:循环最先适应分配算法。改进:循环最先适应分配算法。第 3章 存储器管理(2)最优适应分配算法()最优适应分配算法(BF)最优适应分配算法是按作业要求从所有的空闲分区中最优适应分配算法是按作业要求从所有的空闲分区中挑选一个能满足作业要求的最小空闲区,这样可保证不挑选一
24、个能满足作业要求的最小空闲区,这样可保证不去分割一个更大的区域,使装入大作业时比较容易得到去分割一个更大的区域,使装入大作业时比较容易得到满足。为实现这种算法,把空闲区按长度递增次序登记满足。为实现这种算法,把空闲区按长度递增次序登记在空闲分区表中,分配时顺序查找。在空闲分区表中,分配时顺序查找。优点:保留了较大的连续内存空间。优点:保留了较大的连续内存空间。缺点:容易产生碎片,每次内存回收时都要重新排序。缺点:容易产生碎片,每次内存回收时都要重新排序。第 3章 存储器管理(3)最坏适应分配算法()最坏适应分配算法(WF)最坏适应分配算法每次分配主存时总是挑选一个最大最坏适应分配算法每次分配主
25、存时总是挑选一个最大的空闲区,分割一部分给作业使用,使剩下的部分不至的空闲区,分割一部分给作业使用,使剩下的部分不至于太小,仍可供使用。为实现这种算法,把空闲区按长于太小,仍可供使用。为实现这种算法,把空闲区按长度递减次序登记在空闲分区表中,分配时顺序查找。度递减次序登记在空闲分区表中,分配时顺序查找。优点:因为总是对大区间分割,因此不容易产生过多的碎优点:因为总是对大区间分割,因此不容易产生过多的碎片。片。缺点:大作业的分配受影响。每次内存回收时空闲区都要缺点:大作业的分配受影响。每次内存回收时空闲区都要重新排序。重新排序。第 3章 存储器管理 3.4.3 地址转换与存储保护地址转换与存储保
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 存储器 管理
限制150内