




已阅读5页,还剩135页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
AppliedOperatingSystemConcepts,设备管理,完成用户的I/O请求,提高I/O速率、改善I/O设备的利用率,AppliedOperatingSystemConcepts,设备管理,一、设备管理的目标和任务二、I/O系统概述三、I/O控制方式四、缓冲管理五、设备分配六、设备处理,AppliedOperatingSystemConcepts,设备管理的目标和功能,1设备管理的目标提高设备的利用率设备独立性字符编码的独立性设备处理的一致性,AppliedOperatingSystemConcepts,设备管理的目标和任务,1,按照用户的请求,控制设备的各种操作,完成I/O设备与内存之间的数据交换(包括设备分配与回收;设备驱动程序;设备中断处理;缓冲区管理),最终完成用户的I/O请求:(1)设备分配与回收记录设备的状态,根据用户的请求和设备的类型,采用一定的分配算法,选择一条数据通路(2)建立统一的独立于设备的接口(3)完成设备驱动程序,实现真正的I/O操作(4)处理外部设备的中断处理(5)管理I/O缓冲区,AppliedOperatingSystemConcepts,设备管理的目标和任务,2,向用户提供使用外部设备的方便接口,使用户摆脱繁琐的编程负担方便性、友好界面、透明性逻辑设备与物理设备、屏蔽硬件细节(设备的物理细节,错误处理,不同I/O的差异性)3,充分利用各种技术(通道,中断,缓冲等)提高CPU与设备、设备与设备之间的并行工作能力,充分利用资源,提高资源利用率并行性、均衡性(使设备充分忙碌),AppliedOperatingSystemConcepts,设备管理的目标和任务,4,保证在多道程序环境下,当多个进程竞争使用设备时,按一定策略分配和管理各种设备,使系统能有条不紊的工作5,保护:设备传送或管理的数据应该是安全的、不被破坏的、保密的6,与设备无关性(设备独立性)用户在编制程序时,使用逻辑设备名,由系统实现从逻辑设备到物理设备(实际设备)的转换,即用户能独立于具体物理设备而方便的使用设备用户申请使用设备时,只需要指定设备类型,而无须指定具体物理设备,系统根据当前的请求,及设备分配的情况,在相同类别设备中,选择一个空闲设备,并将其分配给一个申请进程统一性:对不同的设备采取统一的操作方式,在用户程序中使用的是逻辑设备优点:设备忙碌或设备故障时,用户不必修改程序改善了系统的可适应性和可扩展性,AppliedOperatingSystemConcepts,Module12:I/OSystems(I/O系统),I/Ohardwared(I/O硬件)ApplicationI/OInterface(应用程序I/O接口)KernelI/OSubsystem(核心I/O子系统)TransformingI/ORequeststoHardwareOperations(转换I/O请求为硬件操作)Performance(性能),AppliedOperatingSystemConcepts,I/O系统概述,1、I/O的特点(1)I/O性能经常成为系统性能的瓶颈CPU性能不等于系统性能,响应时间也是一个重要因素CPU性能越高,与I/O差距越大:弥补:更多的进程但进程切换多,系统开销大(2)操作系统庞大复杂的原因之一是:资源多、杂,并发,均来自I/O,外设种类繁多,结构各异,输入输出数据信号类型不同,速度差异很大(3)理解I/O的工作过程与结构是理解操作系统的工作过程与结构的关键(4)与其他功能联系密切,特别是文件系统,AppliedOperatingSystemConcepts,设备管理的概述,1、微机I/O系统微机I/O系统多采用总线I/O系统结构。,AppliedOperatingSystemConcepts,因为配置的I/O设备较多,若用一条总线直接与CPU通讯,会使总线和CPU的负担太重。因此增加一级I/O通道,以替代CPU与各设备控制器进行通信,实现对它们的控制。,主机I/O系统,AppliedOperatingSystemConcepts,设备与控制器之间的接口,设备与CPU并不直接通信,而是与设备控制器通信。设备与控制器之间的接口如下图:,AppliedOperatingSystemConcepts,设备与控制器之间的接口,数据信号线:用于设备和设备控制器之间传送数据信号。输入设备:外界信号,转换器,缓冲器,设备控制器输出设备:设备控制器,缓冲器,转换器输出控制信号线:用于设备控制器向设备发送控制信号。控制信号规定了设备要执行的操作,如读、写、磁头移动等。状态信号线:用于传送设备当前的状态信号。,AppliedOperatingSystemConcepts,设备控制器,又叫适配器,在小型和微型机中,它常采用印刷电路卡插入计算机中(接口),完成设备与主机间的连接和通讯控制器卡上通常有一个插座,通过电缆与设备相连控制器和设备之间的接口是一个标准接口,它符合ANSI、IEEE或ISO这样的国际标准。,AppliedOperatingSystemConcepts,设备控制器,(1)设备控制器的基本功能接收和识别CPU命令:需控制寄存器(存放接收的命令和参数)、命令译码器。数据交换:CPU与控制器之间、控制器与设备之间,需数据寄存器。标识和报告设备状态:需一状态寄存器。地址识别:识别设备和寄存器地址,应配置地址译码器。数据缓冲:解决CPU和I/O设备之间速度不匹配的问题。差错控制:进行差错检测,保证输入数据的正确性。,AppliedOperatingSystemConcepts,设备控制器,(2)设备控制器的组成CPU与控制器接口控制器与设备接口,数据寄存器,控制/状态寄存器,I/O逻辑,控制器与设备接口i,控制器与设备接口1,数据状态控制,数据状态控制,数据线地址线控制线,AppliedOperatingSystemConcepts,设备控制器与CPU的接口:实现与CPU之的间的通信。有数据线、地址线、控制线。其中数据线通常与数据寄存器和控制/状态寄存器相连。设备控制器与设备的接口:I/O逻辑根据CPU发来的地址信号,选择一个设备接口。I/O逻辑:实现对设备的控制。对CPU发来的命令和地址进行译码,对设备进行控制,AppliedOperatingSystemConcepts,I/O通道,(1)定义:通道是独立于CPU的专门负责数据输入/输出传输工作的处理机,对外部设备实现统一管理,代替CPU对输入/输出操作进行控制,从而使输入、输出操作可与CPU并行操作。通道可以执行通道程序(2)目的:建立独立的I/O操作,不仅使数据的传送独立于CPU,而且使有关对I/O操作的组织、管理及其结束处理也尽量独立,即把CPU从繁杂的I/O任务中解脱出来,提高CPU与设备,设备与设备之间的并行工作能力,AppliedOperatingSystemConcepts,I/O通道,(3)分类字节多路通道以字节为单位传输信息,含有多个非分配型子通道,可以分时地执行多个通道程序。当一个通道程序控制某台设备传送一个字节后,通道硬件就控制转去执行另一个通道程序,控制另一台设备传送信息。主要连接以字节为单位的低速I/O设备,如打印机,终端。以字节为单位交叉传输,当一台传送一个字节后,立即转去为另一台传送字节,AppliedOperatingSystemConcepts,AppliedOperatingSystemConcepts,I/O通道,数组选择通道是以数组方式工作的,即每次传送一批数据,故传送速度很高。但只含有一个分配型子通道,在一段时间内只能执行一个通道程序,只允许一台设备进行数据传输当这台设备数据传输完成后,再选择与通道连接的另一台设备,执行它的相应的通道程序,主要连接磁盘,磁带等高速I/O设备,AppliedOperatingSystemConcepts,I/O通道,数组多路通道它结合了选择通道传送速度高和字节多路通道能进行分时并行操作的优点。它先为一台设备执行一条通道指令,然后自动转接,为另一台设备执行一条通道指令,主要连接高速设备。这样,对于连接多台磁盘机的数组多路通道,它可以启动它们同时执行移臂定位操作,然后,按序交叉地传输一批批数据。数组多路通道实际上是对通道程序采用多道程序设计的硬件实现,AppliedOperatingSystemConcepts,I/O通道,(4)硬件连接问题,AppliedOperatingSystemConcepts,通道:执行通道程序,向控制器发出命令,并具有向CPU发中断信号的功能。一旦CPU发出指令,启动通道,则通道独立于CPU工作。一个通道可连接多个控制器,一个控制器可连接多个设备,形成树形交叉连接主要目的是启动外设时:提高控制器效率、提高可靠性、提高并行度,AppliedOperatingSystemConcepts,单通道I/O系统,“瓶颈”问题:通道不足,造成整个系统吞吐量下降。解决:交叉连接多通道I/O系统,AppliedOperatingSystemConcepts,多通道I/O系统,把一个设备连接到多个控制器上,一个控制器又连接到多个通道上解决了“瓶颈”问题,且提高了系统的可靠性,AppliedOperatingSystemConcepts,总线系统,(1)总线的基本概念:在计算机系统内各种子系统,如CPU、内存、I/O设备等之间,构建公用的信号或数据传输通道,这种可共享连接的传输通道称为总线。(2)总线的分类(非本课程范围)CPU内存总线I/O总线:数据总线、地址总线、控制总线。,AppliedOperatingSystemConcepts,总线的发展,ISA总线:(IndustryStandardArchitecture):为80286微机设计的总线,带宽为8位,传输速率2Mbps,发展至16位,8M,16MEISA总线:(ExtendedISA):32位,32Mbps,连接12台外设局部总线:将多媒体卡、高速LAN网卡、高性能图形卡等从ISA总线上摘下来,再通过局部总线直接接到CPU总线上,使之与高速CPU总线相匹配。而打印机、MODEM、CD-ROM等仍挂在ISA总线上。常见的局部总线有VESA和PCI。VESA(VideoElectronicStandardAssociation):32位,132MBPS,为486机器设计,能连接的设备数仅为24台,控制器中无缓冲。PCI(PeripheralComponentInterface):能支持10种设备,可连接ISA、EISA等总线,支持Pentium的64位系统。SCSI接口技术(小型计算机系统接口SmallComputerSystemInterface)一个SCSII/O设备控制器可将新型高速I/O设备增加到计算机系统中SCSI设备控制器的智能化I/O控制降低了计算机系统的负担,使计算机系统具有更高的I/O能力,AppliedOperatingSystemConcepts,USB(UniversalSerialBus)通用串行总线,是一种连接I/O串行设备的技术标准冲破了计算机技术发展的两个历史局限性:由于I/O设备的接口标准不一致和有限的接口数量已无法满足各种应用迫切需要传统的I/O设备的接口无法满足实时数据传输与多媒体应用的需求USB以WDM(WindowsDriverModel)模型为基础,WDM包含一套通用的I/O服务和二进制兼容的设备驱动程序USB支持同步数据传输方式和异步数据传输方式,其数据传输率有低速15Mbps和全速12Mbps两种,比标准串口快100倍,比标准并口快10倍USB可以主动为外部设备提供电源,允许外部设备快速连接,具有即插即用的功能允许外部设备的热插拔,AppliedOperatingSystemConcepts,AppliedOperatingSystemConcepts,I/OHardware(I/O硬件),IncrediblevarietyofI/Odevices(难以置信的I/O设备种类)Commonconcepts(基本概念)Port(端口)Bus(daisychainorshareddirectaccess)(总线:菊花链或者共享总线)Controller(hostadapter)(控制器,主机适配器)I/Oinstructionscontroldevices(I/O指令控制设备)Deviceshaveaddresses,usedby(设备的寻址方式)DirectI/Oinstructions(直接I/O指令)Memory-mappedI/O(存储器映射I/O指令),AppliedOperatingSystemConcepts,I/O控制方式,发展宗旨:尽量减少主机对I/O控制的干预,把主机从I/O控制事务中解脱出来程序I/O方式中断驱动方式DMA方式通道方式,AppliedOperatingSystemConcepts,Polling(轮询),Determinesstateofdevice(决定设备的状态)command-ready(等待命令)Busy(忙)Error(错误)Busy-waitcycletowaitforI/Ofromdevice(忙等待循环等待设备的I/O操作),AppliedOperatingSystemConcepts,Polling(轮询),Eg,thehostwritesoutputthroughaport,coordinatingwiththecontrollerbyhandshakingasfollows:1.Thehostrepeatedlyreadsthebusybituntilthatbitbecomesclear.2.Thehostsetsthewrotebitinthecommandregisterandwritesabyteintothedata-outregister.3.Thehostsetsthecommand-readybit4.Whenthecontrollernoticesthatthecommand-readybitisset,itsetsthebusybit.5.Thecontrollerreadsthecommandregisterandseesthewritecommand.itreadsthedata-outregistertogetthebyte,anddoestheI/Otothedevice.6.Thecontrollerclearsthecommand-readybit,clearstheerrorbitinthestatusregistertoindicatethatthedeviceI/Osucceeded,andclearsthebusybittoindicatethatitisfinished.,AppliedOperatingSystemConcepts,程序I/O方式:忙等待方式,CPU向控制器发出一条I/O指令启动设备时,要同时把状态寄存器中的忙/闲标志busy置为1,然后便不断地循环测试busy,当busy=0时,表示设备已将数据送入控制器的寄存器中,于是CPU将数据取出,送入指定内存单元,便完成了一个字符的I/O。接下来,再去启动,读下一个数据。CPU的绝大部分时间都处在等待I/O完成的循环测试中(由于CPU和I/O设备速度不匹配)。,AppliedOperatingSystemConcepts,CPUI/O,I/OCPU,出错处理,I/OCPU,CPURAM,完成,执行下一条I/O指令,未完,就绪,未就绪,程序I/O方式的流程,AppliedOperatingSystemConcepts,中断驱动I/O控制方式,当某进程要启动某个I/O设备工作时,便由CPU向相应的设备控制器发出一条I/O命令,然后立即返回执行原来的任务。具体的I/O工作则由控制器去完成。这样,CPU和I/O设备并行操作。直至I/O工作完成,控制器通过控制线向CPU发送一中断信号,由CPU检查输入过程是否正确,若正确,则通过控制器和数据线取走数据,写入指定的内存单元。可见,在I/O设备输入数据时,CPU无需干预,直到I/O完成才去进行中断处理。提高了系统的资源利用率及吞吐量。,AppliedOperatingSystemConcepts,中断驱动方式的流程,AppliedOperatingSystemConcepts,Interrupts(中断),CPUInterruptrequestlinetriggeredbyI/Odevice(CPU的中断需要有I/O设备的触发-interruptrequestline)Interrupthandlerreceivesinterrupts(中断处理例程接收中断)Maskabletoignoreordelaysomeinterrupts(通过屏蔽来忽略或者延迟某些中断)Interruptvectortodispatchinterrupttocorrecthandler(中断向量给中断分配正确的中断处理例程)Basedonpriority(以优先级为基础)Someunmaskable(某些中断不可屏蔽)Interruptmechanismalsousedforexceptions(中断机制也用在异常),AppliedOperatingSystemConcepts,Interrupt-driveI/OCycle(中断驱动的I/O循环),AppliedOperatingSystemConcepts,直接存储器访问(DMA)I/O控制方式,中断驱动I/O方式虽然大大提高了主机的利用率,但是它以字(节)为单位进行数据传送,每完成一个字(节)的传送,控制器便要向CPU请求一次中断(做保存现场信息,恢复现场等工作),仍然占用了CPU的许多时间。这种方式对于高速的块设备的I/O控制显然是不适合。为了进一步减少CPU对I/O的干预,引入了直接存储器访问(DirectMemoryAccess)控制方式。,AppliedOperatingSystemConcepts,直接存储器访问(DMA)I/O控制方式,1它作为高速的外围设备与内存之间成批的数据交换,但是不对数据再做加工处理,数据传输的基本单位是数据块,I/O操作的类型比较简单。2它需要使用一个专门的DMA控制器(DMAC)。DMAC中有控制、状态寄存器、传送字节计数器、内存地址寄存器和数据缓冲寄存器。,AppliedOperatingSystemConcepts,直接存储器访问(DMA)I/O控制方式,DMA特点:以块为数据传输单位;在设备和内存之间直接传送数据;仅在传送完一个数据块的开始和结束时,才需CPU干预,而数据的传送是在DMA控制器的控制下完成的。DMA能够通过系统总线代替CPU管理数据的存入或取出当CPU不需要系统总线时可以使用总线DMA可以强迫CPU暂时延迟其他操作,获取一个总线周期(周期窃取),AppliedOperatingSystemConcepts,DMA控制器的组成,CPU与DMA控制器的接口、DMA控制器与块设备的接口、I/O控制逻辑四类寄存器:DR:数据寄存器;MAR:内存地址寄存器;CR:命令/状态寄存器;DC:数据计数器,AppliedOperatingSystemConcepts,DMA工作原理窃取总线控制权,当DMA硬件控制磁盘与存储器之间进行信息交换时,每当把一个数据读入控制器的数据缓冲区时,DMA控制器取代CPU,接管地址总线的控制权,并按照DMA控制器中的存储器地址和寄存器内容把数据送入相应的内存单元中。然后,DMA硬件自动地把传送字节计数器减1,把存储器地址寄存器加1,并恢复CPU对内存的控制权,DMA控制器对每一个传送的数据重复上述过程,直到传送字节计数器为“0”时,向CPU产生一个中断信号。当操作系统接管CPU控制权时,再无需做块复制的工作了,AppliedOperatingSystemConcepts,DMA工作过程,把输入数据的内存起始地址及要传送的字节数送入DMA控制器的内存地址寄存器MAR和字节计数器DC中断允许位和启动位置成1,启动设备发出传输要求的进程进入等待状态执行指令被暂时挂起,进程调度其他进程占据CPU输入设备不断窃取CPU工作周期,数据不断写入内存每当传送一个字节后,字节计数器DC减1当DC=0,传送完毕,控制器发出中断信号CPU接到中断信号转入中断处理程序处理中断处理结束,CPU返回原进程或切换到新的进程,AppliedOperatingSystemConcepts,CPU向控制器发出启动DMA通知和有关参数,控制器向内存发出询问请求,访问内存(读、写),计数器减1,结束否,发中断,Y,N,DMA的实现流程,AppliedOperatingSystemConcepts,DMA工作示例(以硬盘为例),CPU提供:被读取块磁盘地址、目标存储地址、待读取字节数整块数据读进缓冲区核准校验,控制器按照指定存储器地址,把第一个字节送入主存,然后,按指定字节数进行数据传送每当传送一个字节后,字节计数器值减1,直到字节计数器等于0此时,控制器引发中断,通知操作系统,操作完成,AppliedOperatingSystemConcepts,不用DMA时,磁盘如何读,首先,控制器从磁盘驱动器串行地一位一位地读数据,将其放入控制器的内部缓冲区中其次,它做和校验计算,以核实没有读错误发生然后控制器产生一个中断。CPU响应中断,控制转给操作系统。当操作系统开始运行时,它重复地从控制器缓冲区中一次一个字节或一个字地读这个磁盘块的信息,并将其送入内存中,AppliedOperatingSystemConcepts,采用DMA方式时,磁盘如何读,允许DMA控制器接管地址线的控制权,直接控制DMA控制器与内存的数据交换。从而使磁盘设备与内存之间的数据传送不需要CPU介入,因而减轻了CPU负担当采用DMA时,除向控制器提供要读块的磁盘地址外,还要向控制器提供两个信息:要读块送往内存的起始地址和要传送的字节数,AppliedOperatingSystemConcepts,DirectMemoryAccess(直接内存存取),UsedtoavoidprogrammedI/Oforlargedatamovement(用来避免编程I/O来传输大量的数据)RequiresDMAcontroller(需要DMA控制器)BypassesCPUtotransferdatadirectlybetweenI/Odeviceandmemory(绕过CPU来在I/O设备和内存之间直接传输数据),AppliedOperatingSystemConcepts,SixstepprocesstoperformDMAtransfer(通过六步来完成DMA传输),AppliedOperatingSystemConcepts,DMA方式与中断方式的主要区别,中断方式是在数据缓冲寄存器满后,发中断请求,CPU进行中断处理DMA方式则是在所要求传送的数据块全部传送结束时要求CPU进行中断处理大大减少了CPU进行中断处理的次数中断方式的数据传送是由CPU控制完成的而DMA方式则是在DMA控制器的控制下不经过CPU控制完成的,AppliedOperatingSystemConcepts,I/O通道控制方式,1,I/O通道控制方式的引入虽然DMA方式比中断驱动方式已显著地减少了CPU的干预,即由以字(节)为单位的干预减少到以数据块为单位的干预。但是CPU每发出一条I/O指令,也只能去读(或写)一个连续的数据块。而当我们需要一次去读多个离散的数据块且将它们分别传送到不同的内存区域,或者相反时,则需由CPU分别发出多条I/O指令及进行多次中断处理,才能完成。,AppliedOperatingSystemConcepts,I/O通道控制方式,由于DMA每次只能执行一条I/O指令,不能满足复杂的I/O操作要求。在大、中型计算机系统中,普遍采用由专用的I/O处理机来接受CPU的委托,独立执行自己的通道程序来实现I/O设备与内存之间的信息交换,这就是通道技术。通道技术可以进一步减少CPU的干预,即把以一个数据块为单位的读(或写)的干预,减少到对一组数据块为单位的读(或写)的有关的控制和管理的干预。这样可实现CPU、通道和I/O设备三者之间的并行工作,从而更有效地提高了整个系统的资源利用率和运行速度。,AppliedOperatingSystemConcepts,I/O通道控制方式,例如,当CPU要完成一组相关的I/O操作及有关控制时,只需向I/O通道发出一条I/O指令,并给出通道程序的首址和要访问的I/O设备,通道接到该指令后,通过执行通道程序便可自动完成CPU指定的I/O任务。通道相当于一个功能简单的处理机,包含通道指令(空操作,读操作,写操作,控制,转移操作),并可执行用这些指令编写的通道程序,AppliedOperatingSystemConcepts,I/O通道控制方式,2,工作原理CPU:执行用户程序,当遇到I/O请求时,可根据该请求生成通道程序放入内存(也可事先编好放入内存),并给出该通道程序的首地址,之后执行“启动I/O”指令,启动通道工作通道:接收到“启动I/O”指令后,取出通道程序的首地址,并根据首地址取出第一条指令,同时向CPU发回答信号,使CPU可继续执行其他程序,而通道则开始执行通道程序,完成传输工作(通道程序完成实际I/O,启动I/O设备,执行完毕后,如果还有下一条指令,则继续执行,否则表示传输完成)当通道传输完成最后一条指令时,向CPU发I/O中断,并且通道停止工作。CPU接收中断信号,根据通道状态信息,决定下一步做什么,AppliedOperatingSystemConcepts,每条通道指令应包含以下的内容:,(1)操作码:它规定指令所执行的操作,如读、写等。(2)内存地址:标明数据传送时内存的首址。(3)计数:表示传送数据的字节数。(4)通道程序结束位R0,表示通道程序是否结束。(5)记录结束标志R1,表示所处理的记录是否结束。,AppliedOperatingSystemConcepts,下面给出一个由三条通道指令所构成的简单程序。该程序是将内存中不同地址的数据写成多个记录。,AppliedOperatingSystemConcepts,通道方式的数据传送结构,AppliedOperatingSystemConcepts,ApplicationI/OInterface(应用程序I/O接口),I/Osystemcallsencapsulatedevicebehaviorsingenericclasses(I/O子系统设备行为精简成几个常用的类别)Device-driverlayerhidesdifferencesamongI/Ocontrollersfromkernel(设备驱动层对核心隐藏了I/O控制器的不同细节)Devicesvaryinmanydimensions(设备变化范围非常大)Character-streamorblock(字符流或者块设备)Sequentialorrandom-access(顺序或随机设备)Sharableordedicated(共享或独占设备)Speedofoperation(操作速度的不同)read-write,readonly,orwriteonly(读写,只读,只写),AppliedOperatingSystemConcepts,ApplicationI/OInterface(应用程序I/O接口),software,hardware,device,AkernelI/Ostructure,AppliedOperatingSystemConcepts,I/O软件的分层及各层功能,用户进程层:执行输入输出系统调用,对IO数据进行格式化,为假脱机输入输出作准备独立于设备的软件:实现设备的命名、设备的保护、成块处理、缓冲技术和设备分配设备驱动程序:与设备相关的代码。每个设备驱动程序处理一种类型的设备。任务是接受来自上层的抽象请求,并执行之。如设置设备寄存器、检查设备的执行状态中断处理程序:负责IO完成时,唤醒设备驱动程序进程,进行中断处理。硬件层实现物理IO的操作,AppliedOperatingSystemConcepts,AppliedOperatingSystemConcepts,2、I/O设备的分类,(1)按使用特性分:存储型设备输入型设备(外设主机)输出型设备(主机外设)输入输出型设备(交互型设备),AppliedOperatingSystemConcepts,2、I/O设备的分类,(2)按数据组织分字符设备(CharacterDevice):指以单个字符为单位来传送数据信息的设备。这类设备一般用于数据的输入和输出,有交互式终端、打印机等。它属于无结构设备。字符设备的基本特征是:传输速率较低;不可寻址,即不能指定输入时的源地址或输出时的目标地址;字符设备的IO常采用中断驱动方式。块设备(BlockDevice):指以数据块为单位来组织和传送数据信息的设备。这类设备用于存储信息,有磁盘和磁带等。它属于有结构设备。典型的块设备是磁盘,每个盘块的大小为512B4KB,磁盘设备的基本特征是:传输速率较高,通常每秒钟为几兆位;它是可寻址的,即可随机地读/写任意一块;磁盘设备的I/O采用DMA方式。,AppliedOperatingSystemConcepts,2、I/O设备的分类,(3)按外部设备的从属关系分系统设备:指操作系统生成时,登记在系统中的标准设备,(如终端、打印机、磁盘机等)用户设备:指在系统生成时,未登记在系统中的非标准设备。对于这类设备的处理程序由用户提供,并将其纳入系统,由系统代替用户实施管理。(如A/D,D/A转换器,CAD所用专用设备),AppliedOperatingSystemConcepts,2、I/O设备的分类,(4)按资源分配角度分独占设备:指在一段时间内只允许一个用户(进程)访问的设备,大多数低速的I/O设备,如用户终端、打印机等属于这类设备。因为独占设备属于临界资源,所以多个并发进程必须互斥地进行访问。共享设备:指在一段时间内允许多个进程同时访问的设备。显然,共享设备必须是可寻址的和可随机访问的设备。典型的共享设备是磁盘。共享设备不仅可以获得良好的设备利用率,而且是实现文件系统和数据库系统的物质基础。,AppliedOperatingSystemConcepts,2、I/O设备的分类,(4)按资源分配角度分虚设备:在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚设备目的:将慢速的独占设备改造成多个用户可共享的设备,提高设备的利用率(实例:SPOOLing技术,利用虚设备技术用硬盘模拟输入输出设备)(5)从程序使用角度分逻辑设备、物理设备,AppliedOperatingSystemConcepts,2、I/O设备的分类,(6)按数据传输率分低速设备:指传输速率为每秒钟几个字节到数百个字节的设备。典型的设备有键盘、鼠标、语音的输入等;中速设备:指传输速率在每秒钟数千个字节至数十千个字节的设备。典型的设备有行式打印机、激光打印机等;高速设备:指传输速率在数百千个字节至数兆字节的设备。典型的设备有磁带机、磁盘机、光盘机等。(7)按接口分与用户交流:显示器,键盘,鼠标,打印机等与电子设备交流:磁盘、磁带等通信:与远程设备通信:调制解调器,AppliedOperatingSystemConcepts,BlockandCharacterDevices(块或字符设备),Blockdevicesincludediskdrives(块设备包括磁盘)Commandsincluderead,write,seek(命令包括读,写,搜寻)RawI/Oorfile-systemaccess(原始的I/O或文件系统存取)Memory-mappedfileaccesspossible(存储器映射文件访问的可能性)Characterdevicesincludekeyboards,mice,serialports(字符设备包括键盘,鼠标和串口设备)Commandsincludeget,put(命令有get,put)Librarieslayeredontopallowlineediting(顶层的函数库允许行编辑),AppliedOperatingSystemConcepts,NetworkDevices(网络设备),Varyingenoughfromblockandcharactertohaveowninterface(从块设备和字符设备变化而来,有独自的接口)UnixandWindows/NTincludesocketinterface(Unix和Windows/NT包括socket接口)Separatesnetworkprotocolfromnetworkoperation(分离网络协议于网络操作)Includesselectfunctionality(包括select功能)Approachesvarywidely(pipes,FIFOs,streams,queues,mailboxes)(方式广泛:管道,FIFOs,流,队列,邮箱),AppliedOperatingSystemConcepts,ClocksandTimers(时钟和记时器),Providecurrenttime,elapsedtime,timer(提供当前的时间,经过的时间,计时器)ifprogrammableintervaltimeusedfortimings,periodicinterrupts(如果把可编程的时间间隔用于计时,那么定期中断)ioctl(onUNIX)coversoddaspectsofI/Osuchasclocksandtimers(在UNIX中,ioct1掩盖了I/O设备(象时钟和计时器)之间区别),AppliedOperatingSystemConcepts,BlockingandNonblockingI/O阻塞和非阻塞I/O,Blocking-processsuspendeduntilI/Ocompleted(阻塞进程挂起直到I/O完成)Easytouseandunderstand(容易使用和理解)Insufficientforsomeneeds(在某些场合没有效率)Nonblocking-I/Ocallreturnsasmuchasavailable(非阻塞I/O调用返回一个代表是否成功的值)Userinterface,datacopy(bufferedI/O)(用户界面,数据拷贝(对I/O缓冲)Implementedviamulti-threading(通过多线程来实现)Returnsquicklywithcountofbytesreadorwritten(迅速的返回读写的字节数)Asynchronous-processrunswhileI/Oexecutes(异步:在I/O处理的时候进程同时运行)Difficulttouse(难以使用)I/OsubsystemsignalsprocesswhenI/Ocompleted(当I/O操作完成的时候,I/O子系统向进程发信号),AppliedOperatingSystemConcepts,KernelI/OSubsystem(核心I/O子系统),KernelsprovidemanyservicesrelatedtoI/0:1)Scheduling(调度)SomeI/Orequestorderingviaper-devicequeue(某些I/O需要按设备队列的顺序)SomeOSstryfairness(某些操作系统尝试着公平)2)Buffering-storedatainmemorywhiletransferringbetweendevices(缓冲当设备间传输数据的时候,暂时存放在内存中)Tocopewithdevicespeedmismatch(解决设备速度不匹配)Tocopewithdevicetransfersizemismatch(解决设备传输块的大小不匹配)Tomaintain“copysemantics”(为了维持拷贝语句的语义要求),AppliedOperatingSystemConcepts,KernelI/OSubsystem(核心I/O子系统),3)Caching-fastmemoryholdingcopyofdata(高速缓存存放数据的快速存储器)Alwaysjustacopy(总是数据的拷贝)Keytoperformance(性能的关键)4)Spooling-holdoutputforadevice(spooling保存设备的输出)Ifdevicecanserveonlyonerequestatatime(如果设备一次只能服务于一个请求)i.e.,Printing(比如,打印机)5)Devicereservation-providesexclusiveaccesstoadevice(设备预定提供对设备的独占访问)Systemcallsforallocationanddeallocation(分配和再分配的系统调用)Watchoutfordeadlock(小心死锁),AppliedOperatingSystemConcepts,各类设备的差别:数据传输率应用控制的复杂性传输单位数据表示出错条件,AppliedOperatingSystemConcepts,设备处理,设备处理程序又称设备驱动程序,它是I/O进程与设备控制器之间的通信程序。1,设备处理程序的功能和处理方式设备驱动程序的功能接收上层软件发来的抽象要求(如read命令等),再把它转换成具体要求。检查用户I/O请求的合法性,了解I/O设备的状态,设置工作方式。对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序。由驱动程序向设备控制器发出I/O命令,启动分配到的I/O设备,完成指定的I/O操作。及时响应由控制器或通道发来的中断请求,并根据其中断调用相应的中断处理程序进行处理。,AppliedOperatingSystemConcepts,设备驱动程序的特点,设备驱动程序属于低级的系统例程,主要指在请求I/O的进程与设备控制器之间的一个通信的转换程序。设备驱动程序是硬件相关的,不同类型的设备应设置不同的驱动程序。驱动程序与I/O设备所采用的控制方式密切相关。如采用中断驱动方式和DMA方式的驱动程序是不同的。驱动程序的一部分需用汇编语言编写,AppliedOperatingSystemConcepts,设备处理程序的处理过程,每类设备有自己的设备处理程序,但大体上它们都再分成两部分,主要用于启动设备的设备驱动程序和负责处理I/O完成工作的设备中断处理程序。,AppliedOperatingSystemConcepts,设备驱动程序的处理过程,将用户和上层软件对设备控制的抽象要求转换成对设备的具体要求,如对抽象要求的盘块号转换为磁盘的盘面、磁道及扇区。检查I/O请求的合法性。读出和检查设备的状态,确保设备处于就绪态。传送必要的参数,如传送的字节数,数据在主存的首址等。工作方式的设置,如利用RS-232接口进行异步通信前应先设置波特率、奇偶校验方式、停止位、数据字节长度等。启动I/O设备,并检查启动是否成功,如成功则将控制返回给I/O控制系统,在I/O设备忙于传送数据时,该用户进程把自己阻塞,直至中断到来才将它唤醒,而CPU可干别的事。,AppliedOperatingSystemConcepts,中断处理程序的处理过程,在设备控制器控制下,I/O设备完成了I/O操作后,控制器(或通道)便向CPU发出一中断请求,CPU响应后便转向中断处理程序,中断处理程序大致包含以下几步:必须去唤醒阻塞的驱动(程序)进程。在设置I/O进程时,当中断处理程序开始执行时,都必须去唤醒阻塞的驱动(程序)进程。在采用信号量机制时,可通过执行V操作,将处于阻塞状态的驱动(程序)进程唤醒。保护被中断进程的CPU现场。,AppliedOperatingSystemConcepts,中断处理程序的处理过程,分析中断原因,转入相应的设备中断处理程序。进行中断处理,判别此次I/O完成是正常结束中断还是异常结束中断,分别作相应处理。恢复被中断进程或由调度程序选中的进程的CPU的现场。返回被中断的进程,或进入新选中的进程继续运行。在UNIX中将以上对各类设备处理相同的部分集中起来,形成中断总控程序,每当要进行中断处理时,都要首先进入中断总控程序,再按需要转入不同的设备处理程序。,AppliedOperatingSystemConcepts,缓冲管理,缓冲的引入:凡是数据到达和离去速度不匹配的地方均可采用缓冲技术缓和CPU与I/O设备间速度不匹配的矛盾减少对CPU的中断频率,放宽对CPU中断响应时间的限制。提高CPU和I/O设备之间的并行性,AppliedOperatingSystemConcepts,缓冲的引入,例如一个程序,它时而进行长时间的计算而没有输出,时而又阵发性把输出送到打印机。由于打印机的速度跟不上CPU,而使得CPU长时间的等待。如果设置了缓冲区,程序输出的数据先送到缓冲区暂存,然后由打印机慢慢地输出。这时,CPU不必等待,可以继续执行程序。实现了CPU与I/O设备之间的并行工作。,AppliedOperatingSystemConcepts,缓冲区设置,硬缓冲:在设备中设置缓冲区,由硬件实现软缓冲:在内存中开辟一个空间,用作缓冲区,AppliedOperatingSystemConcepts,缓冲区管理,单缓冲双缓冲循环缓冲缓冲池:多个缓冲区连接起来统一管理,常采用多缓冲管理,AppliedOperatingSystemConcepts,单缓冲(SingleBuffer)每当一个用户进程发出一个I/O请求时,OS便在主存中为之分配一个缓冲区。例如,CPU要从磁盘上读一块数据进行计算,先从磁盘把一块数据读入到缓冲区中,然后由OS将缓冲区的数据传送到用户区,最后由CPU对这一块数据进行计算。可见第一步和最后一步是可以并行执行的,这样就提高了CPU和外设的利用率。但是对缓冲区中数据的输入和提取是串行工作的。(如下图所示)处理时间=MAX(C,T)+M。通常,M远小于T或C,AppliedOperatingSystemConcepts,单缓冲(SingleBuffer),AppliedOperatingSystemConcepts,双缓冲(DoubleBuffer)双缓冲工作方式基本方法是在设备输入时,先将数据输入到缓冲区A,装满后便转向缓冲区B。此时OS可以从缓冲区A中提取数据传送到用户区,最后由CPU对数据进行计算。系统处理一块数据的时间可粗略地认为:MAX(C,T)。若CT,可使块设备连续输入;若CT,可使CPU不必等待设备输入。两台机器之间进行数据通信时,若设置单
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-安徽-安徽农业技术员四级(中级工)历年参考题库含答案解析
- 11-Methylheptadecanoyl-CoA-11-Methylheptadecanoyl-coenzyme-A-生命科学试剂-MCE
- 西安电信通信行业新面试题解析
- 外企面试实战模拟题库:快速提升面试技巧
- 声乐演唱招聘面试面试题集锦
- 新中医科招聘面试真题及答案解析分享
- 高品质医护招聘面试题库:医药市场营销人才需求与招聘策略
- 科技行业面试全攻略:各行各业岗位深度面试题
- 职场精英必 备:肥胖问题面试题深度解析与求职实战
- 社区征地分红方案范本
- 佳能相机IXUS210(PC1467)说明书
- 2024年七年级新生分班考试数学试卷(附答案)
- 2024年北京广播电视台招聘140人历年高频500题难、易错点模拟试题附带答案详解
- 医美代运营合作协议书范本
- 《希腊神话》导读课
- 2024年幕墙工程专业分包合同协议书范本
- 广西现代物流集团有限公司招聘笔试题库2024
- 三年级语文上册全册教案 (含教学反思)
- 女士鞋履采购合同
- 乒乓球俱乐部管理制度
- 年产塑料色母粒5000吨项目可行性研究报告
评论
0/150
提交评论