第八章 输入输出管理_第1页
第八章 输入输出管理_第2页
第八章 输入输出管理_第3页
第八章 输入输出管理_第4页
第八章 输入输出管理_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论