罗泽兵 发表于 2024-4-15 08:35:19

16.第16节课第六章输入输出系统

好同学们大家好今天呢我们呢为大家介绍一下操作系统当中输入输出io管理的这样一个部分那么这样一个类部分呢我们有一些重点的地方比如说io,管理基础设备设备的概念以及呢设备的分类和io接口和io的控制方式比如说轮询,中断dma,以及呢,io软件层次结构比如说我们中断处理程序驱动程序设备独立性软件用户io软件输入输出应用程序接口和字符设备接口快设备接口和网络设备接口,第二个呢我们看一下设备独立软件由我们的缓冲区管理设备分配和回收甲托机技术s力那么这个呢都是要,要求了熟练掌握的这个部分,要求呢比较好的掌握假脱机技术spring技术设备驱动程序接口以及呢外层管理比如说我们磁盘磁盘结构,及分区格式化磁盘调度算法以及呢固态硬盘的读写性能特效磨损均衡那么这样一些部分,首先呢,我们来看一下操作系统的功能模型和接口,操作系统呢io管理,io系统它的主要对象呢是io设备和相应的i设备控制器其主要任务呢是用于完成用户提供的io请求,提高io速度以及呢提高设备利用率并能为更高的层级的进程呢方便的提供这些设备的提供手段,io系统的主要,

功能呢是为了满足用户和系统的需求,所以说呢io系统呢应该具有几方面的功能,比如说隐藏,物理设备的细节,与设备的无关性提高处理机和io设备的利用率对io设备进行控制以及呢确保设备的正确共享,和错误处理那么这些这些方面的功能那么首先我们来看一下隐藏io隐藏物理设备的细节,io设备的类型很多那么彼在彼此方面呢都有差异比如说他们接受和产生数据的速度传输方向力度,和数据的表示形式呢以及可靠性等方面,为了对这些有差别的设备呢进行控制通常呢都为他们配置相应的设备控制器这是一种硬件设备其中包含了若干个用于存放控制命令和寄存器和参数的这样一个寄存器,用户通过这些命令和参数呢可以控制外部设备,执行所要求的操作,那么对于不同的设备呢需要有不同的命令和参数比如说对磁盘进行操作时呢不仅要给出本次是读还是写的命令还,还是给出圆或目标数据的位置包括磁盘的盘面号磁盘的盘磁道号和扇区号,那么由此可见呢如果要求程序员或用户编写直接面向这些设备的程序那么是比较困难的因此呢io设备必须给设备了,必须io系统呢必须通过对设备加以适当的抽象以隐藏掉物理设备的实践细节仅向上层提供少量的抽象的读写命令,

那么这些呢就是隐藏物理设备的细节这样一些部分接下来呢是第二个功能呢是与设备的无关性,隐藏物理设备的细节在早期的操作系统呢就已实现它可以方便用户呢对设备的使用,与设备的无关系呢是在较晚的时候才实现的这是在隐藏物理设备系列的基础上呢实现的一方面用户不仅可以使用抽象的io命令,还可以使用,抽象的逻辑设备名来,使用设备比如说当用户要输出打印时只需要提供读写的命令,和抽象对象的这样一个逻辑设备名,而不必指明是哪一台打印机另一方面呢也可以有效的提供,让操作系统的可移植性呢和意识性呢那么增加了一些部分那么对于操作系统本身呢则应允许在不需要,整个操操作系统进行重新编译的情况下呢增添新的设备的驱动程序以方便新的操作系统的插是io设备的安装,第三个呢是提高处理器和io设备的利用率,在一般的系统当中,许多io设备之间呢是相互独立的不能够运行并行操作在操作在处理器和设备之间呢也能进行并行操作因此呢io设备的这个功能呢是要尽可能的让处理器和io设备,并行操作以提高他们的利用率为此呢一方面要求处理器能快速的响应io的请求使io设备呢能运行起来另一方面呢也应减少在每个io设备运行时处理器的干扰,参与时间,

