《计算机操作系统原理-Linux实例分析》课件第6章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《计算机操作系统原理-Linux实例分析》课件第6章.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机操作系统原理Linux实例分析 计算机 操作系统 原理 Linux 实例 分析 课件
- 资源描述:
-
1、第章 设 备 管 理第6章 设 备 管 理6.1 设备及设备管理的功能设备及设备管理的功能6.2 I/O控制方式控制方式6.3 缓冲技术缓冲技术 6.4 中断技术中断技术 6.5 设备分配设备分配6.6 I/O软件软件6.7 设备驱动程序设备驱动程序6.8 磁盘存储管理磁盘存储管理6.9 Linux设备管理设备管理 习题六习题六第章 设 备 管 理6.1 设备与设备管理的功能设备与设备管理的功能在计算机系统中,除了CPU和内存之外,其他的大部分硬设备称为外部设备。它包括常用的输入/输出设备、外存设备以及终端设备等。这些设备种类繁多,特性各异,操作方式的区别也很大,从而使得操作系统的设备管理变得
2、十分复杂。本节首先根据设备的用途将各种设备进行简单的分类,然后再介绍设备管理子系统的设计目标及功能。第章 设 备 管 理6.1.1 设备的分类设备的分类可以从不同的角度对设备进行分类。(1)按系统和用户,设备分为系统设备、用户设备。(2)按输入/输出传送方式,设备分为字符型设备、块设备。(3)按资源特点,设备分为独享设备、共享设备、虚拟设备。(4)按设备硬件物理特性,设备分为顺序存取设备、直接存取设备。(5)按设备使用,设备分为物理设备、逻辑设备、伪设备。第章 设 备 管 理在此,根据设备的用途可以将其分成存储设备与输入/输出设备两大类。1存储设备存储设备存储设备即计算机的外存或辅助存储器,它
3、的主要用途是存储大量的信息,尽管它们的存储速度比内存低,但比内存的容量大得多。例如:磁鼓、磁带、磁盘、光盘等。这类设备中的数据是以物理块为单位组织与管理的(即存取信息的单位为字符块),故这类设备被称为块设备。第章 设 备 管 理2输入输入/输出设备输出设备这类设备是主机从外界接收信息或向外界发送信息的媒介。输入设备是计算机用来从外界接收信息的设备,例如:卡片机、键盘、鼠标等。输出设备是计算机将处理后的信息发向外界的设备,例如:显示器、打印机、绘图仪等。这种设备以每次一个字符的方式传送数据,故称为字符设备。第章 设 备 管 理6.1.2 设备管理的设计目标设备管理的设计目标由于设备的种类繁多,而
4、且其物理特性和使用方式各不相同,因此设备管理程序在整个操作系统中所占比重很大,其设计性能的优劣直接影响到系统的整体性能。设备管理要达到以下主要目标。1向用户提供方便的统一接口向用户提供方便的统一接口使用户摆脱具体设备的物理特性,按照统一的规则使用设备。另外,程序的运行不应依赖于特定设备的完好或空闲与否,要由系统合理地进行分配,不论实际使用哪一台同类设备,程序都应正确执行。还要保证用户程序可在不同设备类型的计算机系统中运行,不因设备型号的变化而影响程序的工作。第章 设 备 管 理在已经实现设备独立性的系统中,用户编写程序时一般不再使用物理设备,而使用虚拟设备,由操作系统实现虚、实对应。如在Lin
5、ux系统中,外部设备作为特别文件,与其他普通文件一样由文件系统统一管理,从而在用户面前对各种外设的使用就如同对普通文件那样,用户具体使用的物理设备由系统统一管理。第章 设 备 管 理2提高各种设备的使用效率提高各种设备的使用效率为了提高外设的使用效率,除合理地分配各种外部设备外,还要尽量提高设备与设备、CPU与外设、进程与进程之间的并行操作度,以使操作系统获取最佳效率。3各种外设尽可能采用统一的管理方法各种外设尽可能采用统一的管理方法各种外设采用统一的管理方法,可使设备管理系统简练、可靠且易于维护。第章 设 备 管 理6.1.3 设备管理的功能设备管理的功能1记录设备的管理信息记录设备的管理信
6、息一个计算机系统中存在着许多设备以及控制器、通道,在系统运行期间,它们完成各自的工作,并处于各种不同的状态。假如系统配有多台打印机,必须清楚地知道哪些打印机正在使用,哪些打印机空闲。当有打印请求时,就能合理地将空闲的打印机分配出去。所以,设备管理的功能之一就是记住所有设备、控制器和通道的状态,以便有效地管理、调度和使用它们。通常是通过数据结构设备控制块(DCB)来记载有关设备管理的信息。第章 设 备 管 理2进行设备分配进行设备分配在多道程序系统中,一般的情况下,请求使用某种设备的进程数大于设备数。这时就要根据一定的策略或算法合理地把设备分配给请求进程。待进程使用完设备后,实施设备的回收,以便
7、分配给其他进程使用。若进程未能得到所需设备,就进入相应设备的等待队列排队。完成这部分功能的程序称为设备分配程序。第章 设 备 管 理3完成完成I/O操作操作通常完成这一部分功能的程序叫做设备驱动程序。设备驱动程序的任务是控制设备的硬件完成指定I/O操作以及I/O操作结束后的中断处理。在设置有通道的系统中,应根据用户提出的I/O要求,构成相应的通道程序。通道程序由通道指令构成,它们实现简单的I/O控制和操作,通道程序由通道执行。总之,系统按照用户的要求调用具体的设备驱动程序,启动相应的设备,进行I/O操作,并处理来自设备的中断。操作系统中每类设备都有自己的设备驱动程序。第章 设 备 管 理4输入
8、输入/输出缓存的管理输出缓存的管理为了缓解设备与处理机在运行速度上不匹配的问题,提高它们之间的并行工作能力,需要使用缓冲技术,在设备与处理机之间建立输入/输出缓冲区。设备管理负责对缓冲的分配与回收。第章 设 备 管 理6.2 I/O控制方式控制方式使用设备完成输入/输出(I/O)的过程,就是主机与外部设备之间数据传送的过程。设备管理的主要任务之一是控制设备与内存或CPU之间的数据传送。本节介绍几种常用的数据传送控制方式。第章 设 备 管 理6.2.1 查询等待方式查询等待方式查询等待方式又称循环测试方式、查询方式。它是早期计算机和现代简单计算机中采用的方式。在这种方式中,设备中设置有一个状态触
9、发器(busy),由设备本身改变其值,用于表示设备的忙闲状态。若设备正在进行数据的处理,I/O操作尚未结束,则把触发器置1,表示设备忙,这时不能进行数据传送的操作。反之,若busy为0,则表示目前该设备可以进行数据传送的操作。在系统中设置一条查询指令,程序使用这条指令反复查询busy的值来测试设备的忙闲状态,当设备闲时,则启动它进行一次I/O操作。第章 设 备 管 理而设备忙(busy=1)时,则不断地循环测试,直至测试到busy为0时,才结束循环测试执行I/O操作。在这种方式下,在等待设备成为允许进行数据传送状态的过程中,CPU仍要执行指令,这种等待方式通常称为忙式等待。由于CPU在输入/输
10、出的循环测试上要花费大量时间,因此查询等待方式下处理机的利用率很低。第章 设 备 管 理6.2.2 中断方式中断方式随着中断技术的出现,在对设备进行I/O控制时采用了中断方式。在中断方式中,CPU在启动设备进行I/O操作后,并不需要检测设备的工作状态。在设备进行I/O操作的过程中,CPU继续运行有关程序。当设备完成一次I/O操作后,向CPU发出中断请求,CPU接受设备的中断请求后,停止当前正在运行的程序,转而执行对该设备进行控制的中断处理程序,然后再次进行I/O操作。图6.1给出了中断方式I/O控制的示意图。第章 设 备 管 理图6.1 中断方式I/O控制第章 设 备 管 理从图中可以看到,采
11、用中断方式使CPU和设备可以并行工作。由于许多设备的动作中有机械动作,例如,打印机中打印头和打印纸的移动,磁盘中磁头的移动和磁片的旋转等,这些机械动作的速度是相当慢的,一般处在ms数量级。与此相对,CPU执行指令的速度相当高,在ms或ns数量级。也就是说,在设备完成一次I/O操作动作的时间内,CPU可以执行上千条指令。因此,采用中断方式控制设备,可以有效地提高CPU的利用率。第章 设 备 管 理多道程序系统中采用中断方式后,CPU和设备的并行工作方式为进程的并发运行提供了条件。在I/O设备中断方式下,中央处理器与I/O设备之间数据的传输步骤如下:(1)每个进程需要传送数据时,发出指令启动输入/
12、输出设备准备数据。(2)发出指令启动设备之后,该进程放弃处理器,等待相关I/O操作完成。此时,进程调度程序会调度其他就绪进程使用处理器。第章 设 备 管 理(3)当I/O操作完成时,输入/输出设备控制器通过中断请求向处理器发出中断信号,处理器收到中断信号之后,转向预先设计好的中断处理程序,对数据传送工作进行相应的处理,然后设备再进行下一次I/O操作。(4)系统将唤醒阻塞的进程转入就绪状态。在随后的某个时刻,进程调度程序会选中该进程继续工作。第章 设 备 管 理中断方式的优点是,I/O设备中断方式使处理器的利用率提高,且能支持多道程序和I/O设备的并行操作。不过,中断方式仍然存在一些问题。首先,
13、现代计算机系统通常配置有各种各样的输入/输出设备。如果这些I/O设备都通过中断处理方式进行并行操作,那么中断次数的急剧增加会造成CPU无法响应中断和出现数据丢失现象。其次,如果I/O控制器的数据缓冲区比较小,在缓冲区装满数据之后将会发生中断。那么,在数据传送过程中,发生中断的机会较多,这将耗去大量的CPU处理时间。第章 设 备 管 理6.2.3 DMA方式方式中断方式较之查询方式来说,可以提高CPU的利用率和保证对外设响应的实时性,但不论是使用程序查询方式还是中断方式,若要将数据从外设传输到内存,都是先把数据从外设读到CPU,再从CPU把数据送到内存,反之亦然。而对于高速外设(如磁盘、高速A/
14、D等),中断方式不能满足数据传输速度的要求。因为,在中断方式下,每次中断均需保存断点(返回地址)和现场(各寄存器的值,包括标志寄存器),中断返回时,要恢复断点和现场。同时,进入中断和从中断返回均使CPU指令队列被清除。所有这些原因,使得中断方式难以满足高速外设对传输速度的要求。第章 设 备 管 理对于高速外设的数据传输,一种有效的方式是使用DMA(Direct Memory Access)方式,在这种方式下,外设(一般指磁盘存储器)与内存之间直接进行数据成块交换,不通过CPU,并且CPU不参与数据交换控制,因此可以达到较高的速度,如Intel 8237A(3MHz),传输速度可达1.5MB/s
15、。DMA方式下高速外设和内存之间进行数据传输需要使用总线,所以DMA方式下要解决的问题主要是总线使用权的转移。一般情况下,总线使用权由CPU掌握,在DMA期间总线使用权交给DMA控制器。第章 设 备 管 理DMA方式由硬件实现,计算机硬件中设有DMA控制器,在DMA中有状态寄存器和计数器,状态寄存器记录着当前DMA的状态,计数器记载着当前传送数据的个数,它一般是一个减一计数器。此外,还有地址寄存器记载与设备进行数据传送的内存地址。在设备与内存之间传送数据时,首先把要传送的数据个数和接收或发送数据的内存地址分别置入DMA计数器和地址寄存器中。DMA控制器负责DMA请求、DMA处理等工作的控制。总
16、线使用权的转移由总线控制器负责。第章 设 备 管 理DMA的工作过程如下:(1)当进程要求设备输入数据时,CPU把准备存放输入数据的内存起始地址以及要传送的字节数分别送入DMA控制器中的内存地址寄存器和传送字节计数器。(2)提出数据传输要求的进程进入等待状态,进程调度程序调度其他进程占据CPU。(3)输入设备不断地窃取CPU工作周期,将数据缓冲寄存器中的数据源源不断地写入内存,直到所要求的字节全部传送完毕。第章 设 备 管 理(4)DMA控制器在传送完所有字节时,通过中断请求线发出中断信号。CPU在接收到中断信号后,转入中断处理程序进行后续处理。(5)中断处理结束后,CPU返回到被中断的进程中
17、,或切换到另一进程继续执行。与中断方式每完成一次I/O操作就发生一次中断相比,DMA方式大大地减少了中断的次数,减轻了CPU的负担,提高了CPU的利用率。由于I/O设备直接同内存发生成块的数据交换,因此I/O效率比较高。所以在现代计算机系统中,DMA方式得到了广泛的应用。许多输入/输出设备的控制器,特别是块设备的控制器,都支持DMA方式。第章 设 备 管 理与中断方式相比,DMA方式具有以下优点:(1)中断方式时是在数据缓冲寄存器满之后发中断要求CPU进行中断处理,而DMA方式则是在所要求转送的数据块全部传送结束时要求CPU进行中断处理。(2)中断方式的数据传送是在中断处理时由CPU控制完成的
18、,而DMA方式则是在DMA控制器的控制下不经过CPU控制完成的,这就排除了CPU因并行设备过多而来不及处理以及因速度不匹配而造成数据丢失等现象。第章 设 备 管 理但是,DMA方式仍然存在着以下局限性:(1)DMA方式对外围设备的管理和某些操作仍由CPU控制。(2)随着系统所配外设种类和数量的增加,多个DMA控制器的同时使用显然会引起内存地址的冲突并使控制过程进一步复杂。(3)DMA方式只能在CPU指令周期中不使用总线的间隙内工作,这必定影响数据传送的整体速度。第章 设 备 管 理由此可知,DMA控制器功能的强弱,是决定DMA效率的关键因素。DMA控制器需要为每次数据传送做大量的工作,数据传送
19、单位的增大意味着传送次数的减少。另外,DMA方式窃取了CPU工作周期,CPU处理效率降低了,要想尽量少地窃取CPU工作周期,就要设法提高DMA控制器的性能,这样可以较少地影响CPU处理效率。所以,DMA方式只能完成简单的数据传送,对于设备状态的控制和管理等更复杂的I/O操作则无能为力。第章 设 备 管 理6.2.4 通道方式通道方式采用DMA输入/输出控制方式已经显著地减少了CPU的干预,提高了CPU与I/O设备的并行程度。但是在DMA输入/输出控制方式中,一旦开始交换信息,CPU要一直“让”出主存,只能进行不需要访问主存的局部工作。因此,DMA输入/输出控制方式只解决了高速外存与主存传送数据
20、的问题,并没有真正解决CPU与I/O设备并行操作的问题,CPU的效率并不高。除此之外,对I/O设备数量较多的计算机系统,如果为这些I/O设备都配置DMA控制器,那么该计算机系统的硬件成本将大幅度增加。第章 设 备 管 理为了获得CPU与I/O设备之间更高的并行能力,也为了让种类繁多、物理特性各异的I/O设备能以标准接口的形式连接到系统中,计算机系统引入了能独立控制I/O设备操作、自成体系的通道结构。引入通道后才真正实现了CPU与I/O设备间的并行工作。在设置了通道的计算机系统中,在需要使用I/O设备交换一批数据时,CPU只干预通道两次,第一次是启动通道、设备和控制器,第二次是结束时的中断处理。
21、第章 设 备 管 理1通道的概念通道的概念通道指专门用来处理输入/输出工作的处理器(简称I/O处理器),它可以是简单的处理机,也可以是一台复杂的微型处理机。它有自己的指令系统,甚至有的通道具有局部存储器。与CPU相比,通道是一个比CPU功能弱、速度较慢、价格较为便宜的处理器。但是“通道”一词在目前微型计算机的有关著作中,常指与DMA或与I/O处理器相连的单纯的数据传送通路,它并没有处理器的功能。它主要是接受主机的委托,独立地执行通道程序,完成设备与内存间的批量数据传送。典型的I/O四级结构如图6.2和图6.3所示。第章 设 备 管 理图6.2 通道方式结构第章 设 备 管 理图6.3 多通路的
22、通道结构第章 设 备 管 理通道的运算控制部件包括:通道地址字(CAW):存放下一条通道指令存放的地址,其功能类似于中央处理机的指令地址寄存器。通道命令字(CCW):存放正在执行的通道指令,其作用相当于中央处理机的指令寄存器。通道状态字(CSW):存放通道、控制器、设备的状态,包括I/O传输完成信息、出错信息、重复执行次数等,其作用相当于中央处理机的状态寄存器。第章 设 备 管 理2通道的种类通道的种类根据信息交换方式以及所连接的设备种类的不同,可将通道分为三种类型:字节多路通道、数据选择通道和数组多路通道。(1)字节多路通道。这是一种简单的共享通道,包括若干子通道,每个子通道可独立地执行一个
23、通道程序,每个子通道至少连接一台低速设备。字节指该通道以字节为传输单位,多路则是指可以分时执行多个通道程序。当一个通道程序控制某台设备传送一个字节之后,并不等待设备完成I/O操作,通道硬件就转去执行另一个通道程序,控制另一台设备的数据传送。第章 设 备 管 理字节多路通道主要用于连接大量的低速设备,如键盘、打印机等。例如,数据传输率是1000B/s,即传送1个字节的间隔是1ms,而通道从设备接收或发送一个字节只需要几百纳秒,因此通道在传送两个字节之间有很多空闲时间,字节多路通道正是利用这个空闲时间为其他设备服务。(2)数据选择通道。这种类型的通道只有一个分配型子通道。所谓分配型子通道,是指一个
24、子通道可以连接多台I/O设备,但每次只能控制一台设备工作,一旦选中某台设备,即由该设备独占该通道,通道就进入“忙”状态,直到该设备的数据传输工作全部结束,即通道程序执行结束。然后通道再选择另一台I/O设备为其提供服务。第章 设 备 管 理选择通道又称高速通道,在物理上它可以连接多个设备,但是这些设备不能同时工作,在某一段时间内通道只能选择一个设备进行工作。选择通道很像一个单道程序的处理器,在一段时间内只允许执行一个设备的通道程序,只有当这个设备的通道程序全部执行完毕后,才能执行其他设备的通道程序。第章 设 备 管 理选择通道主要用于连接高速外围设备,如磁盘、磁带等,信息以成组方式高速传输。由于
25、数据传输率很高,可以达到1.5MB/s,通道在传送两个字节之间已很少空闲,因此在数据传送期间只为一台设备服务是合理的。但是这类设备的辅助操作时间很长,在很长的时间里通道处于等待状态,因此整个通道的利用率不是很高。第章 设 备 管 理(3)数组多路通道。数组多路通道的基本思想是:当某设备进行数据传送时,通道只为该设备服务。当设备在执行寻址等控制性动作时,通道暂时断开与这个设备的连接,挂起该设备的通道程序,去为其他设备服务,即执行其他设备的通道程序。所以数组多路通道很像一个多道程序的处理器。这种类型的通道分时地为多台I/O设备服务,每个时间片传送一个数据块。数路通道结合了数据选择通道传递速度高和字
展开阅读全文