《软件基础》PPT课件.ppt
《《软件基础》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件基础》PPT课件.ppt(94页珍藏版)》请在三一办公上搜索。
1、软件基础The Fundamentality Of Software主讲:刘志强西安交通大学计算机教学实验中心,第9单元存储器与设备管理,第 2 页,教学目标,了解存储器与设备管理的 概念、任务及采用的方法和技术,第 3 页,学习要求,通过本单元的学习,了解、弄清、掌握:存储器与设备管理的概念、目的、任务功能、存储分配、地址重定位、虚拟存储器存储器与设备管理的常用方法和技术单一连续区、多连续区、页式、段式等管理方法I/O设备的分类及用途I/O设备与CPU的通信方式循环测试、中断、DMA、通道方式设备分配、管理的常用方法和技术SDT、DCT、COCT、CHCT表在设备管理机制中的作用,第 4 页
2、,一、存储器管理,存储器(Memory)能接收数据、保存数据、而且能根据命令提供这些数据的装置。存储管理 存储管理是针对内存的。主存是CPU直接存取指令和数据的设备,所以,它是系统程序和用户程序共享的重要系统资源。如何 分配和管理有限的存储资源,是设计人员甚至用户要研究、考虑的问题。,第 5 页,存储器管理的目的,尽量方便用户提高主存的利用率,第 6 页,存储管理的主要功能,存储分配 主存的分配和回收。为管理主存而设置的相应的组织机制,记录主存的状态信息、已分配、未分配块、分配策略等。存储容量 当用户所需存储空间大于可用主存容量时,系统采用存储器的多级机制、虚拟存储、自动覆盖等技术。地址变换
3、程序语言的符号地址空间到进程的物理地址的转换。存储保护 在多道程序系统中,系统进程和用户进程间、用户和用户进程间的存储空间的保护。,第 7 页,存储空间的分配和释放,在计算机中,无论是系统程序、还是用户程序,无论是数据、还是文件,凡要处理必须装入主存。如何管理分配存储空间?需要考虑和解决的问题:在多层次存储结构中,如何确定存储位置?系统程序和用户程序如何管理?大于主存的程序能否运行?多道程序处理系统如何管理各个程序的存储空间?如何分配存储器?采用何种分配策略?,第 8 页,多存储层次结构示意图,CPU,寄存器,高速缓冲存储器,主存储器,后援存储器,磁盘,外存储器,用于内、外存之间交换暂存。,内
4、存储器,存放主存中程序的副本,再调用该程序时,从高速缓存读取。,靠近CPU的存储器,存取速度快。由触发器组成;存放一个Byte(Bit、Word),第 9 页,存储分配方式,直接分配 在源程序中直接使用主存的物理地址。对用户要求高、使用不方便、易出错。早期计算机系统中使用。静态分配 在作业装入前,由程序一次性说明作业所包含的地址空间。确定后在整个程序执行过程中不再改变。简单、利用率低、难于实现多道程序对资源的共享。动态分配 在作业被装入主存或在执行过程中,才确定其存储分配。管理复杂、但利用率高,容易实现主存的资源共享。在现代多道程序系统中,主要采用动态分配方式。,第 10 页,存储空间的地址变
5、换,用户在程序中使用的是符号名,编译系统在产生的目标程序中使用的是逻辑地址(相对地址),而可执行程序在计算机中运行时使用的是物理地址(绝对地址)。由程序的符号名空间到运行时真正使用的物理地址空间转换叫“地址转换”,也称为程序的重定位。,int a;float b;char c;,源程序符号空间 目标程序地址空间 进程的存储空间,2FF0,a的绝对地址,3EC0,b的绝对地址,c的绝对地址,4DAA,0X,a的逻辑地址,b的逻辑地址,c的逻辑地址,第 11 页,图3-7 地址变换示意图,第 12 页,地址重定位,将一个作业从它的逻辑地址变换成它要装入的、或要重定位的主存地址的过程。在多道程序系统
6、中,为了方便用户的使用,对于每个作业的主存空间可以看成是由地址0开始的连续的地址空间,称之为逻辑地址空间。但作业运行是在主存,因此,要进行地址的转换;称之为“地址重定位”(地址映射)。重定位两种方式:静态重定位和动态重定位。,第 13 页,静态地址重定位,是指在作业执行之前进行的重定位。地址转换工作主要靠重定位装入程序来完成。这种方式简单、容易实现,无需硬件的支持,是早期计算机采用的一种方式。缺点是:程序一经定位后就不能再在主存中移动;要求作业分配连续的主存空间,主存资源利用率低;难于实现主存的资源共享。,第 14 页,静态重定位示意图,作业A的地址空间,主存空间,0100 300500,10
7、0200400600,INPUT 1,300,1 3 5 7,INPUT 1,400,1 3 5 7,1 3 5 7,作业的逻辑地址100处是一个输入语句,从逻辑地址300处,读1个记录。重定位到主存空间后,因为作业从物理地址100处被装入,输入语句的地址按序被定位在200处,被读记录在400处。,第 15 页,第 16 页,动态地址重定位,动态地址重定位 是在程序执行过程中进行的重定位,更确切地说是在每次访问内存单元前才进行地址变换。它是通过硬件的地址变换机构实现的。设置一个重定位寄存器(RR),用来存放装入主存空间时的起始地址。作业访问主存空间的地址是由有效地址加重定位寄存器的地址来确定。
8、主存实际地址=有效地址+重定位寄存器内容,第 17 页,动态地址重定位示意图,300,1000,+,0 100 300 600,0110013001600,I 1,3001 3 5 7,作业A地址空间,有效地址,重定位寄存器,主存空间,I 1,3001 3 5 7,第 18 页,第 19 页,动态地址重定位的特点,目标模块装入主存时无需任何修改,因而装入之后再移动也不会影响其正确运行,这对存储管理时解决碎块问题极为有利;若一个模块由若干个相对独立的目标模块组成,每个分别装入互不相邻的内存区域,只要各模块有自己对应的重定位寄存器。这样便于内存的充分利用和资源的共享。但是需要附加硬件的支持,增加了
9、系统的开销。,第 20 页,存储空间的分区保护,在多道程序系统的主存中,为了保护系统程序的安全,系统程序和用户程序实际使用的区域是隔开的。这种分割是靠硬件实现的。用户程序只能使用用户区域的存储空间。,系统区域,用户区域,主存空间的分区保护示意图,第 21 页,第 22 页,主存空间的扩充,在计算机中,主存总是常数,要想处理大、多的作业,就要想办法扩充主存的空间。主导思想是:如何在有限的主存空间中,处理大于主存的作业。“自动覆盖”技术和“虚拟存储”技术是扩充主存常用的、有效的方法。,第 23 页,自动覆盖技术,这种方法的主要作法是将大的程序划分为主存中可以容纳的独立的逻辑处理段。每次只调入其中的
10、一段进行处理。早期程序设计中,经常采用类似的方法处理大的问题。例如,求解大型线性方程组,就是采用“分块”算法将大的系数矩阵分为小块矩阵求解的。,第 24 页,虚拟存储器(Virtual Storage),它的基本思想是把作业的地址空间和物理地址空间视为两个不同的概念,采用内、外存结合的办法,把部分外存作为主存使用,以此为用户提供了足够大的地址空间虚存空间。用户可以在这个地址空间内编程,而完全不考虑主存的大小。虚拟存储器技术是在硬件和软件的共同支持下实现的。硬件负责虚实地址的转换;软件负责实存(主存)和虚存(外存)之间的信息调度管理。,第 25 页,第 26 页,存储管理方法,常用的存储管理方法
11、有:单一连续区分配法多连续区分配法分页管理法分段管理法,第 27 页,单一连续区分配法,方法要点:把主存分为两个固定的存储区域;一个固定地分配给OS,另一个分配给用户程序。硬件支持:引入“篱笆(Fence)寄存器”,将OS和用户的使用区域分开。用户程序定位(地址转换)方法:采用“静态”法和“动态”法;前者是在程序装入前,一次性定位,之后不再改变。后者是采用硬件的定位寄存器,在程序执行过程中实现动态定位。,第 28 页,单一连续区分配法示意图,已分配空间,OS区域,用户区域,自由空间,特点:定位容易,使用简单 但在多道程序处理 情况下,主存资源 利用率低,浪费大。,第 29 页,单一连续区分配法
12、示意图,2000,CPU,+,操作系统,自由空间,用户区域,主存空间,定位寄存器,1500(逻辑地址),2000,3500(绝对地址),说明:绝对地址=基地址+逻辑地址基地址不同产生的绝对地址就不同。,第 30 页,多连续区分配法,方法要点:把主存空间划分为若干个连续的区域,建立空间分区表进行管理。硬件支持:增加新的保护装置边界寄存器LOW、UP,限制分块的上、下边界。方法分类:采用“固定分区”和“变长分区”法。,第 31 页,固定分区(多连续分区),在作业前,把主存划分为几个固定大小的连续区域;建立一个分配表,记录每个分区的大小、区号、起始地址、及占用标志等信息。在作业调度时,根据作业表来确
13、定程序的重定位地址。,第 32 页,固定分区示意图,区号,长度,起址,状态,1 8K 20K 已分2 14K 30K 已分,3 28K 50K 已分4 76K 80K 未分,分 区 表,操作系统,作业A,作业B,作业C,第1分区,第2分区,第3分区,未分区,20K30K50k80K,主存“垃圾”,第 33 页,固定分区法特点,优点:管理调度简单、分区策略适合于工作负荷比较确定的系统。缺点:主存”零头”太多,浪费严重;由此而产生”垃圾”回收问题。,第 34 页,变长分区(多连续分区),方法要点:根据需要装入作业的实际大小划分区域,且分区个数也可以调整;建立两张表:已分配分区表P和未分配分区表F,
14、来管理主存空间。特点:作为优点来说,主存“零头”较小(但还有);作为缺点来说:选择剩下的空白区较小,无法使用;寻找一个较大的空白区费时(从头找起);归并主存“零头”,回收时费时。,第 35 页,多连续区分配法示意图,已分配分区表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,可用分区1,108K,操作系统,可用分区1,作业3,可用分区2,232K,第
15、 36 页,分页管理法基本概念,页 称划分为等长单位的作业地址空间为页。块 将主存存储空间划分为等长的单位,称为块。页表 每个页在页表中有一个表项,记录页号与该页在主存中的块号的对应关系;页表实际上是地址重定位表。作业表 作业与页号管理对照表,每个作业有一个表项;表项由作业号、页表长度、页表起始地址、状态等信息组成。动态地址变换机制 为了实现从作业的地址空间到主存物理空间的映射而设置的一种硬件部件;地址结构如下:,P W,P 为页号 W 为页内偏移量,第 37 页,分页管理法,方法要点:将主存空间按定长划分为页、与存储空间的存储块一一对应。通过对页表和作业表的管理,实现对作业管理的目的。硬件支
16、持:自动将地址空间划分为两部分:页号+页内偏移,第 38 页,分页管理法算法描述,分页管理法是将作业在逻辑地址空间中划分为页,通过页表与主存空间的块一一对应起来。作业中的逻辑地址通过动态地址转换机制 转换为:,从而实现存储空间的管理。分页管理可以处理不连续的地址空间和物理空间。,第 39 页,分页管理法示意图,作业号 页表长 页表起址 状态,2 3 1032 已分,1 3 1024 已分,3 2 1040 已分,4 空表目,作业表JT,作业A,作业B,作业C,页号 块号,页号 块号,页号 块号,0 4,1 5,2 6,0 7,1 10,0 2,1 3,2 8,第 40 页,动态地址变换示意图,
17、控制寄存器,作业地址空间,作业页表,1 2 3 4,LOAD 1,2500,页表长度 页表始址,有效地址,2 452,页号 块号,0 4,1 6,2 8,8 452,物理地址=8644=8 1024+452,页号,2500=2x1024+452,1 100 1K 2K 2500 3K,第 41 页,分页管理法特点,优点:有效地解决了存储空间的“零头垃圾“问题;易于实现代码段的共享;用户可以连续编址。缺点:采用硬件的动态变址机构,成本大、降低了CPU速度;各种管理表格占用了部分存储空间;块内还有“零头”;要求运行的作业必须全部装入主存。,第 42 页,分段管理的基本概念,段 将程序划分为相互独立
18、、具有一定逻辑功能的模块、且分别按名单独存放,称这些模块为段。段表 为便于作业管理,系统建立的表格;每个作业一个表项。表项由段号、段长度、段起始地址组成。二维地址空间 用两个参数才能唯一确定地址的空间。地址映射 两个不同空间地址的一一对应的转换。,第 43 页,分段管理,方法要点:将作业分段后,段内的逻辑地址是二维空间的地址(段,段内偏移量)。通过分段表以及地址映射机构将二维地址空间的逻辑地址转换为一维主存空间中的物理地址。硬件支持:地址映射机构:自动将作业中的逻辑地址划分为段和段内偏移量。,第 44 页,分段管理举例,有一个程序划分为4段,如下图所示:,0 1K,0500,0300,0 20
19、0,主程序,子程序SUB,数据块DATA,工作区WORK,CALLSUB|LOAD 1,DATA|6STORE 1,WORK|,CALLSUB|转到子程序SUB中的入口处“Y”;LOAD 1,DATA|6 将数据区DATA的第6单元的值读入寄存器1;STORE 1,WORK|将寄存器1的内容存入WORK中C单元。,Y:,6,C:,第 45 页,分段管理示意图,6,0 1K,0100500,0300,0200,LOAD 1,1|100,Y:12345,C:,0段,1段,2段,3段,段号长度 起始地址,0 1K 6K,1 500 8K,2 300 4K,3 200 9200,分段地址空间,分段表,
20、OS,0 2K 4K 6k 8k 8292 9200,DATA,LOAD1,1|100,主程序,SUB,WORK,12345,8292=1024x8+100,主存空间,第 46 页,分段管理特点,优点:便于模块化处理 便于动态连接 便于分段共享缺点:硬件成本高,地址转换花费CPU时间;要为表格提供主存空间;分段的最大尺寸受主存大小的限制。,第 47 页,分配算法简介,首次适应算法 从第1个空白区开始查寻,直到找到第1个适应要求的空白区为止。最佳适应算法 空白区按大小递增顺序链接,指针总是指向最小的一个;因此总是从最小的一个开始。这样,第1次找到的满足要求的空白区必然是最合适的。,第 48 页,
21、段页式存储管理,为了获得分段在逻辑上的优点和分页在管理存储空间方面的优点,兼用分段和分页两种方法,即“段页式存储”管理。这种技术的基本思想是:用分段的方法来分配和管理虚拟存储器,而用分页方法来分配和管理实存储器(主存)。这样一来,新的地址空间结构就变成由三个部分组成:,段号 页号 页内位移量,S P W,第 49 页,段页式存储管理示意图,段表长度 段表始址,控制寄存器,段号 状态 页表长度 页表始址,0123,1 0,0 1,L0,L4,页号 状态 存储块号,页号 状态 存储块号,012,2,1,1,1,1,1,1,01,2,3,1,OS,第 50 页,段页式存储管理说明,必须指出的是:程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件基础 软件 基础 PPT 课件

链接地址:https://www.31ppt.com/p-4860096.html