那么第四个功能呢是对io设备呢进行控制对io设备呢,进行控制是驱动程序的功能目前呢对io设备呢有四种控制方式第一种呢是采用轮巡的,可编程io方式第二种是采用中断的可编程方式第三种是直接存储器访问方式是dm的方式第四种呢是io通道方式,那么具体应该采用何种控制方式呢与io设备的传输速率传输的数据单位等因素呢有关比如说打印机键盘终端等低速设备,由于其传输数据的基本单位呢是字或字节不应采取中断的可编程io方式对于磁盘光盘等高速设备呢其传输数据的基本单位是数据块,所以啊应该采用直接存储器的方式,以提高系统的利用率而io通道的方式引入了使对io操作的组织和数据的传输都能独立进行而无需cpu的干预,为了方便高层软件和用户显然呢io软件也应该屏蔽了这种差异向高层软件呢提供统一的这样一个操作入口,那么接下来我们再看一下确保对这些数设备的正确共享从设备的共享属性下呢可以将设系统中的设备分为两类第一类呢是独占设备第二类呢是共享设备,独占设备的进程间应该互斥的访问这类设备也就是说系统呢一旦把这类设备分配给了某进程之后呢便由该进程的独占直至用完释放,典型的独占设备呢有打印机磁带机等系统在对独占设备进行分配时还应该考虑到分配的安全性共享设备呢是在一段时间内允许多个进程同时访问的设备,典型的共享设备呢是磁盘当有多个进程需要对磁盘读写的时候呢可以交叉进行不会影响到读写的正确性,第六个是错误处理大多数的撤,设备呢都包括了较多的机械和电器部分运行时呢容易出现故障和错误从处理的角度看呢可将错位分为临时性错误和永久性错误,对于临时性错误呢可以通过重试操作来纠正只有发生了持久操作时呢才需要向上层报告比如说在磁盘传输出如果发生错误,

系统并不认为磁盘已经发生了故障而是可以重新再传一直要传送多次后如果仍然有错才认为磁盘发生了故障由于多数错误呢是与设备紧密相关的,因此对于错误的处理应该尽可能的在接近硬件的层面上进行比如说在基层软件能够解决的错误呢就不向上层报告因此呢高层呢就不不必感知这样一个知道这样一个部分,只有低层软件解决不了的错误才向上层报告请求高层软件解决那么这是我们io,管理的这样一个功能,我们来看一下io系统的层次和模型通常把io呢io软件呢设计的面很宽广很宽,那么io免io软件涉及的面呢很广向下的与硬件有密切联系向下呢有与文件系统虚拟存储器系统和用户的直接交互,他们都需要io系统的来实现io操作为使十分复杂的io软件呢能够有清晰的结构有更好的可一致性和适应性,目前已普遍采用的层次结构io系统这是将系统中的这样一个设备管理模块呢分成若干个层次的这样一个部分每一层呢都是利用向下提供服务完成输入输出功能中的某些子功能,并屏蔽掉这些功能的细节向商城提供服务,io软件的层次结构呢通常把io软件分成四个层次比如说,用户,乘io软件,设备独立性软件,设备驱动程序以及了中断处理程序,用户层io软件呢实现与用户交互的接口,

用户呢可以直接调用该层所提供的与iu操作有关的库函数对设备进行操作,设备独立性软件呢用于实现用户与设备驱动器的这样一个统一接口设备命名,设备保护以及设备的分配和释放同时呢为设备管理和数据传输呢提供必要的存储空间,设备驱动程序呢是与设备直接相关用于实现系统对设备发出的操作指令,驱动io设备工作的驱动部分中断处理程序呢用于保存被中断进程的cpu环境转入相应的中断处理程序进行处理,处理完毕后呢再恢复中断进程的现场返回到被中断的进程,我们来看一下io系统中各模块之间的层次视图那么为了能够更清晰的描述io系统中各种模块的关系呢我们进一步的介绍io系统中各种io模块之间的层次关系,那么我们来看一下这个图当中,有io系统的上下接口io系统接口那么它是我们的这样一个,io系统与上层之间的接口向上层呢提供对设备进行操作的这样一个io命令以方便呢上层对设备的使用,在上层系统中呢有文件系统,虚拟存储器以及呢用户进程那么这样一些部分,软件硬件接口,那么就是我们的,rw和hw接口,

