《《软件基础》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件基础》PPT课件.ppt(94页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、下一页软件基础软件基础The Fundamentality The Fundamentality Of SoftwareOf Software主讲:刘志强主讲:刘志强西安交通大学西安交通大学计算机教学实验中心计算机教学实验中心第第9 9单元单元存储器与设备管理存储器与设备管理 2/11/20231下一页上一页停止放映停止放映教学目标教学目标了解存储器与设备管理的了解存储器与设备管理的 概念、任务及采用的方法和技术概念、任务及采用的方法和技术 2下一页上一页停止放映停止放映 学习要求学习要求通过本单元的学习,了解、弄清、掌握:通过本单元的学习,了解、弄清、掌握:存储器与存储器与设备设备管理的概念
2、、目的、任务管理的概念、目的、任务功能、存储分配、地址重定位、虚拟存储器功能、存储分配、地址重定位、虚拟存储器存储器与设备管理的常用方法和技术存储器与设备管理的常用方法和技术单一连续区、多连续区、页式、段式等管理单一连续区、多连续区、页式、段式等管理方法方法I/O设备的分类及用途设备的分类及用途I/O设备与设备与CPU的通信方式的通信方式循环测试、中断、循环测试、中断、DMA、通道方式、通道方式设备分配、管理的常用方法和技术设备分配、管理的常用方法和技术SDT、DCT、COCT、CHCT表在设备管理机表在设备管理机制中的作用制中的作用3下一页上一页停止放映停止放映一、存储器管理一、存储器管理存
3、储器(存储器(Memory)能接收数据、保存数据、能接收数据、保存数据、而且能根据命令提供这些数据的装置。而且能根据命令提供这些数据的装置。存储管理存储管理 存储管理是针对内存的。主存是存储管理是针对内存的。主存是CPU直接存取指令和数据的设备,所以,它直接存取指令和数据的设备,所以,它是系统程序和用户程序共享的重要系统资源。是系统程序和用户程序共享的重要系统资源。如何如何 分配和管理有限的存储资源,是设计人分配和管理有限的存储资源,是设计人员甚至用户要研究、考虑的问题。员甚至用户要研究、考虑的问题。4下一页上一页停止放映停止放映存储器管理的目的存储器管理的目的尽量方便用户尽量方便用户提高主存
4、的利用率提高主存的利用率5下一页上一页停止放映停止放映存储管理的主要功能存储管理的主要功能存储分配存储分配 主存的分配和回收。为管理主存而主存的分配和回收。为管理主存而设置的相应的组织机制,记录主存的状态信息、设置的相应的组织机制,记录主存的状态信息、已分配、未分配块、分配策略等。已分配、未分配块、分配策略等。存储容量存储容量 当用户所需存储空间大于可用主存当用户所需存储空间大于可用主存容量时,系统采用存储器的多级机制、虚拟存容量时,系统采用存储器的多级机制、虚拟存储、自动覆盖等技术。储、自动覆盖等技术。地址变换地址变换 程序语言的符号地址空间到进程的程序语言的符号地址空间到进程的物理地址的转
5、换。物理地址的转换。存储保护存储保护 在多道程序系统中,系统进程和用在多道程序系统中,系统进程和用户进程间、用户和用户进程间的存储空间的保户进程间、用户和用户进程间的存储空间的保护。护。6下一页上一页停止放映停止放映存储空间的分配和释放存储空间的分配和释放在计算机中,无论是系统程序、还是用户程序,在计算机中,无论是系统程序、还是用户程序,无论是数据、还是文件,凡要处理必须装入主无论是数据、还是文件,凡要处理必须装入主存。如何管理分配存储空间?存。如何管理分配存储空间?需要考虑和解决的问题:需要考虑和解决的问题:在多层次存储结构中,如何确定存储位置?在多层次存储结构中,如何确定存储位置?系统程序
6、和用户程序如何管理?系统程序和用户程序如何管理?大于主存的程序能否运行?大于主存的程序能否运行?多道程序处理系统如何管理各个程序的存储空多道程序处理系统如何管理各个程序的存储空间?间?如何分配存储器?采用何种分配策略?如何分配存储器?采用何种分配策略?7下一页上一页停止放映停止放映多存储层次结构示意图多存储层次结构示意图 CPU寄存器寄存器高速缓冲存储器高速缓冲存储器主存储器主存储器后援存储器后援存储器磁盘磁盘外存储器外存储器用于内、外存之间交换暂存。用于内、外存之间交换暂存。内存储器内存储器存放主存中程序的副本,再调用存放主存中程序的副本,再调用该程序时,从高速缓存读取。该程序时,从高速缓存
7、读取。靠近靠近CPUCPU的存储器,存取速度快。的存储器,存取速度快。由触发器组成;存放一个由触发器组成;存放一个Byte Byte (Bit(Bit、WordWord)8下一页上一页停止放映停止放映存储分配方式存储分配方式直接分配直接分配 在源程序中直接使用主存的物理地址。在源程序中直接使用主存的物理地址。对用户要求高、使用不方便、易出错。早期计算对用户要求高、使用不方便、易出错。早期计算机系统中使用。机系统中使用。静态分配静态分配 在作业装入前,由程序一次性说明作在作业装入前,由程序一次性说明作业所包含的地址空间。确定后在整个程序执行过业所包含的地址空间。确定后在整个程序执行过程中不再改变
8、。简单、利用率低、难于实现多道程中不再改变。简单、利用率低、难于实现多道程序对资源的共享。程序对资源的共享。动态分配动态分配 在作业被装入主存或在执行过程中,在作业被装入主存或在执行过程中,才确定其存储分配。管理复杂、但利用率高,容才确定其存储分配。管理复杂、但利用率高,容易实现主存的资源共享。在现代多道程序系统中,易实现主存的资源共享。在现代多道程序系统中,主要采用动态分配方式。主要采用动态分配方式。9下一页上一页停止放映停止放映存储空间的地址变换存储空间的地址变换用户在程序中使用的是符号名,编译系统在产生的目标程用户在程序中使用的是符号名,编译系统在产生的目标程序中使用的是逻辑地址序中使用
9、的是逻辑地址(相对地址相对地址),),而可执行程序在计算机而可执行程序在计算机中运行时使用的是物理地址中运行时使用的是物理地址(绝对地址绝对地址)。由程序的符号名。由程序的符号名空间到运行时真正使用的物理地址空间转换叫空间到运行时真正使用的物理地址空间转换叫“地址转换地址转换”,”,也称为程序的重定位。也称为程序的重定位。int a;float b;char c;源程序符号空间源程序符号空间 目标程序地址空间目标程序地址空间 进程的存储空间进程的存储空间 2FF0 a a的绝对地址的绝对地址 3EC0 b b的绝对地址的绝对地址 c的绝对地址的绝对地址 4DAA0Xa a的逻辑地址的逻辑地址
10、b b的逻辑地址的逻辑地址 c c的逻辑地址的逻辑地址10下一页上一页停止放映停止放映符号名空间 int a;int a;float b;float b;char c;char c;2FF0 a的绝对地址 3EC0 b的绝对地址c的绝对地址 4DAAa的逻辑地址b的逻辑地址c的逻辑地址a的逻辑地址b的逻辑地址c的逻辑地址a的逻辑地址b的逻辑地址c的逻辑地址0500汇编或编译链接 装配地址空间存储空间图3-7 地址变换示意图11下一页上一页停止放映停止放映地址重定位地址重定位将一个作业从它的逻辑地址变换成它要装入将一个作业从它的逻辑地址变换成它要装入的、或要重定位的主存地址的过程。在多道的、或要
11、重定位的主存地址的过程。在多道程序系统中,为了方便用户的使用,对于每程序系统中,为了方便用户的使用,对于每个作业的主存空间可以看成是由地址个作业的主存空间可以看成是由地址0 0开始的开始的连续的地址空间,称之为逻辑地址空间。但连续的地址空间,称之为逻辑地址空间。但作业运行是在主存,因此,要进行地址的转作业运行是在主存,因此,要进行地址的转换;称之为换;称之为 “地址重定位地址重定位”(地址映射)(地址映射)。重定位两种方式:重定位两种方式:静态重定位和动态重定位静态重定位和动态重定位。12下一页上一页停止放映停止放映静态地址重定位静态地址重定位是指在作业执行之前进行的重定位。地址转换工作主要靠
12、重定位装入程序来完成。这种方式简单、容易实现,无需硬件的支持,是早期计算机采用的一种方式。缺点是:程序一经定位后就不能再在主存中移动;要求作业分配连续的主存空间,主存资源利用率低;难于实现主存的资源共享。13下一页上一页停止放映停止放映静态重定位示意图静态重定位示意图 作业作业A A的地址空间的地址空间主存空间主存空间 0100 300500 100200400600 INPUT 1,300 1 3 5 7 INPUT 1,400 1 3 5 7 1 3 5 7 作业的逻辑地址作业的逻辑地址100100处是一个输入语句处是一个输入语句,从逻辑地从逻辑地址址300300处处,读读1 1个记录。重
13、定位到主存空间后,因为个记录。重定位到主存空间后,因为作业从物理地址作业从物理地址100100处被装入,输入语句的地址按处被装入,输入语句的地址按序被定位在序被定位在200200处,被读记录在处,被读记录在400400处。处。14下一页上一页停止放映停止放映作业地址空间主存空间 0100 300500 100200400600 INPUT 1,300 1 3 5 7 INPUT 1,400 1 3 5 7 1 3 5 7 静态重定位15下一页上一页停止放映停止放映动态地址重定位动态地址重定位 动态地址重定位动态地址重定位 是在程序执行过程中进行的重是在程序执行过程中进行的重定位,更确切地说是在
14、每次访问内存单元前才进定位,更确切地说是在每次访问内存单元前才进行地址变换。它是通过硬件的地址变换机构实现行地址变换。它是通过硬件的地址变换机构实现的。的。设置一个重定位寄存器(设置一个重定位寄存器(RRRR),用来存放装入主,用来存放装入主存空间时的起始地址。存空间时的起始地址。作业访问主存空间的地址是由作业访问主存空间的地址是由有效地址有效地址加加重定位重定位寄存器的地址寄存器的地址来确定。来确定。主存实际地址主存实际地址=有效地址有效地址+重定位寄存器内容重定位寄存器内容16下一页上一页停止放映停止放映动态地址重定位示意图动态地址重定位示意图 3001000+0 100 300 600
15、011001300130016001600I 1,3001 3 5 7作业作业A地址空间地址空间有效地址有效地址重定位寄存器重定位寄存器主存空间主存空间I 1,3001 3 5 717下一页上一页停止放映停止放映3001000+1000110013001500Load 1,3001357作业A地址空间有效地址重定位寄存器load 1,3001357 010030050018下一页上一页停止放映停止放映动态地址重定位的特点动态地址重定位的特点目标模块装入主存时无需任何修改,因而装目标模块装入主存时无需任何修改,因而装入之后再移动也不会影响其正确运行,这对入之后再移动也不会影响其正确运行,这对存储
16、管理时解决碎块问题极为有利;存储管理时解决碎块问题极为有利;若一个模块由若干个相对独立的目标模块组若一个模块由若干个相对独立的目标模块组成,每个分别装入互不相邻的内存区域,只成,每个分别装入互不相邻的内存区域,只要各模块有自己对应的重定位寄存器。这样要各模块有自己对应的重定位寄存器。这样便于内存的充分利用和资源的共享。便于内存的充分利用和资源的共享。但是需要附加硬件的支持,增加了系统的开但是需要附加硬件的支持,增加了系统的开销。销。19下一页上一页停止放映停止放映存储空间的分区保护存储空间的分区保护l在多道程序系统的在多道程序系统的主存中,为了保护主存中,为了保护系统程序的安全,系统程序的安全
17、,系统程序和用户程系统程序和用户程序实际使用的区域序实际使用的区域是隔开的。是隔开的。l这种分割是靠硬件这种分割是靠硬件实现的。用户程序实现的。用户程序只能使用用户区域只能使用用户区域的存储空间。的存储空间。系统系统区域区域用户用户区域区域主存空间的分区主存空间的分区保护示意图保护示意图20下一页上一页停止放映停止放映系统区域用户区域硬件隔离装置21下一页上一页停止放映停止放映主存空间的扩充主存空间的扩充 在计算机中,主存总是常数,要想处理在计算机中,主存总是常数,要想处理大、多的作业,就要想办法扩充主存的大、多的作业,就要想办法扩充主存的空间。主导思想是:如何在有限的主存空间。主导思想是:如
18、何在有限的主存空间中,处理大于主存的作业。空间中,处理大于主存的作业。“自动覆盖自动覆盖”技术和技术和“虚拟存储虚拟存储”技术技术是扩充主存常用的、有效的方法。是扩充主存常用的、有效的方法。22下一页上一页停止放映停止放映自动覆盖技术自动覆盖技术这种方法的主要作法是将大的程序划分这种方法的主要作法是将大的程序划分为主存中可以容纳的独立的逻辑处理段。为主存中可以容纳的独立的逻辑处理段。每次只调入其中的一段进行处理。早期每次只调入其中的一段进行处理。早期程序设计中,经常采用类似的方法处理程序设计中,经常采用类似的方法处理大的问题。例如,求解大型线性方程组,大的问题。例如,求解大型线性方程组,就是采
19、用就是采用“分块分块”算法将大的系数矩阵算法将大的系数矩阵分为小块矩阵求解的。分为小块矩阵求解的。23下一页上一页停止放映停止放映虚拟存储器(虚拟存储器(Virtual Storage)它的基本思想是把作业的地址空间和物理地址它的基本思想是把作业的地址空间和物理地址空间视为两个不同的概念,采用内、外存结合空间视为两个不同的概念,采用内、外存结合的办法,把部分外存作为主存使用,以此为用的办法,把部分外存作为主存使用,以此为用户提供了足够大的地址空间户提供了足够大的地址空间虚存空间。用虚存空间。用户可以在这个地址空间内编程,而完全不考虑户可以在这个地址空间内编程,而完全不考虑主存的大小。主存的大小
20、。虚拟存储器技术是在硬件和软件的共同支持下虚拟存储器技术是在硬件和软件的共同支持下实现的。硬件负责虚实地址的转换;软件负责实现的。硬件负责虚实地址的转换;软件负责实存(主存)和虚存(外存)之间的信息调度实存(主存)和虚存(外存)之间的信息调度管理。管理。24下一页上一页停止放映停止放映 固定分区表 操作系统区 进程A(8KB)进程B(14KB)进程C(28KB)编号 长度 始址 状态 1 8KB 20KB 已分 2 14K 30K 已分 3 28K 50K 已分 4 76K 80K 未分主存“垃圾”20KB30KB50KB80KB25下一页上一页停止放映停止放映存储管理方法存储管理方法常用的存
21、储管理方法有:常用的存储管理方法有:单一连续区分配法单一连续区分配法多连续区分配法多连续区分配法分页管理法分页管理法分段管理法分段管理法26下一页上一页停止放映停止放映单一连续区分配法单一连续区分配法方法要点:方法要点:把主存分为两个固定的存储区域;一个固定把主存分为两个固定的存储区域;一个固定地分配给地分配给OSOS,另一个分配给用户程序。,另一个分配给用户程序。硬件支持:硬件支持:引入引入“篱笆篱笆(FenceFence)寄存器)寄存器”,将,将OSOS和用和用户的使用区域分开。户的使用区域分开。用户程序定位(地址转换)方法:用户程序定位(地址转换)方法:采用采用“静态静态”法和法和“动态
22、动态”法;前者是在程序法;前者是在程序装入前,一次性定位,之后不再改变。后者是装入前,一次性定位,之后不再改变。后者是采用硬件的定位寄存器,在程序执行过程中实采用硬件的定位寄存器,在程序执行过程中实现动态定位。现动态定位。27下一页上一页停止放映停止放映单一连续区分配法示意图单一连续区分配法示意图 已分配空间已分配空间OSOS区域区域用户用户区域区域自由空间自由空间 特点:特点:定位容易,使用简单定位容易,使用简单 但在多道程序处理但在多道程序处理 情况下,主存资源情况下,主存资源 利用率低,浪费大。利用率低,浪费大。28下一页上一页停止放映停止放映单一连续区分配法示意图单一连续区分配法示意图
23、 2000CPU+操作系统操作系统自由空间自由空间用用户户区区域域主存空间主存空间定位寄存器定位寄存器1500(逻辑地址)(逻辑地址)2000 3500(绝对地址)(绝对地址)说明:说明:绝对地址绝对地址=基地址基地址+逻辑地址逻辑地址基地址不同产生的绝对地址就不同。基地址不同产生的绝对地址就不同。29下一页上一页停止放映停止放映多连续区分配法多连续区分配法方法要点:方法要点:把主存空间划分为若干个连续的区域,建把主存空间划分为若干个连续的区域,建立空间分区表进行管理。立空间分区表进行管理。硬件支持:硬件支持:增加新的保护装置增加新的保护装置边界寄存器边界寄存器LOWLOW、UPUP,限制分块
24、的上、下边界。,限制分块的上、下边界。方法分类:方法分类:采用采用“固定分区固定分区”和和“变长分区变长分区”法。法。30下一页上一页停止放映停止放映固定分区(多连续分区)固定分区(多连续分区)在作业前,把主存划分为几个固定大在作业前,把主存划分为几个固定大小的连续区域;小的连续区域;建立一个分配表,记录每个分区的大建立一个分配表,记录每个分区的大小、区号、起始地址、及占用标志等小、区号、起始地址、及占用标志等信息。信息。在作业调度时,根据作业表来确定程在作业调度时,根据作业表来确定程序的重定位地址。序的重定位地址。31下一页上一页停止放映停止放映固定分区示意图固定分区示意图 区号区号长度长度
25、 起址起址状态状态1 8K 20K 已分已分2 14K 30K 已分已分3 28K 50K 已分已分4 76K 80K 未分未分分分 区区 表表操作系统操作系统作业作业A作业作业B作业作业C第第1分区分区第第2分区分区第第3分区分区未分区未分区20K30K50k80K主存主存“垃圾垃圾”32下一页上一页停止放映停止放映固定分区法特点固定分区法特点优点:优点:管理调度简单、分区策略适合于工作管理调度简单、分区策略适合于工作负荷比较确定的系统。负荷比较确定的系统。缺点:缺点:主存主存”零头零头”太多,浪费严重;由此太多,浪费严重;由此而产生而产生”垃圾垃圾”回收问题。回收问题。33下一页上一页停止
26、放映停止放映变长分区(多连续分区)变长分区(多连续分区)方法要点方法要点:根据需要装入作业的实际大小划分区域,且分根据需要装入作业的实际大小划分区域,且分区个数也可以调整;建立两张表:已分配分区区个数也可以调整;建立两张表:已分配分区表表P P和未分配分区表和未分配分区表F F,来管理主存空间。,来管理主存空间。特点:特点:作为优点来说,主存作为优点来说,主存“零头零头”较小(但还有);较小(但还有);作为缺点来说:作为缺点来说:选择剩下的空白区较小,无法使用;选择剩下的空白区较小,无法使用;寻找一个较大的空白区费时(从头找起);寻找一个较大的空白区费时(从头找起);归并主存归并主存“零头零头
27、”,回收时费时。,回收时费时。34下一页上一页停止放映停止放映多连续区分配法示意图多连续区分配法示意图 已已分分配配分分区区表表P P未未分分配配分分区区表表F F区号区号 长度长度 起始地址起始地址 状态状态 1 8K 20K 已分已分 2 16K 28K 已分已分 3 -空表目空表目 4 124K 108K 已分已分区号区号 长度长度 起始地址起始地址 状态状态 1 64K 44K 可用可用 2 24K 232K 可用可用 3 -空表目空表目 4 5 操作系统操作系统 作业作业1 作业作业220K28K 5 44K 可用分区可用分区11108K 操作系统操作系统 可用分区可用分区1 作业作
28、业3 可用分区可用分区2232K35下一页上一页停止放映停止放映分页管理法基本概念分页管理法基本概念页页 称划分为等长单位的作业地址空间为页。称划分为等长单位的作业地址空间为页。块块 将主存存储空间划分为等长的单位,称为块。将主存存储空间划分为等长的单位,称为块。页表页表 每个页在页表中有一个表项,记录页号与每个页在页表中有一个表项,记录页号与该页在主存中的块号的对应关系;页表实际上是该页在主存中的块号的对应关系;页表实际上是地址重定位表。地址重定位表。作业表作业表 作业与页号管理对照表,每个作业有一作业与页号管理对照表,每个作业有一个表项;表项由作业号、页表长度、页表起始地个表项;表项由作业
29、号、页表长度、页表起始地址、状态等信息组成。址、状态等信息组成。动态地址变换机制动态地址变换机制 为了实现从作业的地址空间为了实现从作业的地址空间到主存物理空间的映射而设置的一种硬件部件;到主存物理空间的映射而设置的一种硬件部件;地址结构如下:地址结构如下:P WP P 为页号为页号 W W 为页内偏移量为页内偏移量36下一页上一页停止放映停止放映分页管理法分页管理法方法要点:方法要点:将主存空间按定长划分为页、与存储空将主存空间按定长划分为页、与存储空间的存储块一一对应。通过对页表和作间的存储块一一对应。通过对页表和作业表的管理,实现对作业管理的目的。业表的管理,实现对作业管理的目的。硬件支
30、持:硬件支持:自动将地址空间划分为两部分:自动将地址空间划分为两部分:页号页号+页内偏移页内偏移37下一页上一页停止放映停止放映分页管理法算法描述分页管理法算法描述分页管理法是将作业在逻辑地址空间中划分页管理法是将作业在逻辑地址空间中划分为页,通过页表与主存空间的块一一对分为页,通过页表与主存空间的块一一对应起来。作业中的逻辑地址通过应起来。作业中的逻辑地址通过动态地址动态地址转换机制转换机制 转换为:转换为:从而实现存储空间的管理。从而实现存储空间的管理。分页管理可以处理不连续的地址空间和物理分页管理可以处理不连续的地址空间和物理空间。空间。自动自动对应对应块号,块内地址块号,块内地址页号,
31、页内地址页号,页内地址38下一页上一页停止放映停止放映分页管理法示意图分页管理法示意图 作业号作业号 页表长页表长 页表起址页表起址 状态状态 2 3 1032 已分已分 1 3 1024 已分已分 3 2 1040 已分已分 4 空表目空表目作业表作业表JTJT作业作业A A作业作业B B作业作业C C页号页号 块号块号页号页号 块号块号页号页号 块号块号0 4 1 5 2 60 71 100 2 1 3 2 8 39下一页上一页停止放映停止放映动态地址变换示意图动态地址变换示意图 控制寄存器控制寄存器 作业地址空间作业地址空间 作业页表作业页表1 2 3 4LOAD 1,2500页表长度页
32、表长度 页表始址页表始址有效地址有效地址 2 452页号 块号0 41 62 8 8 452物理地址物理地址=8644=8 1024+452页号页号2500=2x1024+4522500=2x1024+452 1 100 1K 2K 2500 3K40下一页上一页停止放映停止放映分页管理法特点分页管理法特点优点:优点:有效地解决了存储空间的有效地解决了存储空间的“零头垃圾零头垃圾“问题;问题;易于实现代码段的共享;易于实现代码段的共享;用户可以连续编址。用户可以连续编址。缺点:缺点:采用硬件的动态变址机构,采用硬件的动态变址机构,成本大、降低了成本大、降低了CPUCPU速度;速度;各种管理表格
33、占用了部分存储空间;各种管理表格占用了部分存储空间;块内还有块内还有“零头零头”;要求运行的作业必须全部装入主存。要求运行的作业必须全部装入主存。41下一页上一页停止放映停止放映分段管理的基本概念分段管理的基本概念段段 将程序划分为相互独立、具有一定逻将程序划分为相互独立、具有一定逻辑功能的模块、且分别按名单独存放,称辑功能的模块、且分别按名单独存放,称这些模块为段。这些模块为段。段表段表 为便于作业管理,系统建立的表格;为便于作业管理,系统建立的表格;每个作业一个表项。表项由段号、段长度、每个作业一个表项。表项由段号、段长度、段起始地址组成。段起始地址组成。二维地址空间二维地址空间 用两个参
34、数才能唯一确定用两个参数才能唯一确定地址的空间。地址的空间。地址映射地址映射 两个不同空间地址的一一对应的两个不同空间地址的一一对应的转换。转换。42下一页上一页停止放映停止放映分段管理分段管理方法要点:方法要点:将作业分段后,段内的逻辑地址是二维空将作业分段后,段内的逻辑地址是二维空间的地址(段,段内偏移量)。通过分段间的地址(段,段内偏移量)。通过分段表以及地址映射机构将二维地址空间的逻表以及地址映射机构将二维地址空间的逻辑地址转换为一维主存空间中的物理地址。辑地址转换为一维主存空间中的物理地址。硬件支持:硬件支持:地址映射机构:自动将作业中的逻辑地址地址映射机构:自动将作业中的逻辑地址划
35、分为划分为段段和和段内偏移量段内偏移量。43下一页上一页停止放映停止放映分段管理举例分段管理举例有一个程序划分为有一个程序划分为4 4段,如下图所示:段,如下图所示:0 1K 0500 0300 0 200主程序主程序子程序子程序SUBSUB数据块数据块DATADATA工作区工作区WORKWORKCALLSUB|LOAD 1,DATA|6STORE 1,WORK|CALLSUB|转到子程序转到子程序SUB中的入口处中的入口处“Y”;LOAD 1,DATA|6 将数据区将数据区DATA的第的第6单元的值读入寄存器单元的值读入寄存器1;STORE 1,WORK|将寄存器将寄存器1的内容存入的内容存
36、入WORK中中C单元。单元。Y:6C:44下一页上一页停止放映停止放映分段管理示意图分段管理示意图6 0 1K 0100500 0300 0200LOAD 1,1|100 Y:12345C:0 0段段1段段2段段3段段段号长度段号长度 起始地址起始地址 0 1K 6K 1 500 8K 2 300 4K 3 200 9200分段地址空间分段地址空间分段表分段表OS 0 2K 4K 6k 8k 8292 9200DATADATALOAD1,1|100主程序主程序SUBSUBWORKWORK123458292=1024x8+100主存空间主存空间45下一页上一页停止放映停止放映分段管理特点分段管理
37、特点优点:优点:便于模块化处理便于模块化处理 便于动态连接便于动态连接 便于分段共享便于分段共享缺点:缺点:硬件成本高,地址转换花费硬件成本高,地址转换花费CPUCPU时间;时间;要为表格提供主存空间;要为表格提供主存空间;分段的最大尺寸受主存大小的限制。分段的最大尺寸受主存大小的限制。46下一页上一页停止放映停止放映分配算法简介分配算法简介首次适应算法首次适应算法 从第从第1 1个空白区开始查寻,个空白区开始查寻,直到找到第直到找到第1 1个适应要求的空白区为止。个适应要求的空白区为止。最佳适应算法最佳适应算法 空白区按大小递增顺序空白区按大小递增顺序链接,指针总是指向最小的一个;因此总是链
38、接,指针总是指向最小的一个;因此总是从最小的一个开始。这样,第从最小的一个开始。这样,第1 1次找到的满次找到的满足要求的空白区必然是最合适的。足要求的空白区必然是最合适的。47下一页上一页停止放映停止放映段页式存储管理段页式存储管理为了获得分段在逻辑上的优点和分页在管理为了获得分段在逻辑上的优点和分页在管理存储空间方面的优点,兼用分段和分页两种存储空间方面的优点,兼用分段和分页两种方法,即方法,即“段页式存储段页式存储”管理。这种技术的管理。这种技术的基本思想是:用分段的方法来分配和管理虚基本思想是:用分段的方法来分配和管理虚拟存储器,而用分页方法来分配和管理实存拟存储器,而用分页方法来分配
39、和管理实存储器(主存)。储器(主存)。这样一来,新的地址空间结构就变成由三个这样一来,新的地址空间结构就变成由三个部分组成:部分组成:段号段号 页号页号 页内位移量页内位移量S P W48下一页上一页停止放映停止放映段页式存储管理示意图段页式存储管理示意图段表长度段表长度 段表始址段表始址控制寄存器控制寄存器段号段号 状态状态 页表长度页表长度 页表始址页表始址0123 1 0 0 1L0L4页号页号 状态状态 存储块号存储块号页号页号 状态状态 存储块号存储块号0122 1 1 1 1 1 10123 1OS 49下一页上一页停止放映停止放映段页式存储管理说明段页式存储管理说明必须指出的是:
40、程序的分段,可由程序员根必须指出的是:程序的分段,可由程序员根据信息的逻辑结构来划分;而分页和程序员据信息的逻辑结构来划分;而分页和程序员无关,是系统自动进行的。也即程序员使用无关,是系统自动进行的。也即程序员使用的编址方式给出的目标程序的地址形式仍然的编址方式给出的目标程序的地址形式仍然是二维的,即段号加段内相对地址。是二维的,即段号加段内相对地址。而只是由地址变换机构把段内相对地址的高而只是由地址变换机构把段内相对地址的高位解释为页号,低位解释为页内相对地址。位解释为页号,低位解释为页内相对地址。50下一页上一页停止放映停止放映DOS的主存管理的主存管理采用单一连续分区的方法,但采用单一连
41、续分区的方法,但却综合运用了多连续分区的管却综合运用了多连续分区的管理技术。理技术。51下一页上一页停止放映停止放映UNIX的主存管理的主存管理 采用分段管理方法,存储分配采采用分段管理方法,存储分配采用优先适应算法。用优先适应算法。52下一页上一页停止放映停止放映Windows98存储器管理存储器管理Windows98 OSWindows98 OS不仅支持常规内存、扩展内存和扩不仅支持常规内存、扩展内存和扩充内存管理,还支持虚拟内存管理(充内存管理,还支持虚拟内存管理(VMVM)。)。VMVM是是Win98Win98内存管理的核心,它是通过硬盘来完内存管理的核心,它是通过硬盘来完成与物理内存
42、相关的功能;成与物理内存相关的功能;它能够寻址它能够寻址4GB4GB空间,包括硬盘空间;空间,包括硬盘空间;通过两个内存进程向应用程序提供大的虚拟内存通过两个内存进程向应用程序提供大的虚拟内存空间;一个是换页进程,负责物理内存和硬盘之空间;一个是换页进程,负责物理内存和硬盘之间移动数据;另一个是地址转换进程,负责将物间移动数据;另一个是地址转换进程,负责将物理内存地址翻译成虚拟内存地址或映射文件;理内存地址翻译成虚拟内存地址或映射文件;当一个进程所需要的存储空间超过了剩下可用的当一个进程所需要的存储空间超过了剩下可用的RAMRAM时,虚拟内存管理器便开始使用换页技术,时,虚拟内存管理器便开始使
43、用换页技术,在物理内存和硬盘之间交换数据。在物理内存和硬盘之间交换数据。53下一页上一页停止放映停止放映二、设备管理二、设备管理计算机系统中的设备通常指计算机系统中的设备通常指I/OI/O(输入(输入/输出)输出)设备。由于计算机技术的飞速发展,设备。由于计算机技术的飞速发展,I/OI/O设备设备的种类越来越多,设备管理和分配也越来越的种类越来越多,设备管理和分配也越来越复杂。与设备管理有关的概念有:复杂。与设备管理有关的概念有:I/O I/O设备分类设备分类 I/O I/O设备与设备与CPUCPU的通信方式的通信方式 设备管理中使用的数据结构设备管理中使用的数据结构 I/O I/O设备分配的
44、策略设备分配的策略54下一页上一页停止放映停止放映1、I/O设备分类设备分类 从不同角度、按不同的方式,可对从不同角度、按不同的方式,可对I/OI/O设备进设备进行分类。行分类。(1 1)按设备使用方式分)按设备使用方式分输入设备输入设备 将信息由外部设备送入主机的设备。将信息由外部设备送入主机的设备。输出设备输出设备 将信息由主机送到外部设备的设备。将信息由主机送到外部设备的设备。(2 2)按设备的从属关系分)按设备的从属关系分系统设备系统设备 由由OSOS管理的标准设备;如显示器、管理的标准设备;如显示器、打印机、磁盘等。打印机、磁盘等。用户设备用户设备 用户按特殊需要选装的、非标准设用户
45、按特殊需要选装的、非标准设备;如传真机、绘图仪等。备;如传真机、绘图仪等。55下一页上一页停止放映停止放映I/O设备分类(续)设备分类(续)(3 3)按设备资源分配方式分)按设备资源分配方式分独享设备独享设备 为保证信息传送的连贯性,通常是为保证信息传送的连贯性,通常是在该设备用完之后才分配给下一个作业。一般在该设备用完之后才分配给下一个作业。一般是低速设备,像打印机、磁带机等。是低速设备,像打印机、磁带机等。共享设备共享设备 多用户可以同时使用的设备,如磁多用户可以同时使用的设备,如磁盘、服务器等。盘、服务器等。(4 4)按数据组织和存取方式分)按数据组织和存取方式分字符设备字符设备 以字符
46、为单位存取数据的设备,如以字符为单位存取数据的设备,如键盘、鼠标、打印机等。键盘、鼠标、打印机等。块设备块设备 以数据块为单位存取数据的设备,如以数据块为单位存取数据的设备,如磁盘、光盘等。磁盘、光盘等。56下一页上一页停止放映停止放映I/O设备分类(续)设备分类(续)(5 5)按通讯方式分)按通讯方式分串行设备串行设备 指每次按一位传送的设备,如键指每次按一位传送的设备,如键盘、串行打印机等。盘、串行打印机等。并行设备并行设备 指每次按多位传送的设备,如并指每次按多位传送的设备,如并行打印机。行打印机。(6 6)按处理速度分)按处理速度分低速设备低速设备 指传输速率较低的串行设备,如指传输速
47、率较低的串行设备,如键盘等。键盘等。高速设备高速设备 指传输速率较高的设备,如网络指传输速率较高的设备,如网络设备等。设备等。57下一页上一页停止放映停止放映设备管理的目的设备管理的目的方便性方便性 方便用户使用和操作。方便用户使用和操作。并行性并行性 要求要求I/OI/O设备与设备与CPUCPU之间、设备与通道之之间、设备与通道之间、通道于通道之间能并行处理,以提高系统的间、通道于通道之间能并行处理,以提高系统的处理效率。处理效率。均衡性均衡性 使使I/OI/O设备的使用保持平衡,这样才能设备的使用保持平衡,这样才能最大限度的发挥设备的潜力和功效。解决设备均最大限度的发挥设备的潜力和功效。解
48、决设备均衡性的最好方法是利用衡性的最好方法是利用SPOOLingSPOOLing技术和缓冲技术;技术和缓冲技术;例如将共享磁盘作为虚拟设备。例如将共享磁盘作为虚拟设备。与设备无关性与设备无关性 用户使用的设备与实际使用的设用户使用的设备与实际使用的设备无关。即用户在程序中使用的是逻辑设备名,备无关。即用户在程序中使用的是逻辑设备名,即使在设备不开机或设备故障时,程序也能正常即使在设备不开机或设备故障时,程序也能正常使用。而要使用物理设备时,再通过命令等方式使用。而要使用物理设备时,再通过命令等方式完成逻辑设备到物理设备的转换。完成逻辑设备到物理设备的转换。58下一页上一页停止放映停止放映SPO
49、OLing技术技术(Simultaneous Peripheral Operation On Line)为解决高速为解决高速CPUCPU和低速和低速I/OI/O设备的矛盾,而采用设备的矛盾,而采用的一种技术。(直译为:联机同步外设操作)的一种技术。(直译为:联机同步外设操作)输出数据送到输出机输出数据送到输出机早期采用脱机处理技术早期采用脱机处理技术 如今采用假脱机处理技术如今采用假脱机处理技术主机主机小型机小型机输入机输入机输出机输出机输入数据来自输入机输入数据来自输入机输出机输出机磁盘磁盘CPU输入机输入机输输入入流流输输出出流流通道通道通道通道59下一页上一页停止放映停止放映设备管理的任
50、务设备管理的任务 1 1)外部设备中断处理)外部设备中断处理 2 2)外部设备接口程序设计和设备驱动)外部设备接口程序设计和设备驱动 3 3)外部设备的分配与释放)外部设备的分配与释放 4 4)虚拟设备的实现和管理)虚拟设备的实现和管理60下一页上一页停止放映停止放映设备管理程序的任务设备管理程序的任务设备管理是由设备管理程序实现的,其任设备管理是由设备管理程序实现的,其任务:务:(1 1)按照用户需要控制)按照用户需要控制I/OI/O设备工作,完设备工作,完成用户所希望的成用户所希望的I/OI/O操作。操作。(2 2)按照分配策略将)按照分配策略将I/OI/O设备分配给对该设备分配给对该设备