《第八章输入输出管理优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第八章输入输出管理优秀PPT.ppt(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第八章输入输出管理第一页,本课件共有39页8.1 I/O 管理概念管理概念什么是外围设备?什么是外围设备?简单来说,除简单来说,除CPU,内存和总线外的独,内存和总线外的独立设备皆可称为外围设备。立设备皆可称为外围设备。什么是什么是IO管理?管理?即管理外围设备,实现外围设备的通信、即管理外围设备,实现外围设备的通信、分配、控制等多个方面的内容。分配、控制等多个方面的内容。第二页,本课件共有39页设备分类设备分类根据不同的观点,可以有多种分类方法。根据不同的观点,可以有多种分类方法。按信息传送方向不同可分为输入设备和输出设备两类:按信息传送方向不同可分为输入设备和输出设备两类:输入设备:计算机
2、用来输入设备:计算机用来“感受感受”或或“接触接触”外部世界的设备,外部世界的设备,它将从外部世界来的信息输入给计算机。如它将从外部世界来的信息输入给计算机。如 键盘、光字符阅读机、电传输入机、键盘、光字符阅读机、电传输入机、数字化仪等数字化仪等输出设备:计算机用来输出设备:计算机用来“影响影响”或或“控制控制”外部世界。它将外部世界。它将 计算机加工好的信息输出给外部世界。计算机加工好的信息输出给外部世界。如:宽行打印机、绘图仪等。如:宽行打印机、绘图仪等。第三页,本课件共有39页设备分类设备分类按传输速率分类按传输速率分类 低速(如键盘):每秒几个字节到数百个字节低速(如键盘):每秒几个字
3、节到数百个字节 中速(如打印机):每秒数千个字节到数十千个字节中速(如打印机):每秒数千个字节到数十千个字节 高速(如网卡、磁盘)每秒数百千个字节到数兆个字节高速(如网卡、磁盘)每秒数百千个字节到数兆个字节按传送信息单位不同可分为字符设备和块设备两类按传送信息单位不同可分为字符设备和块设备两类 字符设备:设备上传送的信息是以字符为单位组织的,如字符设备:设备上传送的信息是以字符为单位组织的,如键盘、打印机等。键盘、打印机等。特征:传输速率低;不可寻址;中断驱动方式特征:传输速率低;不可寻址;中断驱动方式 块设备:设备上传送的信息是以块为单位组织的,块设备:设备上传送的信息是以块为单位组织的,如
4、磁盘、光盘等。传输速率高;可寻址;如磁盘、光盘等。传输速率高;可寻址;DMA方式方式第四页,本课件共有39页8.1 I/O 管理概念管理概念8.1.2 输入输出的管理功能输入输出的管理功能状态跟踪状态跟踪 (设备控制块(设备控制块 DCB)设备存取设备存取设备分配设备分配设备控制设备控制第五页,本课件共有39页8.1 I/O 管理概念管理概念8.1.3 设备独立性设备独立性逻辑设备与物理设备逻辑设备与物理设备:操作系统屏蔽物:操作系统屏蔽物理设备的各种实际特性,以一种独立、理设备的各种实际特性,以一种独立、稳定、统一的接口对应于某一类物理设稳定、统一的接口对应于某一类物理设备,这些接口即为逻辑
5、设备。备,这些接口即为逻辑设备。思考:为什么要定义逻辑设备,这样做思考:为什么要定义逻辑设备,这样做有什么好处?有什么好处?第六页,本课件共有39页8.1 I/O 管理概念管理概念8.1.3 设备独立性设备独立性使用逻辑设备的好处:使用逻辑设备的好处:用户或程序将精力放在功能的应用或实用户或程序将精力放在功能的应用或实现上,不必关心实际的物理设备特性。现上,不必关心实际的物理设备特性。一台物理设备可对应于多种逻辑设备,一台物理设备可对应于多种逻辑设备,实现设备共享。实现设备共享。第七页,本课件共有39页8.1 I/O 管理概念管理概念设备独立性的实现设备独立性的实现用户程序用户程序系统调用接口
6、系统调用接口文件子系统文件子系统设备控制器设备控制器应用层应用层设备驱动程序设备驱动程序字符设备字符设备块设备块设备高速缓存高速缓存操作操作系统系统物理设备层物理设备层第八页,本课件共有39页8.1 I/O 管理概念管理概念8.1.3 设备独立性设备独立性实现设备独立性的优点:实现设备独立性的优点:方便用户方便用户 改善设备利用率改善设备利用率 提高系统的可扩展性和可适应性提高系统的可扩展性和可适应性第九页,本课件共有39页8.1 I/O 管理概念管理概念8.1.4 设备控制块设备控制块(device control block,DCB)设备控制块:系统为每一台设备都配置了一个用来记录设设备控
7、制块:系统为每一台设备都配置了一个用来记录设备的硬件特性、连接和使用情况的一组数据结构。备的硬件特性、连接和使用情况的一组数据结构。设备名设备属性指向命令转换表的指针在I/O总线上的设备地址设备状态当前用户进程指针I/O请求队列指针设备控制块第十页,本课件共有39页8.2 缓冲技术缓冲技术为进一步解决为进一步解决CPU和和IO设备间速度不匹配的矛盾设备间速度不匹配的矛盾引入了缓冲技术,也可用于解决程序所请求的逻辑引入了缓冲技术,也可用于解决程序所请求的逻辑记录大小和设备的物理记录大小失配的问题,是有记录大小和设备的物理记录大小失配的问题,是有效的利用效的利用cpu的重要技术。的重要技术。第十一
8、页,本课件共有39页8.2 缓冲技术缓冲技术缓冲技术的实现原理缓冲技术的实现原理 当某个进程进行数据输出操作时,先当某个进程进行数据输出操作时,先将数据送入缓冲区,当缓冲区满时再将将数据送入缓冲区,当缓冲区满时再将缓冲区的内容送到输出设备上;缓冲区的内容送到输出设备上;反之,当一个进程完成输入操作时,先反之,当一个进程完成输入操作时,先将输入设备上的数据送入缓冲区,当缓将输入设备上的数据送入缓冲区,当缓冲区满时,再由冲区满时,再由CPU将数据取走。将数据取走。第十二页,本课件共有39页8.2 缓冲技术缓冲技术在缓冲管理中必须建立缓冲区,在缓冲管理中必须建立缓冲区,缓冲区的设定有两种方式:缓冲区
9、的设定有两种方式:硬件方式:缓冲器硬件方式:缓冲器容量较小,增加成本,容量较小,增加成本,是用来暂时存放数据的一种存储装置。是用来暂时存放数据的一种存储装置。软件方式:从主存空间中划定出一个特殊的软件方式:从主存空间中划定出一个特殊的 内存区域作为缓冲区,以便于在内存区域作为缓冲区,以便于在I/O操作操作 期间用来临时存放期间用来临时存放I/O数据。数据。第十三页,本课件共有39页8.2 缓冲技术缓冲技术例:磁盘的例:磁盘的“提前读提前读”和和“延迟写延迟写”提前读就是把要读的数据提前放到内存里,提前读就是把要读的数据提前放到内存里,等到要用的时候就直接从内存里取,提等到要用的时候就直接从内存
10、里取,提高效率。高效率。延迟写就是把要写的数据先都放到内存里,延迟写就是把要写的数据先都放到内存里,等积累多了再一次性写到硬盘,降低对等积累多了再一次性写到硬盘,降低对硬盘的读写损耗。硬盘的读写损耗。第十四页,本课件共有39页8.2 缓冲技术缓冲技术常用的缓冲技术:常用的缓冲技术:双缓冲,环行缓冲,缓冲池双缓冲,环行缓冲,缓冲池双缓冲区:双缓冲区:P116 4-12 引入双缓冲技术,为输入或输出分配两个缓冲引入双缓冲技术,为输入或输出分配两个缓冲区,并让两个缓冲区交替工作,就可以形成并行操区,并让两个缓冲区交替工作,就可以形成并行操作的方式。当输入或是输出时就可以形成并行操作作的方式。当输入或
11、是输出时就可以形成并行操作的方式。等当该缓冲区满后,再转去占用另一个缓的方式。等当该缓冲区满后,再转去占用另一个缓冲区,同时第一个缓冲区中的数据可被取走,缓冲冲区,同时第一个缓冲区中的数据可被取走,缓冲区缓冲区可以释放,当另一个缓冲区满后,设备又区缓冲区可以释放,当另一个缓冲区满后,设备又可转过来占用被释放的缓冲区。这样交替占用的缓可转过来占用被释放的缓冲区。这样交替占用的缓冲区,可以使冲区,可以使CPU与外设间的并行度进一步提高。与外设间的并行度进一步提高。第十五页,本课件共有39页8.3 设备分配设备分配8.3.1 设备分配的原则设备分配的原则共享设备:动态分配共享设备:动态分配独占设备:
12、静态分配独占设备:静态分配 IO设备的分配算法(设备的分配算法(P206)先请求先服务先请求先服务优先级最高者优先优先级最高者优先 设备分配的安全性:避免死锁设备分配的安全性:避免死锁第十六页,本课件共有39页8.3 设备分配设备分配8.3.4 虚拟分配(图虚拟分配(图8.4)将独占设备通过特定缓冲保存输入或输出,以此将独占设备通过特定缓冲保存输入或输出,以此模拟共享设备的并行特性。模拟共享设备的并行特性。外部设备联机同时操作外部设备联机同时操作SPOOL(Simultaneous Peripheral Operation On Line)例:采用假脱机技术,用磁盘的一部分空间来代替打印机,例
13、:采用假脱机技术,用磁盘的一部分空间来代替打印机,用户的打印操作实际上是对磁盘的写操作,一旦打印机不用户的打印操作实际上是对磁盘的写操作,一旦打印机不忙,再从盘上取出打印,将慢速的独占设备改造成了可共忙,再从盘上取出打印,将慢速的独占设备改造成了可共享的设备。享的设备。第十七页,本课件共有39页8.3 设备分配设备分配8.3.4 虚拟分配虚拟分配虚拟技术:是在一类物理设备上模拟另一类物理设备虚拟技术:是在一类物理设备上模拟另一类物理设备 的技术,是独占设备转化为共享设备的技术。的技术,是独占设备转化为共享设备的技术。虚拟设备:用来代替独占型设备的那部分外存空间虚拟设备:用来代替独占型设备的那部
14、分外存空间 (包括有关的控制表格)(包括有关的控制表格)虚拟分配:当某进程需要与独占型设备交换信息时,假脱机系虚拟分配:当某进程需要与独占型设备交换信息时,假脱机系统就将与该独占设备所对应的那部分磁盘、磁鼓的一部分统就将与该独占设备所对应的那部分磁盘、磁鼓的一部分存储空间分配给它。这种分配方法就称为设备的虚拟分配存储空间分配给它。这种分配方法就称为设备的虚拟分配方法。方法。第十八页,本课件共有39页8.4 输入输入/输出控制输出控制8.4.1 I/O硬件硬件 端口(端口(port)、总线()、总线(bus)、控制器()、控制器(controller)输入输入/输出控制方式:输出控制方式:1)循
15、环测试)循环测试I/O方式方式2)I/O中断方式中断方式3)DMA方式方式4)通道方式)通道方式第十九页,本课件共有39页8.4 输入输入/输出控制输出控制1)循环测试)循环测试I/O方式方式I/O控制器控制器 I/O控制器是操作系统软件和硬件设备之间的接口。控制器是操作系统软件和硬件设备之间的接口。负责接收负责接收CPU的命令,控制的命令,控制I/O设备进行实际的操作。设备进行实际的操作。它有数据缓冲寄存器和控制寄存器。它有数据缓冲寄存器和控制寄存器。第二十页,本课件共有39页8.4 输入输入/输出控制输出控制1)循环测试)循环测试I/O方式方式 工作过程:设某程序要从某一输入设备输入一个数
16、据,工作过程:设某程序要从某一输入设备输入一个数据,那么将按如下步骤进行:那么将按如下步骤进行:i、把一个启动位为把一个启动位为“1”的控制字写入该设备的控制状态寄存的控制字写入该设备的控制状态寄存器,从而启动该设备进行输入操作;器,从而启动该设备进行输入操作;ii、反复读控制寄存器的内容,并测试其中的完成位,若为反复读控制寄存器的内容,并测试其中的完成位,若为0,转转ii,否则转,否则转iii;iii、把数据缓冲区中的数据读入把数据缓冲区中的数据读入CPU或主存单元。或主存单元。特点:特点:CPU利用率太低,此方式在早期计算机中使用。利用率太低,此方式在早期计算机中使用。第二十一页,本课件共
17、有39页8.4 输入输入/输出控制输出控制2)I/O中断方式中断方式 控制寄存器控制寄存器 在控制状态寄存器中有一位在控制状态寄存器中有一位“中断允许位中断允许位”。第二十二页,本课件共有39页8.4 输入输入/输出控制输出控制2)I/O中断方式中断方式 工作过程:工作过程:i、要求输入数据的进程把一个启动和中断允许位为、要求输入数据的进程把一个启动和中断允许位为“1”的控的控制字写入设备控制状态寄存器中,从而启动该设备进行物制字写入设备控制状态寄存器中,从而启动该设备进行物理操作;理操作;ii、上述进程因等待输入操作的完成而进入等待状态。于、上述进程因等待输入操作的完成而进入等待状态。于是进
18、程调度程序调另一进程运行。是进程调度程序调另一进程运行。iii、当输入完成时,输入设备通过中断申请线向、当输入完成时,输入设备通过中断申请线向CPU发中断请发中断请求信号,通过中断进入,求信号,通过中断进入,CPU转向该设备的中断处理程序。转向该设备的中断处理程序。第二十三页,本课件共有39页8.4 输入输入/输出控制输出控制2)I/O中断方式中断方式 工作过程:工作过程:iv、中断处理程序中,中断服务完成:把输入缓冲寄存器中、中断处理程序中,中断服务完成:把输入缓冲寄存器中的输入数据转送到某一特定单元中;同时,唤醒等待输的输入数据转送到某一特定单元中;同时,唤醒等待输入完成的那个进程。最后返
19、回到被中断的进程继续执行。入完成的那个进程。最后返回到被中断的进程继续执行。v、在以后某个时刻,进程调度程序将调度到要求输入的、在以后某个时刻,进程调度程序将调度到要求输入的进程,该进程从约定的特定单元中取出数据做进一步进程,该进程从约定的特定单元中取出数据做进一步处理。处理。第二十四页,本课件共有39页8.4 输入输入/输出控制输出控制2)I/O中断方式中断方式 特点:特点:a、与循环测试方式相比,、与循环测试方式相比,I/O中断方式使中断方式使CPU的利用率的利用率 大大提高;大大提高;b、由于每台设备每输入、由于每台设备每输入/输出一个数据,都要求中断输出一个数据,都要求中断 CPU,当
20、系统配置的设备较多时,系统进行中断,当系统配置的设备较多时,系统进行中断 处理的次数就很多,这会使处理的次数就很多,这会使CPU的有效计算时间的有效计算时间 大大减小。大大减小。第二十五页,本课件共有39页8.4 输入输入/输出控制输出控制3)DMA方式方式 DMA控制器控制器 DMA方式中方式中I/O控制器有更强的功能。它除了具有中断功控制器有更强的功能。它除了具有中断功能外,还有一个能外,还有一个DMA控制机构。在控制机构。在DMA控制器的控制下,控制器的控制下,设备和主存之间可以成批的进行数据交换,而不用设备和主存之间可以成批的进行数据交换,而不用CPU干预。干预。这样既大大减轻了这样既
21、大大减轻了CPU的负担,也使的负担,也使I/O的数据传送速度大的数据传送速度大大提高。大提高。第二十六页,本课件共有39页8.4 输入输入/输出控制输出控制3)DMA方式方式 工作过程:工作过程:i、当一个进程准备要求设备输入一批数据时,把要求传送的主、当一个进程准备要求设备输入一批数据时,把要求传送的主存始地址和字节数分别送入存始地址和字节数分别送入DMA控制器的主存地址寄存器控制器的主存地址寄存器和传送字数寄存器;和传送字数寄存器;ii、把允许中断位和启动位为、把允许中断位和启动位为“1”的一个控制字送入控制状的一个控制字送入控制状态寄存器,从而启动设备进行成批的数据传送;态寄存器,从而启
22、动设备进行成批的数据传送;iii、上述进程把自己挂起,等待一批数据输入的完成,于是进程、上述进程把自己挂起,等待一批数据输入的完成,于是进程调度程序调度其他进程运行;调度程序调度其他进程运行;第二十七页,本课件共有39页8.4 输入输入/输出控制输出控制3)DMA方式方式 工作过程:工作过程:iv、当一批数据输入完成时,输入设备完成中断信号中断正、当一批数据输入完成时,输入设备完成中断信号中断正在进行的进程,控制转向中断处理程序;在进行的进程,控制转向中断处理程序;v、中断处理程序中的中断服务完成:唤醒等待输入完成的、中断处理程序中的中断服务完成:唤醒等待输入完成的进程,最后返回到被中断的进程
23、;进程,最后返回到被中断的进程;vi、当进程调度程序调度到要求输入的进程时,该进程按指定的、当进程调度程序调度到要求输入的进程时,该进程按指定的主存始址和实际传送字数对输入数据进行加工。主存始址和实际传送字数对输入数据进行加工。第二十八页,本课件共有39页8.4 输入输入/输出控制输出控制3)DMA方式方式 工作过程:工作过程:执行了步骤执行了步骤ii后,后,DMA硬件马上控制硬件马上控制I/O设备与主设备与主存之间的信息交换。每当存之间的信息交换。每当I/O设备读入数据到设备读入数据到DMA控制控制器后,器后,DMA控制器立即取代控制器立即取代CPU,接管地址总线的控,接管地址总线的控制权,
24、进行相应处理,完成制权,进行相应处理,完成DMA与主存之间的数据传与主存之间的数据传送。然后恢复送。然后恢复CPU对主存的控制权。重复上述过程,直对主存的控制权。重复上述过程,直到传送字数寄存器中的值变为到传送字数寄存器中的值变为0时,向时,向CPU发出完成中发出完成中断信号。断信号。第二十九页,本课件共有39页8.4 输入输入/输出控制输出控制3)DMA方式方式 DMA和和I/O中断的区别:中断的区别:a、中断方式是在数据缓冲寄存区满后,发中断请求,、中断方式是在数据缓冲寄存区满后,发中断请求,CPU进进行中断处理;行中断处理;DMA方式则是以数据块为单位传输的,在所要求传方式则是以数据块为
25、单位传输的,在所要求传送的数据块全部传送结束时要求送的数据块全部传送结束时要求CPU进行中断处理,进行中断处理,大大减少了大大减少了CPU进行中断处理的次数。进行中断处理的次数。d、中断方式的数据传送是由设备到、中断方式的数据传送是由设备到CPU再到内存,或者相再到内存,或者相反;反;DMA方式的数据传送则是将所传输的数据由设备直接送方式的数据传送则是将所传输的数据由设备直接送入内存,或是由内存直接送到设备。入内存,或是由内存直接送到设备。第三十页,本课件共有39页8.4 输入输入/输出控制输出控制3)DMA方式方式 DMA方式的不足:方式的不足:使用使用DMA方式,方式,CPU每发出一条每发
26、出一条I/O指令,只能读写指令,只能读写一个连续的数据块,如果需要一次去读多个离散的数据一个连续的数据块,如果需要一次去读多个离散的数据块且将他们分别送到不同的内存区域,则需要块且将他们分别送到不同的内存区域,则需要CPU分别分别发出多条发出多条I/O指令及进行多中断处理,才能完成。指令及进行多中断处理,才能完成。第三十一页,本课件共有39页8.4 输入输入/输出控制输出控制4)通道方式)通道方式I/O通道:是用来控制外部设备与主存之间进行成批数据通道:是用来控制外部设备与主存之间进行成批数据传输的部件。每个通道可以连接多台外部设备,并控制传输的部件。每个通道可以连接多台外部设备,并控制它们的
27、它们的I/O操作。通道有着自己的一套简单的指令系统操作。通道有着自己的一套简单的指令系统和执行通道程序,通道接受和执行通道程序,通道接受CPU的委托,而又独立与的委托,而又独立与CPU工作。因此,可以把通道看成是一台小型的处理工作。因此,可以把通道看成是一台小型的处理I/O的的处理机,或称为处理机,或称为I/O处理机。处理机。第三十二页,本课件共有39页8.4 输入输入/输出控制输出控制4)通道方式)通道方式 三种类型:字节多路通道,选择通道和数组多路通道。三种类型:字节多路通道,选择通道和数组多路通道。特点:特点:通道方式有更强的通道方式有更强的I/O处理能力。处理能力。大大提高了大大提高了
28、CPU与外部设备的并行工作程度。与外部设备的并行工作程度。第三十三页,本课件共有39页linux设备管理介绍设备管理介绍在在Linux 中输入中输入/输出设备被分为三类:块设备,输出设备被分为三类:块设备,字符设备和网络设备。字符设备和网络设备。字符设备指那些无需缓冲区可以直接读写的设字符设备指那些无需缓冲区可以直接读写的设备,如系统的串口设备备,如系统的串口设备/dev/cua0和和/dev/cua1。块设备则仅能以块为单位进行读写的设备,如块设备则仅能以块为单位进行读写的设备,如软盘,硬盘,光盘等,典型块的大小为软盘,硬盘,光盘等,典型块的大小为 512 或或 1024 字节。字节。网络设
29、备可以通过网络设备可以通过BSD套接口访问数据。套接口访问数据。第三十四页,本课件共有39页linux设备管理介绍设备管理介绍CPU并不是系统中唯一的智能设备,并不是系统中唯一的智能设备,每个物理设备都拥每个物理设备都拥有自己的控制器。有自己的控制器。键盘、鼠标和串行口由一个高级键盘、鼠标和串行口由一个高级I/O芯片统一管理,芯片统一管理,IDE控制器控制控制器控制IDE硬盘而硬盘而SCSI控制器控制器控制控制SCSI硬盘等等。硬盘等等。每个硬件控制器都有各自的控制状态寄存器并且各不每个硬件控制器都有各自的控制状态寄存器并且各不相同。相同。这些寄存器用来启动、停止、初始化设备以及对这些寄存器用
30、来启动、停止、初始化设备以及对设备进行诊断。设备进行诊断。在在 Linux 中管理硬件设备控制器的代码并没有放置在中管理硬件设备控制器的代码并没有放置在每个应用程序中而是由内核统一管理,每个应用程序中而是由内核统一管理,这些处理和管这些处理和管理硬件控制器的软件就是设备驱动程序。理硬件控制器的软件就是设备驱动程序。第三十五页,本课件共有39页linux设备管理介绍设备管理介绍Linux设备驱动程序的主要功能有设备驱动程序的主要功能有:对设备进行初始化对设备进行初始化;使设备投入运行和退出服务使设备投入运行和退出服务;从设备接收数据并将它们送回内核从设备接收数据并将它们送回内核;将数据从内核送到
31、设备将数据从内核送到设备;检测和处理设备出现的错误检测和处理设备出现的错误;第三十六页,本课件共有39页linux设备管理介绍设备管理介绍设备驱动程序是系统内核的一部分,它们必须为设备驱动程序是系统内核的一部分,它们必须为系统内核或它们的子系统提供一个标准的接口。系统内核或它们的子系统提供一个标准的接口。设备驱动程序利用一些标准的内核服务,如内存设备驱动程序利用一些标准的内核服务,如内存分配等。另外,大多数分配等。另外,大多数Linux设备驱动程序都可设备驱动程序都可以在需要时装入内核,不需要时可以卸载下来。以在需要时装入内核,不需要时可以卸载下来。第三十七页,本课件共有39页linux设备管
32、理介绍设备管理介绍应用程序通常可以通过系统调用应用程序通常可以通过系统调用open()打开设备文件,打开设备文件,建立起与目标设备的连接。打开设备文件以后,就可建立起与目标设备的连接。打开设备文件以后,就可以通过以通过read()、write()、ioctl()等文件操作对目标设等文件操作对目标设备进行操作。备进行操作。第三十八页,本课件共有39页linux设备管理介绍设备管理介绍devfs(设备文件系统设备文件系统)设备文件系统包含了所有设备文件系统包含了所有linux可识别的可识别的外接设备的设备文件。当设备文件系统外接设备的设备文件。当设备文件系统被挂接到特定的目录之下以后,就可以被挂接到特定的目录之下以后,就可以对设备文件的所有操作对应到设备的操对设备文件的所有操作对应到设备的操作。作。第三十九页,本课件共有39页