下面一个接口呢是软件,硬件接口在那个上面呢是中断处理程序以及呢不同设备间的驱动程序,在它的下面呢是各种设备的控制器,那么由于设备种类繁多了所以呢该是该接口呢比较复杂,那么接下来我们那接下来再看一下l系统的分层,那么与之前讲过的这样一个io组织软软件组织软件组织的层次结构相对应的io系统本身呢可以分为三个层次,中断处理程序设备驱动程序以及呢设备独立性软件,其中呢中断处理程序呢它处于io系统的底层直接与硬件进行交互当有io设备发来的中断请求信号的时候呢,在中断硬件做了初步处理后便转向中断处理程序它首先保存,被中断进程的cpu环境然后转入相应设备的中断处理程序进行处理在处理完成之后呢又恢复被中断程序的cpu环境返回断点呢继续进行,设备驱动程序呢它处于io系统的底次底层是进程与设备控制器之间的通信程序,它的主要功能呢是将上层发来的抽象io请求呢转换为对io设备的具体命令和参数并把它装入到设备控制器中的命令和参数的寄存器中或者相反,由于设备之间的差异很大每类设备的驱动程序都不相同所以呢必须由设备厂商提供而不是由操作系统来设计的来设计,因此呢在系统中每对这样一个新设备时都需要有安装厂商呢提供新的这样一个驱动程序设备独立性软件呢,现在操作系统中的io系统呢基本上都实现了与设备无关性也称之为了设备无关的软件它的基本含义呢是io设io软件独立于具体使用的物理设备,

那么大家要注意我们这样一个设备独立性软件的这样一个含义它的含义呢是iu软件独立于具体使用的物理设备,由此带来的最大好处呢是提高了io系统的这样一个可适应性和扩展性使他们能用于更多类型的设备而且在每次增加新设备或更换,旧设备时都必须要对io软件进行修改这样的方便了系统的更新以及扩展设备独立性软件的内容呢包括,设备名设备分配,数据缓冲和数据高速缓冲一类的这样一个软件部分,接下来我们再看一下io系统接口,在io系统呢和高层的接口之间根据设备类型的不同又进一步的分为了若干个接口,比如说有快设备接口流设备接口和网络设网络接口,快设备接口呢是快设备管理,程序与高层之间的接口该接口反映了大部分磁盘存储器或者光盘存储器的这样一个特征,用于控制该类设备的这样一个输入与输出快设备的所谓的快设备那么是指,数据的存储和传输呢都是以数据块为单位的设备那么典型的快设备呢是磁盘,那么第二个隐藏了磁盘的二维结构快设备接口呢将磁盘上的所有扇区从零到n减一依次编号n是磁盘中扇区总数经过这样编号后呢就把磁盘中的二维结构改为了一种,线性序列在二维结构中每个扇区的地址呢需要词道号和扇区号来表示或者说坏设备接口呢隐藏了磁盘地址是二维结构的,这样一个情况第三个呢是将抽象命令映射映像为映射为底层操作将抽象命令呢映像为底层操作坏设备接口呢支持上层发来对文件的设备的打开读写关闭等抽象,

命令该接口呢将这些命令呢映射为设备能识别的底层的操作比如说上层发来读磁盘命令时它先将抽象命令中的逻辑快乐转换为磁盘的磁道,词面以及呢串区这样一个部分,虚拟存储器系统呢也需要使用快设备接口因为在进程运行期间当它所访问的页面不在内存时呢便会发生区域中断,此时呢就需要使用io系统通过对坏设备的这样一个和磁盘存储器之间的这样一个缺页页面呢将它调内存,接下来我们看一下流设备接口流设备接口呢是流设备管理程序与高层之间的接口该设备呢又称为字符设备接口,它反映了大部分字符设备的特征用于控制字符设备的控输入与输出那么比如说有我们的字符设备,get和put操作in control指令字符设备呢所谓的字符设备是指数据的存储和输入呢都是以字符的为单位的设备比如说键盘打印机的,get和put操作由于字符设备呢是不可寻址的因此呢只能对它采用顺序存取方式通常为字符建立一个字符缓冲区队列,设备的io字符流呢顺序的进入字符缓冲区或从字符缓冲区呢顺序的,送出到设备用户程序获取或输出字符的方法呢是采用get和put操作get操作呢是从字符款中去取得一个字符到内存,将它返就返回给调用者而put操作呢是把一个新字符呢从内存输出到字符缓冲区以便呢输出到设备应ctrl指令呢,那么因为呢字符设备的类型多而且差异大为了以统一的方式来处理和管理它们呢通常在流设备接口中提供了一种通用的in control指令,该指令中呢包含了与许多参数有关的这样一个部分每个参数呢表示一个与具体设备相关的特定功能,那么由于大多数流设备呢都属于独占设备必须采用获斥方式来实现共享,因此呢流设备接口呢提供了已打开与关闭操作在使用这类操作时呢必须先打开或者,

