书签 分享 收藏 举报 版权申诉 / 238
上传文档赚钱

类型《计算机操作系统原理-Linux实例分析》课件第6章.ppt

  • 上传人(卖家):momomo
  • 文档编号:7926707
  • 上传时间:2024-09-05
  • 格式:PPT
  • 页数:238
  • 大小:1.51MB
  • 【下载声明】
    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设备服务,每个时间片传送一个数据块。数路通道结合了数据选择通道传递速度高和字

    26、节多路通道能进行分时并行操作的特点,形成了另一种通道方式,它具有很高的传递速率,又可获得令人满意的通道利用率。因此它被广泛地用来连接高、中速I/O设备。第章 设 备 管 理字节多路通道和数组多路通道的共同之处在于,它们都是多路通道,在一段时间内能交替执行多个设备的通道程序,使这些设备同时工作。字节多路通道和数组多路通道的不同之处如下:数组多路通道允许多个设备同时工作,但只允许一个设备进行传输操作,其他设备进行控制操作。而字节多路通道不仅允许多个设备同时操作,而且也允许它们同时进行传输操作。第章 设 备 管 理 数组多路通道与设备之间数据传送的基本单位是数据块,通道必须为一个设备传送完一个数据块

    27、以后,才能为别的设备传送数据块。而字节多路通道与设备之间数据传送的基本单位是字节,通道为一个设备传送一个字节后,又可以为另一个设备传送一个字节,因此各设备与通道之间的数据传送是以字节为单位交替进行。例如:IBM-370的通道结构如图6.4所示。第章 设 备 管 理图6.4 IBM-370的通道结构第章 设 备 管 理3通道程序通道程序通道是一个I/O处理器,它与CPU一样,包括运算、控制逻辑、累加器和寄存器,并有自己的指令系统。指令系统中的每条指令规定了设备的一种操作,称为通道命令(通道指令或通道命令字,CCW)。通道程序是由通道命令按照一定的控制要求组织起来的,它规定了I/O设备所应执行的操

    28、作及顺序。(1)通道命令。每条通道命令规定了设备的一种操作,不同的计算机系统其通道命令的格式可能不同,但一般都包含以下信息。第章 设 备 管 理 操作码:规定了指令所执行的操作,一般可分为三类,即数据传输类(如读、反读、写、判定状态等)、通道转移类、设备控制类(如磁盘查询、磁带反绕等)。内存地址:数据送入内存或从内存取出时的内存首址。传送字节数:本指令所要读或写的字节数。特征位:用于表示通道程序是否结束的通道程序结束位;记录结束标志位是用于表示通道指令与下一条通道指令所处理的数据是同属一个记录,或是处理某记录的最后一条指令。第章 设 备 管 理(2)通道程序。通道指令的集合构成通道程序。通道程

    29、序是由中央处理器按数据传送的不同要求自动形成的(在大型计算机中,通道程序由操作系统中相应的设备管理程序按用户的输入/输出请求自动形成)。例如:write 0 0 100 20000write 1 1 100 25000它们分别把一个记录的200个字符分别写入从内存地址20000开始的100个单元和从内存地址25000开始的100个单元中。其中,假设write操作码后的1是通道指令结束标志,而另一个1则是记录结束标志,该指令省略了设备号和设备特征。第章 设 备 管 理编制好的通道程序存放在主存储器中,并将该程序在主存中的起始地址通知I/O处理器。在大型计算机中,常将此起始地址存放在主存固定单元中

    30、,这个用来存放通道程序首地址的主存同定单元称为通道地址字(CAW)。而在微型计算机中,常将此起始地址存放在主存中的CPU与I/O处理器的通信区中。与CPU在执行指令中将执行情况汇集在程序状态字PSW一样,通道程序在执行过程中也把信息汇集在主存的另一个固定单元中,该单元称为通道状态字(CSW)。通道状态字中包括,下一条通道命令的主存地址、通道,以及与之相连的控制器和设备的状态、数据传输的情况。第章 设 备 管 理4通道的通道的I/O启动与结束启动与结束采用通道方式后,输入/输出的执行过程如下:(1)CPU在执行用户程序时遇到I/O请求,根据用户的I/O请求生成通道程序(也可以是事先编好的)并放到

    31、内存中,然后把该通道程序首地址放入CAW中。第章 设 备 管 理(2)CPU执行“启动I/O”指令启动通道工作,通道接收“启动I/O”指令信号,从CAW中取出通道程序首地址,并根据此地址取出通道程序的第一条指令,放入CCW中;同时向CPU发回答信号,通知“启动I/O”指令完成,CPU可继续执行。通道开始执行通道程序,控制设备实现输入/输出操作。(3)通道完成输入/输出操作后,向CPU发中断请求信号,请求做I/O操作完成后的善后处理。其过程如图6.5所示。第章 设 备 管 理图6.5 I/O操作过程 第章 设 备 管 理通道方式与DMA方式相比有以下不同:(1)在DMA方式中,数据的传送方向、存

    32、放数据的内存始址以及传送的数据块长度等都由CPU控制,而在通道方式中,这些都由通道来进行控制。(2)DMA方式每台设备至少需要一个DMA控制器,而一个通道控制器就可以控制多台设备,显然,通道方式进一步减轻了CPU的工作负担,并增加了计算机系统的并行工作程度。第章 设 备 管 理在通道中,I/O采用专用的辅助处理器处理I/O操作,从而减轻了CPU处理I/O的负担。CPU只要发出一个I/O操作命令,剩下的工作完全由通道负责。I/O操作结束后,I/O通道会发出一个中断请求,表示相应操作已完成。第章 设 备 管 理6.3 缓缓 冲冲 技技 术术6.3.1 缓冲技术的引入缓冲技术的引入在计算机系统中,各

    33、种设备具有不同的物理特性,它们处理数据的速度和方式差异很大,此外,CPU与设备在处理数据的速度等方面也完全不同。这将使得CPU不得不停下来等待慢速设备的工作。这样,系统中各个部件的并行工作的程度仍不能得到充分发挥,影响了系统的整体效率。为了解决这些问题,计算机系统引进了缓冲技术。其目的主要是以下两个方面。第章 设 备 管 理(1)缓解CPU与I/O设备间速度不匹配的问题。虽然中断、DMA和通道控制技术使得系统中设备和设备、设备和CPU等得以并行工作。但是,外围设备和CPU的处理速度不匹配的问题是客观存在的。这限制了和处理机连接的外设台数,且在中断方式时造成数据丢失。同时,外围设备和CPU处理速

    34、度不匹配的问题也极大地制约了计算机系统性能的进一步提高和系统应用范围的扩大。第章 设 备 管 理例如,当计算进程并发性地把大批量数据输出到打印机上打印时,由于CPU输出数据的速度大大高于打印机的打印速度,因此,CPU只好停下来等待。反之,在计算进程进行计算时,打印机又因无数据输出而处于空闲状态。外围设备与处理机速度不匹配的问题可以采用设置缓冲区(器)的方法解决。在设置了缓冲区之后,计算进程可把数据首先输出到缓冲区,然后继续执行;而打印机则可以从缓冲区取出数据慢慢打印。实际上,缓存起着中转站的作用。第章 设 备 管 理(2)减少I/O对CPU的中断次数和放宽CPU对中断的响应时间。从减少中断的次

    35、数看,也存在着引入缓冲区的必要性。在中断方式时,如果在I/O控制器中增加一个100个字符缓冲器,则由前面对中断方式的描述可知,I/O控制器对处理机的中断次数将降低100倍,即等到能存放100个字符的字符缓冲区装满之后才向处理机发一次中断,这将大大减少处理机的中断处理时间。第章 设 备 管 理6.3.2 缓冲的种类缓冲的种类根据不同操作系统使用目的不同,可以采用不同种类的缓冲器,通常有以下几种缓冲器。(1)硬件缓冲器。由硬件实现的缓冲器称为硬件缓冲器。例如,硬盘控制器、终端、打印机都带有硬件缓冲器。硬件缓冲器的数据传输速度快,但价格昂贵,一般容量不会很大。第章 设 备 管 理(2)软件缓冲器。软

    36、件缓冲器是在内存划出一部分区域充当缓冲器,也称为软件缓冲器。软件缓冲器的速度没有硬件缓冲器的速度快,但价格相对便宜。计算机系统往往只是在关键的地方采用硬件缓冲器,而通常使用的是软件缓冲器。根据系统设置缓冲器的多少,通常分为单缓冲、双缓冲和多缓冲。第章 设 备 管 理(1)单缓冲。单缓冲是在设备和处理机之间设置一个缓冲器,设备和处理机交换数椐时,先把被交换数据写入缓冲器,然后需要数据的设备或处理机从缓冲器取走数据。由于缓冲器属于临界资源,即不允许多个进程同时对一个缓冲器操作。因此,尽管单缓冲能匹配设备和处理机的处理速度,但是,设备和设备之间不能通过单缓冲达到并行操作。(2)双缓冲。解决两台外设、

    37、打印机和终端之间的并行操作问题的办法是设置双缓冲。有了两个缓冲器之后,CPU可把输出到打印机的数据放入其中一个缓冲器(区),让打印机慢慢打印;然后,它又可以从另一个为终端设置的缓冲器(区)中读取所需要的输入数据。第章 设 备 管 理显然,双缓冲只是一种说明设备和设备、CPU和设备并行操作的简单模型,并不能用于实际系统中的并行操作。这是因为计算机系统中的外围设备较多。另外,双缓冲也很难匹配设备和处理机的处理速度。因此,现代计算机系统中一般使用多缓冲或缓冲池结构。第章 设 备 管 理(3)多缓冲。多缓冲是把多个缓冲区连接起来组成两部分,一部分专门用于输入,另一部分专门用于输出的缓冲结构。缓冲池则是

    38、把多个缓冲区连接起来统一管理,既可用于输入又可用于输出的缓冲结构。在UNIX系统中,无论是块设备还是字符设备都使用了多缓冲技术。尤其是块设备,它作为文件系统的基础,使用了完整的多缓冲技术,从而提高了文件系统的效率。显然,无论是多缓冲,还是缓冲池,由于缓冲器是临界资源,因此在使用缓冲区时都有一个申请、释放和互斥的问题。第章 设 备 管 理6.4 中中 断断 技技 术术内核的一个主要功能就是管理外设,但又必须处理其他任务,而处理器的速度一般比外设快很多。如果在为外设服务,CPU用查询的方式与外设交换信息时,CPU就要浪费很多时间去等待外设,显然效率不高。为了使系统能及时地处理其他任务,只有当外设真

    39、正准备好了CPU时才转过来处理外设,那么,中断机制就是满足上述条件的一种解决办法。中断控制是计算机发展中用以提高计算机工作效率、增强计算机功能的一种重要的技术。最初它是为克服对I/O接口控制采用程序查询所带来的处理器低效率而产生的。第章 设 备 管 理中断控制的主要优点是只有在I/O需要服务时才能得到处理器的响应,而不需要处理器不断地进行查询。由此,最初的中断全部是对外部设备而言的,即称为外部中断(或硬件中断)。但随着计算机系统结构的不断改进以及应用技术的提高,中断的适用范围也扩大了,出现了所谓的内部中断(或异常),被用于内部紧急事件的处理、机器故障的处理、实时控制等多个方面,并产生了用软件方

    40、法进入中断处理的概念(软中断)。如今中断系统已成为计算机系统的一个极其重要的组成部分。中断是基于时间片调度的多任务操作系统的重要技术之一。第章 设 备 管 理6.4.1 中断的有关概念中断的有关概念1中断的概念中断的概念所谓中断,是这样一个过程:在CPU正常执行程序的过程中,遇到外部或内部的紧急事件需要处理时,暂时中断(中止)当前程序的执行,而转去为事件服务,待服务完毕,再返回到暂停处(断点)继续执行原来的程序。为事件服务的程序称为中断服务程序或中断处理程序。严格地说,上面的描述是针对硬件事件引起的中断而言的。用软件方法也可以引起中断,即事先在程序中安排特殊的指令,CPU执行到该类指令时,转去

    41、执行相应的一段预先安排好的程序,然后再返回去执行原来的程序,这称为软中断。第章 设 备 管 理把软中断考虑进去,可给中断再下一个定义:中断是指CPU在正常运行程序时,由于程序的预先安排或内外部事件,引起CPU中止正在运行的程序,而转去执行预先安排好的程序或内外部事件处理程序,当处理程序执行完后,再返回到被中止的程序继续运行。中断的特点如下:(1)中断是随机的。(2)中断是可恢复的。(3)中断是自动处理的。第章 设 备 管 理2中断源中断源引起程序中断的事件或发出中断请求的来源称为中断源。中断源通常有外部设备、实时时钟、故障源、数据通道中断以及程序自愿中断。3中断请求中断请求中断请求是指中断源向

    42、CPU提出进行处理的请求。CPU在每条指令执行结束后去查询有无中断请求信号。若查询到有中断请求,并且在允许响应中断的情况下,系统自动进入中断响应周期,由硬件完成关中断、保存断点、取中断服务程序的入口地址等一系列操作,而后转向中断服务程序执行中断处理。第章 设 备 管 理4中断响应中断响应中断响应是CPU对中断源中断请求的响应,包括保护断点和将程序转向中断服务程序的入口地址。CPU接收到外设的中断请求信号时,若为非屏蔽中断请求,则CPU执行完现行指令后,就立即响应中断。若为可屏蔽中断请求,能否响应中断,还取决于CPU的中断允许触发器的状态。只有当其为“1”(即允许中断)时,CPU才能响应可屏蔽中

    43、断;若其为“0”(即禁止中断),则即使有可屏蔽中断请求,CPU也不响应。第章 设 备 管 理CPU要响应可屏蔽中断请求,必须满足以下三个条件:(1)无总线请求。(2)CPU允许中断。(3)CPU执行完现行指令。中断响应是实现向中断服务程序的过渡。例如,IBM PC机中,在中断响应周期CPU要顺序完成以下操作:(1)发出中断响应信号INTA。(2)关中断,即将IF位清0。这是因为在响应一个中断的期间不能响应另一个中断。(3)保护断点和程序状态寄存器(PC,PSW)。(4)查找中断源,转向相应的中断服务程序的入口。第章 设 备 管 理5中断的分级与中断优先级中断的分级与中断优先级优先权是指多个中断

    44、同时发生时,对各个中断响应的优先次序。当中断源很多时,一般把中断按不同的类别分为若干级,称为中断级。在一些机器中,中断优先级按中断类型划分:以机器故障中断的优先级最高,程序中断和访问管理程序中断次之,外部中断更次之,输入/输出的优先级最低。第章 设 备 管 理6禁止中断和中断屏蔽禁止中断和中断屏蔽在CPU上运行的程序,有时由于种种原因,不希望其在执行过程中被别的事件所中断,称为中断屏蔽。禁止中断:当有中断请求时,CPU不能中止现行程序的执行,它类似于所有性屏蔽。一般是通过使CPU内部的“中断允许触发器”清“0”来完成的。可用开、关中断指令来实现。如果中断禁止位未建立,则可以接受其中断优先级高于

    45、运行程序中断优先级的那些中断。第章 设 备 管 理中断屏蔽:当产生中断请求后,用程序方式有选择地封锁部分中断,而允许其他部分中断得到响应,它类似于选择性屏蔽。实现方法是为每个中断源设置一个中断屏蔽触发器,该触发器为“1”,则屏蔽;为“0”,则允许中断请求。各设备的中断屏蔽触发器组成中断屏蔽寄存器。中断又分可屏蔽中断和非屏蔽中断,后者优先权最高。第章 设 备 管 理6.4.2 中断的类型中断的类型按中断处理方式,中断可分为程序中断和简单中断。按中断产生的方式,中断可分为自愿中断和强迫中断。按资源的类型,中断可分为硬件中断和软件中断。按中断发生的位置,中断可分为内部中断和外部中断。目前在很多中型集

    46、合小型机系统中,通常按中断发生的位置来划分。(1)外部中断:来自于CPU以外,包括:I/O中断,来自于I/O设备,是可屏蔽中断。时钟中断、控制台中断。第章 设 备 管 理 硬件故障,比如内存故障、电源掉电等,是不可屏蔽中断。这些中断都是异步的,可在任何时候发生,与CPU正在执行的内容无关。(2)内部中断:来自于CPU内部,包括:程序故障,如使用非法指令、地址越界、浮点溢出、除法错等。系统调用,用户程序中使用系统调用指令请求操作系统的服务,是程序中有意安排的,往往也把这种中断称为自愿中断。这类中断是在程序执行过程中产生的,是同步的,是执行程序中的指令引起的。它们不使用中断控制器,不能被屏蔽。第章

    47、 设 备 管 理6.4.3 中断处理中断处理中断处理就是执行中断服务程序中规定的操作,主要包括:(1)保护现场:为了不破坏被终止程序中使用的寄存器的内容,必须将有关寄存器的内容入栈保护,因为在中断服务程序中也可能会使用到这些寄存器。(2)开中断:为了实现中断嵌套,需要安排一条开中断指令,使系统处于开中断状态。(3)中断服务:CPU通过执行中断服务程序,完成对中断情况的处理。第章 设 备 管 理6.4.4 中断返回中断返回中断返回是指,中断服务完后计算机返回原来打断的位置(即断点),继续执行原来的程序。中断返回是由中断服务程序中的中断返回指令来完成的。中断返回时,要进行以下操作:(1)关中断:使

    48、现场的恢复工作不被打扰。(2)恢复现场:在返回到被中止的程序之前要将中断时保护的PC和PSW寄存器内容从堆栈中弹出,以便能正确执行被终止的程序,恢复栈中保存的寄存器内容。(3)开中断:使CPU能继续接收中断请求。第章 设 备 管 理6.4.5 中断的处理全过程中断的处理全过程中断处理过程是硬件和软件编程相合的过程。有些通过硬件实现,有些则需通过编程实现。各种微型计算机的中断系统是不相同的,但实现中断的过程都一样。一个完整的中断处理过程包括以下四步。(1)中断请求:由中断源向CPU提出中断请求(软中断除外)。(2)中断响应:CPU在收到中断请求并具备响应条件的情况下,进行中断响应,以实现向中断服

    49、务程序的过渡。第章 设 备 管 理(3)中断服务:CPU在执行中断服务程序期间,要进行具体的中断服务。例如,对于键盘中断,将键盘接口数据寄存器中存放的敲入键的扫描码取出进行转换并送键盘缓冲区,若该键是控制功能键则执行对应的控制功能程序。第章 设 备 管 理执行中断服务程序是通过CPU来实现的,显然要用到CPU的通用寄存器和专用寄存器。为了不影响被打断的程序在中断返回后的继续执行,在刚刚进入中断服务程序时应进行现场保护,即把中断服务程序中要用到的通用寄存器、专用寄存器的内容保存起来(压入堆栈),在中断服务结束、返回的前夕再恢复现场,即把保存的内容取出送到相应的寄存器中(从堆栈弹出)。因此,中断服

    50、务又可分为保护现场、具体的中断服务和恢复现场三步。(4)中断返回:中断服务程序的最后一条指令应是中断返回指令。当执行到该指令时,便返回到被终止的程序,从断点处继续执行。第章 设 备 管 理6.4.6 多中断的处理多中断的处理对于中断处理过程中又发生中断,引起多中断处理的问题,通常有两种处理方法。(1)处理一个中断时禁止中断对任何新中断置之不理,在此期间发生的中断将保持挂起状态,当再次允许中断时,新中断信号被处理器检测到再予以处理,如图6.6所示。软件实现方法是,在任何中断处理前使用禁止中断指令,在处理结束后开放中断指令。所有中断严格按照发生顺序处理,不考虑中断紧急程度,无法达到较严格时间要求。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:《计算机操作系统原理-Linux实例分析》课件第6章.ppt
    链接地址:https://www.163wenku.com/p-7926707.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库