软件技术基础第04章资源管理技术.ppt
《软件技术基础第04章资源管理技术.ppt》由会员分享,可在线阅读,更多相关《软件技术基础第04章资源管理技术.ppt(86页珍藏版)》请在三一办公上搜索。
1、第 1 页,教学目标,了解内存储器的管理技术了解文件的组织和管理,第 2 页,学习要求,通过本单元的学习,了解、弄清、掌握:存储器管理的概念、目的、任务功能、存储分配、地址重定位、虚拟存储器存储器管理的常用方法和技术 单一连续区、多连续区、页式、段式等管 理方法文件的组织和管理,第 3 页,第一部分()存储器管理,1.基本概念(1)定义:存储器(Memory)能接收数据、保存数据、并能根据命令提供这些数据的装置。(2)存储器的分类:内存储器(简称内存、主存、物理存储器):处理机能直接访问的存储器,用来存放系统和用户的程序和数据。其特点是:存取速度快,存储方式是以新换旧,断电信息丢失。外存储器(
2、简称外存、辅助存储器):处理机不能直接访问的存储器。用来存放用户的各种信息,存取速度相对内存而言要慢得多,但它可用来长期保存用户信息。如我们的磁盘。提示:存储器管理主要指内存的管理。所以,以后无特别说明,存储器管理指的是内存的管理,第 4 页,一、存储器管理,1.基本概念(1)定义:存储器(Memory)能接收数据、保存数据、并能根据命令提供这些数据的装置。(2)存储器的分类:内存储器(简称内存、主存、物理存储器):处理机能直接访问的存储器,用来存放系统和用户的程序和数据。其特点是:存取速度快,存储方式是以新换旧,断电信息丢失。外存储器(简称外存、辅助存储器):处理机不能直接访问的存储器。用来
3、存放用户的各种信息,存取速度相对内存而言要慢得多,但它可用来长期保存用户信息。如我们的磁盘。提示:存储器管理主要指内存的管理。所以,以后无特别说明,存储器管理指的是内存的管理,第 5 页,(3)内存的物理组织物理地址:把内存分成若干个大小相等的存储单元,每个单元给一个编号,这个编号称为内存地址(物理地址、绝对地址、实地址),存储单元占8位,称作字节(byte)。我们说的256M内存指的是字节物理地址空间:物理地址的集合称为物理地址空间(主存地址空间、绝对地址空间),它是一个一维的线性空间。,第 6 页,2.存储器管理的功能,(1)存储空间的地址转换将逻辑地址转换为物理地址(2)存储空间的分配和
4、释放负责分配和回收内存(3)主存空间的扩充提供虚拟存储、程序覆盖技术,目的是扩展运行大型程序的能力(4)存储保护保护系统程序和各用户程序的运行不受干扰。,第 7 页,(1)存储空间的地址变换,几个概念:程序地址:用户在程序中使用的是符号名,编译系统在产生的目标程序中使用的地址是相对于程序开始设置的,称为逻辑地址(或相对地址、虚地址)(以0为基址顺序编址)程序地址空间(逻辑地址空间、虚地址空间):用户的程序地址的集合称为逻辑地址空间,它的编址总是从0开始的,可以是一维线性空间,也可以是多维空间。物理地址:而可执行程序在计算机中运行时使用的是内存的物理地址(也叫绝对地址)。(即前面定义的物理地址)
5、地址转换:由程序的逻辑地址空间到运行时真正使用的物理地址空间转换叫“地址转换”,也叫地址重定位,或地址映射。逻辑地址到物理地址的转换,第 8 页,地址重定位示意图,int a;float b;char c;,a的绝对地址,b的绝对地址,c的绝对地址,0X,a的逻辑地址,b的逻辑地址,c的逻辑地址,2FF0,3EC0,4DAA,源程序符号空间 目标程序地址空间 内存的存储空间 名空间 逻辑地址空间 物理地址空间,装入内存使用物理地址,编程时用的是符号地址,编译、链接产生逻辑地址,第 9 页,地址重定位的方式,静态重定位动态重定位,第 10 页,静态地址重定位,原理:是指在作业执行之前进行的重定位
6、。地址转换工作主要靠重定位装入程序来完成。特点:简单、容易实现,无需硬件的支持,是早期计算机采用的一种方式。缺点:程序一经定位后就不能再在主存中移动,不能重新分配内存,不利于内存的有效利用;要求作业分配连续的主存空间,主存资源利用率低;不同用户难于共享主存中的同一程序。,第 11 页,静态重定位示意图,作业A的地址空间,主存空间,0100 300500,100200400600,INPUT 1,300,INPUT 1,400,1 3 5 7,1 3 5 7,作业的逻辑地址100处是一个输入语句,从逻辑地址300处,读1个记录。重定位到主存空间后,因为作业从物理地址100处被装入,输入语句的地址
7、按序被定位在200处,被读记录在400处。,从逻辑地址300处,读1个记录,第 12 页,动态地址重定位,动态地址重定位 是在程序执行过程中进行的重定位,更确切地说是在每次访问内存单元前才进行地址变换。它是通过硬件的地址变换机构实现的。设置一个重定位寄存器(RR),用来存放装入主存空间时的起始地址。作业访问主存空间的地址是由逻辑地址加重定位寄存器的地址来确定。主存实际地址=逻辑地址+重定位寄存器内容,第 13 页,动态地址重定位示意图,300,1000,+,0 100 300 600,0110013001600,I 1,3001 3 5 7,作业A地址空间,有效地址,重定位寄存器,主存空间,I
8、 1,3001 3 5 7,第 14 页,动态地址重定位的特点,目标模块装入主存后,还可以很容易地进行移动。有利于解决内存管理出现的中碎块问题;多个相对独立的目标模块,可以分别装入互不相邻的内存区域。这样便于内存的充分利用和资源的共享。程序中不执行的程序,不做地址映射工作,节省了CPU的时间。需要附加硬件的支持,增加了系统的开销。(重定位寄存器,缺点)。,第 15 页,(2)存储空间的分配和释放,在计算机中,无论是系统程序、还是用户程序,无论是数据、还是文件,必须装入主存才能进行处理。系统通过空间分配管理表,记录系统中可用的空间及占用的空间状态,来管理内存的分配和释放。过程是:A)应用程序提出
9、空间申请B)若有足够内存,则装入程序执行;否则,等待或显示内存空间不足。C)程序执行完毕,提出回收申请,系统回收内存。,第 16 页,存储分配方式,有三种 直接分配 在源程序中直接使用主存的物理地址。对用户要求高、使用不方便、易出错。早期计算机系统中使用。静态分配 在作业装入前,由程序一次性说明作业所包含的地址空间。确定后在整个程序执行过程中不再改变。简单、利用率低、难于实现多道程序对资源的共享。(对应静态地址转换)动态分配 在作业被装入主存或在执行过程中,才确定其存储分配。管理复杂、但利用率高,容易实现主存的资源共享。在现代多道程序系统中,主要采用动态分配方式。,第 17 页,(3)存储空间
10、的分区保护,在多道程序系统的主存中(环境),为了保护系统程序的安全(目的),系统程序和用户程序实际使用的区域是隔开的(方法)。这种分割是靠硬件实现的。用户程序只能使用用户区域的存储空间(说明)。其他存储保护 A)上下界保护 B)基址、限长寄存器保护,系统区域,用户区域,主存空间的分区 保护示意图,第 18 页,(4)主存空间的扩充,主存的空间是有限的希望在有限的空间中运行大型程序使用的技术有:“自动覆盖”技“虚拟存储”技术,第 19 页,自动覆盖技术,思想:将大的程序划分为主存中可以容纳的独立的逻辑处理段。每次只调入其中的一段进行处理。早期程序设计中,经常采用类似的方法处理大的问题。例如,求解
11、大型线性方程组,就是采用“分块”算法将大的系数矩阵分为小块矩阵求解的。,第 20 页,虚拟存储器(Virtual Storage),基本思想:用户编程序时不需要考虑物理内存的结构和容量,当程序较大时,系统将一部分外存“虚拟”成内存来使用,386地址总线32位,寻址232=4GB,可管理64TB的虚拟存储器。虚拟存储器技术是在硬件和软件的共同支持下实现的(CPU和操作系统)。硬件负责虚实地址的转换;软件负责实存(主存)和虚存(外存)之间的信息调度管理。,第 21 页,内存扩充技术的比较,覆盖技术:一个作业的若干程序段,或几个作业的某些部分共享某一个存储空间。交换技术:当内存空间紧张时,系统将内存
12、中某些进程暂时移到外存,把外存中某些进程换进内存,占据前者所占用的区域(UNIX)比较:交换技术不要求用户给出程序段之间的逻辑覆盖结构。而且,交换发生在进程或作业之间,而覆盖发生在同一进程或作业内。此外,覆盖只能覆盖那些与覆盖段无关的程序段。虚拟存储器:程序、数据、堆栈的大小可以超过内存的大小,操作系统把程序当前使用的部分保留在内存,而把其它部分保存在磁盘上在需要时动态交换。,第 22 页,3.存储管理的方法,介绍4种:单一连续区分配法 多连续区分配法 分页管理法 分段管理法,第 23 页,(1)单一连续区分配法,方法要点:把主存分为两个固定的存储区域;一个固定地分配给OS,另一个分配给用户程
13、序。(通过硬件寄存器实现)硬件支持:引入“篱笆(Fence)寄存器”(界限寄存器),将OS和用户的使用区域分开。用户程序的重定位方法可以使用:静态定位法:程序装入前一次将逻辑地址转换成绝 对地址,以后不再转换。动态定位法:在程序执行过程中动态实现,第 24 页,单一连续区分配法示意图,2000,CPU,+,操作系统,自由空间,0用户区域,主存空间,定位寄存器,1500(逻辑地址),2000,3500(绝对地址),(动态重定位)说明:绝对地址=基地址+逻辑地址基地址不同产生的绝对地址就不同。,第 25 页,单一连续区分配法特点,优点:定位容易,使用简单缺点:但在多道程序处理 情况下,主存资源 利
14、用率低,浪费大。仅适用于单道程序,第 26 页,(2)多连续区分配法,方法要点:把主存空间划分为若干个连续的区域,建立空间分区表进行管理。分区大小可以不同。硬件支持:增加新的保护装置边界寄存器LOW、UP,限制分块的上、下边界。分类:固定分区,也称静态法 变长分区,也称动态法,第 27 页,固定分区(多连续分区),a)在作业前,把主存划分为几个固定大小的连续区域;分区大小可以相同,也可以不同。一旦划分好,在系统运行期间不再重新划分。(分区)b)建立一张分区说明表,记录每个分区的大小、区号、起始地址、及占用标志等信息。(建 分区说明表)c)在作业调度时,根据分区说明表来装入程序和确定程序的重定位
15、地址。(通过分区说明表管理),第 28 页,固定分区示意图,区号,大小,起址,状态,1 10K 20K 已分2 20K 30K 已分,3 30K 50K 已分4 80K 80K 未分,分 区 表,操作系统,作业A,作业B,作业C,第1分区,第2分区,第3分区,未分区,20K30K50k80K,主存“垃圾”,每个分区只能装一个作业,作业不一定占满分区,所以会产生碎片、零头、垃圾,第 29 页,固定分区法特点,优点:管理调度简单,分区策略适合于工作负荷比较确定的系统。缺点:主存”零头”太多,浪费严重;由此而产生”垃圾”回收问题。,第 30 页,变长分区(多连续分区),方法要点:根据要装入作业的实际
16、大小划分区域,且分区个数也可以调整;需要建立两张表(已分配分区表P、未分配分区表F)来管理主存空间。特点:优点:主存“零头”较小(但还有);缺点:选择剩下的空白区较小,无法使用;寻找一个较大的空白区费时(从头找起);归并主存“零头”,回收时费时。,第 31 页,多连续区分配法示意图,已分配分区表P,未分配分区表 F,区号 长度 起始地址 状态,1 8K 20K 已分,2 16K 28K 已分,3-空表目,4 124K 108K 已分,区号 长度 起始地址 状态,1 64K 44K 可用,2 24K 232K 可用,3-空表目,4,5,操作系统,作业1,作业2,20K,28K,5,44K,可用分
17、区1,108K,操作系统,可用分区1,作业3,可用分区2,232K,若另有作业4需要分配,分配算法:最先适应、最佳适应、归并小的空闲块,存储区域,第 32 页,(3)分页管理法,基本概念页(Page)将作业的地址空间划分为等长的单位,称为页。块 将主存的存储空间划分为等长的单位,称为块。页表 记录着页号与该页在主存中的块号的对应关系表。页表实际上是地址重定位表。(记页与块的关系)作业表 作业与页号管理对照表,每个作业有一个表项;表项由作业号、页表长度、页表起始地址、状态等信息组成。动态地址变换机制 为了实现从作业的地址空间到主存物理空间的映射而设置的一种硬件部件;地址结构如下:,P W,P 为
18、页号 W 为页内偏移量,第 33 页,分页管理法算法描述,分页管理法是将作业在逻辑地址空间中划分为页,每页在内存中分配一个块,块不要求连续。通过页表进行寻址和管理。作业中的逻辑地址通过动态地址转换机制 转换:页号,页内地址 块号,块内地址例如:设页长=块长=1024k,则语句“LOAD 1,2500”在分页管理中的寻址方法是:2500=2*1024+452,该地址应在第2页内的452处(页内地址从0开始)。,自动,对应,第 34 页,分页管理法示意图,作业号 页表长 页表起址 状态,2 3 1032 已分,1 3 1024 已分,3 2 1040 已分,4 空表目,作业表JT,作业A,作业B,
19、作业C,页号 块号,页号 块号,页号 块号,0 4,1 5,2 6,0 7,1 10,0 2,1 3,2 8,页表,每个作业一个表项,每个作业 一张表,第 35 页,分页管理动态地址变换示意图,控制寄存器,作业地址空间,作业页表,1 2 3 4,LOAD 1,2500,页表长度 页表始址,有效地址,2 452,页号 块号,0 4,1 6,2 8,8 452,物理地址=8452,页号,2500=2x1024+452,1 100 1K 2K 2500 3K,第 36 页,分页管理法特点,可以将作业分布在多个不连续的内存区域中优点:有效地解决了存储空间的“零头垃圾“问题;易于实现代码段的共享;用户可
20、以连续编址。缺点:采用硬件的动态变址机构,成本大、降低了CPU速度;各种管理表格占用了部分存储空间;块内还有“零头”(与页长有关);要求运行的作业必须全部装入主存。,第 37 页,(4)分段管理,分页管理的物理位置不要求相邻,但逻辑位置必须相邻1)基本概念什么是段?程序由模块组成,把各种独立的程序模块和数据模块单独存放,称为段。分段管理?以段为基本单位进行存储的主存管理方法。段表?为识别和管理段,在主存中建立的一张表格,记录段的:段号、长度和起始地址,称为段表。,段表格式:,第 38 页,2)分段管理原理,方法要点:每个用户程序由若干段(模块)组成,段内地址连续,段间地址可以不连续。主存管理程
21、序以段为单位为作业分配内存。通过段表管理段和作业。需要硬件支持:地址映射机构自动将作业中的逻辑地址转换为段和段内偏移量。,第 39 页,3)分段管理举例,有一个程序划分为4段,如下图所示:,0 1K,0500,0300,0 200,主程序,子程序SUB,数据块DATA,工作区WORK,CALLSUB|LOAD 1,DATA|6STORE 1,WORK|,每段有独立的逻辑地址,Y:,6,C:,0段 1段 2段 3段,第 40 页,分段管理示意图,6,0 1K,0100500,0300,0200,LOAD 1,1|100,Y:12345,C:,0段,1段,2段,3段,段号长度 起始地址,0 1K
22、6K,1 500 8K,2 300 4K,3 200 9200,分段地址空间,分段表每段一个记录,OS,0 2K 4K 6k 8k 8292 9200,2.DATA,LOAD1,1|100,0.主程序,1.SUB,3.WORK,12345,地址转换:8292=1024x8+100,主存空间,6,C:,第 41 页,分段管理特点,优点:便于模块化处理 便于动态连接 便于分段共享缺点:硬件成本高,地址转换花费CPU时间;要为表格提供主存空间;分段的最大尺寸受主存大小的限制。,段页式存储管理为了获得分段在逻辑上的优点和分页在管理存储空间方面的优点,兼用分段和分页两种方法,即段页式存储管理。其基本思想
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件技术 基础 04 资源管理 技术
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6610954.html