打开该设备如果设备已经被打开表示它正在被其他设备的其他进程呢所使用最后呢我们来看一下网络接口网络通信接口呢在现在操作系统中都提供了面向网络的功能,但首先呢还需要通过某种方式呢把计算机连接到网上同时操作系统呢也必须提供相应的网络软件和网络通信接口使计算机呢能够通过网络和,我通过网络与网络上其他计算机来进行通信或者上网浏览那么这是我们的这样一个,io系统的这样一个接口的这样一个部分接下来我们看一下io设备与设备控制器,io设备呢一般,是由执行io操作的机械部分和执行io操作的电子部分组成,通常呢将这两部分分开执行io操作的机械部分呢就是一般的io设备而执行io执行控制io的电子部分呢则称为设备控制器或者说适配器,在微型机或小型机的控制器中呢常做成印刷电路卡形式通常呢也称为控制卡接口卡或网卡可将它呢插入到计算机的这样一个扩展槽中,那么在有的大中型计算机系统中呢还配置了io通道或io处理机我们来看一下io设备的分类io设备的类型呢如可以呢按使用,可以按使用特性分也可以呢按传输,数率分那么我们看一下首先按使用特性分第一类呢是存储设备也称之为储存外存用于存储信息的主要设备,该设备呢存取速度较慢但内容量呢却较大第二类呢就是io设备它又分为可输入设备,输出设备和交互式设备输入设备呢用来接收外部信息比如说键盘鼠标扫描仪,输出设备呢则是将计算机处理后的信息呢向处理机外部的设备呢那么进行送往这样一个部分比如说打印机绘图仪等,交互式设备呢则是指集成集成的上述两类设备主要是显示器用来同步显示命令以及命令执行的结果,

那么如果按传输速率分呢我们可以将io设备呢分为三类第一类呢是低速设备第二类呢是中速设备第三类呢是高速设备,那么中低速设备呢其传输速率呢那么比较低典型的低速速率呢有键盘鼠标,第二类呢是中速设备其传输速率呢那么处于中等的位置典型的中速设备呢有打印机,这样一些部分第三类呢是高速设备那么其传输速率的最高典型的高速速率呢高速设备有磁带机磁盘机和光盘机那么这样一些部分,接下来我们看一下io设备,这样一些设备与控制器之间的接口通常呢设备并不是直接与cpu直接通信而是与设备控制器通信因此呢在设备io设备中应含有与设备控制器间的接口,在该机构中呢有三种类型的信号那么比如说我们看一下这样的图当中有三种类型的信号,那么比如说各对应,一条信号线,那么就是说设备与控制期间的接口的这样一个部分比如说我们的数据信号线控制信号线以及呢状态信号线,那么设备控制器呢设备控制器的主要功能呢是设接收和识别命令数据交换标识和状报告设备的状态地址识别,数据缓冲区插座控制我们先来看一下数设备控制器的主要功能呢是控制一个或多个io设备,以实现io设备和计算机之间的数据交换它是cpu和io设备之间的接口接收从cpu发来的命令去控制io设备的工作使处理器呢能够从复杂的设备控制事物中解脱出来,设备控制器呢是一个可编制的设备当它仅控制一个设备时呢它只有一个唯一的设备地址若设备控制器呢可连接多个设备则应含有多个设备地址,每一个设备地址呢对应一个设备可把设备控制器分为两类一类是用于控制字符设备的控制器一类呢是用于控制快设备的控制器,

接下来我们看一下它的基本功能接收和识别命令设备控制器呢能够接收识别并处理,并处理及发来的多种命令在控制器中具有相应的控制寄存器用来存放接收命令和参数并对所接收的命令呢进行译码,这是它的这样一个接受和识别命令的这样一个功能另外呢还有数据交换设备控制器呢可实现cpu与控制器之间,设备控制器与设备之间的数据交换那么对于cpu与控制器之间呢是通过数据总线由cpu并行的把数据写入控制器或者从控制器中呢并行的读出数据,对于控制器与设备之间呢是设备将数据呢输出到控制器或者从控制器呢传送给设备因此呢在控制器中呢需具有这样一个数据的这样一个寄存器,第三个标识和标报告状态设备的状态控制器呢应该记下设备的状态呢让cpu进行了解比如说,仅当该设备处于发送就绪状态时cpu呢才能启动控制器从设备中读出数据为此呢在控制器中应该设置一个状态寄存器,用其中的每一位呢反映设备的某一种状态当cpu呢将该寄存器的内容呢读入后便可了解该设备的状态,另外呢地址识别就像内存中每一个单元呢都有一个地址的一个部分系统中每一个设备呢也有一个地址,设备控制器呢必须从中识别所控制的每个设备的地址此外呢为使cpu能从寄存器中写入或读出数据这些寄存器呢都应该具有唯一的地址,控制器呢应该能正确的识别这些地址为此呢在控制器中应该配置地址记码器那么再看一下数据缓冲区对于io设备的速度较低,而cpu和内存的速度较高那么这样一种情况呢在控制器中呢必须设置一个缓冲区在输出时呢用此缓冲期暂存有主机高速传来的数据,然后呢才以以与io设备所匹配的速率呢将缓冲区的速度呢传送给io设备在输入时缓冲区呢用于暂存从io设备送来的数据,在接收到一批数据后呢再将缓冲区的数据呢高速的传送给主机最后呢操作控制,对于有io设备传来的数据设备控制器呢还应应该进行差错检测若发现传送过程中出现了错误那么通常是将差错检测码置位并向cpu告不告告,

于是呢cpu将本次传送来的数据作废并重新进行一个传送希望呢可以保证输入数据的这样一个正确性,那么设备控制器的组成呢由于设备控制器处于cpu与设备之间它既要与cpu通信又要与c设备通信还应该具有按cpu发热的命令呢去控制设备工作的功能,因此呢现有大多数控制器啊都有这三部分组成比如说设备控制器与控制器的处理器的接口设备控制器与我们设备的接口以及呢io逻辑,这样一些部分,那么内存映像io呢利用特定驱动程序呢将抽象io命令呢转换为一系列具体的命令参数等数据呢装入设备控制器的相应寄存器,由控制器来来执行这些命令具体的实施了对io设备的控制那么这样一个工作呢可以由,特定的io指令以及内存映像的方式呢进行完成,那么利用特定的io指令在早期的计算机中呢包括大型计算机为了实现cpu与设备控制之间的通信为每个寄存器呢分配一个io端口这是一个,一个整数的部分另外还设置了一些特定的io指令内存映像io呢在这种方式中在编制上呢不再区分内存单元和设备控制器中的寄存器地址那么都采用k,当k值呢小属于零到n减一的范围呢被认为是内存地址当k大于或等于n时被认为是某个控制器的寄存地址,那么接下来我们再看一下io通道io通道呢虽然呢那么在cpu与io设备之间增加了设备控制器,已经呢减少了cpu与io的干预但当主机所配置的外设很多时cpu呢负担呢仍然很重因此呢在cpu和设备控制器之间呢,又增设了io设备那么也就是说,io设io通道是一种特殊的处理机它具有执行io指令的能力并通过执行通告程序呢来控制io操作,那么io通道呢它的指令类型单一,

并且呢通道没有自己的内存比如说cpu呢与通道呢共享内存那么这里大家要注意io通道呢是一种硬件硬件是一是一种硬件,那么io通道的主要目的是为了建立独立的io操作不仅使数据的传送呢都能独立于cpu而且也希望对io操作的组织管理和结束了尽量独立,以保证cpu呢以更多的时间呢去进行数据处理也就是说其目的呢是使一些原来cpu处理的io任务呢由通道来承担而把cpu从io任务中解脱出来,在设置了通道之后cpu只需向通道发出一条io指令通道在收到io指令后呢便从内存取出本次要执行的通道程序然后呢执行该通道程序,紧张通道完成了规定的这样一个io任务后呢才向cpu发出中断信号比如说这里大家要注意我们的io通道呢它是一种硬件,那么通道的类型,由我们的字节多路通道,数组选择通道,以及呢数组多路通道,字节多路通道呢这是一种按字节交叉方式工作的这样一个通道它通常呢都含有许多分分配型的这样一个子通道其数量呢可以到达几百个每一个子通道呢连接一台io设备,并控制该设备的io操作这些子通道呢按时间片轮转的方式来共享主通道,数组选择通道呢字节多路通道呢不适用于连接高速设备那么这样呢我们可以这就推动了按数组方式进行数据传送的数组选择通道的形成,那么这种通道呢虽然可以连接多台高速设备但由于它只含有一个分配型子通道在一段时间内呢只能执行一道通道程序控制一台设备控制器,进行数据传送那么致使当某台设备占用了某通道后呢便一直由它独占那么即使无数据传送了通道也被闲置也不允许了其他设备使用通道,直到该设备呢完成传送释放该通道那么数组选多路通道呢数组选择通道虽然有很高的传送率但它却每次只允许一个设备传送数据,

数组多路通道呢是将数组选择通道传输速率高的字节呢多和字节多路通道呢能使各子通道呢分时并行操作的优点呢相结合的一种新通道,那么另外呢我们还有一个瓶颈问题由于通道价格昂贵致使机器中的所设置的通道数呢比较少这往往呢又造成了io的瓶颈进而造成了整个吞吐,仅整个系统的吞吐量的下降,那么接下来呢我们看一下中断机构和中断处理程序对于操作系统的io系统呢,那么我们呢,我们介绍一下我们来介绍一下从这样一个类型的这样一个方向的层次的,运用过程的这样一个中断处理程序的这样一个部分中断呢在操作系统中呢有着重要的地位它是多道程序呢得以实现的基础那么没有中断呢就不可能实现多道程序,因为进程之间的切换呢是通过终端来完成的另一方面呢终端也是设备管理的基础为了提高处理器的利用率和实现cpu和io设备并行执行,也必须有中断的支持中断处理程序呢是io系统中最低的一层它是整个io系统的基础,那么中断呢有中断和陷入那么中断呢是指cpu对io设备发来中断信号的一种响应cpu暂停正在执行的程序保留cpu环境后呢,自动的转去执行该io设备的中断处理程序执行完后呢再回到断点继续执行原程序,io设备呢可以是字符设备也可以呢是快设备通信设备等由于通信由于中断了是由外部设备引起了又称之为外中外中断,另外呢还有一种由cpu内部事件引起的中断那么这种呢我们称之为陷入,比如说程序在运行过程中发生了上移或者下移又或者程序出错或者非法指令地址越界电源故障那么通常把这类中断呢称为内中断,或者说陷入,

那么与中断一样若系统呢发现了有陷入事件cpu呢也将暂停正在执行的程序转去执行该陷入事件的处理程序,终端与线路的主要区别呢是信号的来源就是说是来自于cpu的外部还是cpu的内部,接下来我们看一下中断向量表与中断优先级那么为了处理这样的方便呢通常呢为每种设备配备相应的中断处理程序,并把该程序的入口地址呢放在中断向量表的一个表象中也就是说中断向量表的一个表象呢是一个中断处理程序的这样一个入口地址,并为每个设备的中断请求呢规定一个中断号它就直接对应于中断向量表的一个表象中,对io设备发来的中断请求信号时呢由中断控制器确定该请求的中断号根据该设备的中断号呢去查找中断向量表,从中取出该设备中断处理程序的入口地址这样呢便可以转入中断处理程序进行执行也就是说我们的中断,处向量表的一个表象那么就是该程序的就是,相应的中断处理程序的入口地址那么这样一个部分,那么我们看一下中断优先级那么实际上的情况呢经常会有多个中断信号源每个中断源呢对服务的要求的紧急程度呢并不相同比如说,键盘终端请求呢它的紧迫程度呢不如打印机打印机中断的紧迫程度呢不如又不如磁盘,那么这个时候呢系统就需要为他们分别规定不同的优先级,那么对多中断源的处理方式呢,对于多中断源的情况当处理器呢正在处理一个中断时又来了一个新的中断请求那么?这时呢比如说我们对于这种那么这时呢应该如何处理呢,

比如说系统正在处理打印机中断时又收到了优先级更高的磁盘中断那么对于这种情况有两种处理方式一种呢是屏蔽中断就是禁止中断,另一种呢是嵌套中断当处理器呢正在处理我们来看一下屏蔽中断当处理器呢正在处理一个中断时将屏蔽到所有的中断,借处理器呢对任何新到的中断的请求呢都不予理睬都不予执行那么都都不予处理这样一个部分而让他们等待直到处理器呢已完成本次中断的处理后,处理期呢再去检查是否有中断发生若有再去处理新到的中断若没有了则返回被中断的程序在该方法中呢所有的中断呢都按顺序依次处理那么优点是简单但不能用于实施性较高,l的中断请求,那么嵌套中断是什么呢嵌套中断在设置了中断优先级的系统中呢通常按那么一些规则呢来进行优先级控制当有多个不同优先级的中断请求时,cpu优先响应最高优先级的中断请求高优先级的中断请求可以抢占正在运行的优先中低优先级中断的这样一个处理机该方式类似于基于优先级的抢占式进程调度,比如说处理器正在处理打印机中断当有磁盘中断到来的时候呢可暂停对打印机中断的请求转去处理磁盘中断如果新到的是键盘中断如果它的优先级呢低于打印机的优先级,则处理器呢继续处理打印机中断那么这是我们嵌套中断的这样一个方式,


页: [1]
查看完整版本: 16.第16节课第六章输入输出系统