第6章输入输出系统资料课件

上传人:仙*** 文档编号:241660868 上传时间:2024-07-14 格式:PPT 页数:107 大小:2.39MB
返回 下载 相关 举报
第6章输入输出系统资料课件_第1页
第1页 / 共107页
第6章输入输出系统资料课件_第2页
第2页 / 共107页
第6章输入输出系统资料课件_第3页
第3页 / 共107页
点击查看更多>>
资源描述
12024/7/14阜阳师范学院计算机与信息学院第6章输入输出系统6.1I/O系统的功能、模型和接口6.2I/O设备和设备控制器6.3中断机构和中断处理程序6.4设备驱动程序6.5与设备无关的I/O软件6.6用户层的I/O软件6.7缓冲区管理6.8磁盘存储器的性能和调度基本任务是完成用户提出的I/O请求,提高I/O速率以及改善I/O设备的利用率。主要功能有缓冲区管理、设备分配、设备处理、虚拟设备及设备独立性等。主要对象是I/O设备和相应的设备控制器22024/7/14阜阳师范学院计算机与信息学院6.1I/O系统的功能、模型和接口6.1.1I/O系统的基本功能6.1.2I/O系统的层次结构和模型6.1.3I/O系统接口oI/O系统:用于实现数据输入、输出及数据存储的系统。32024/7/14阜阳师范学院计算机与信息学院6.1.1I/O系统的基本功能(1)隐藏物理设备的细节 (2)与设备的无关性(3)提高处理机和I/O设备的利用率(4)对I/O设备进行控制(5)确保对设备的正确共享(6)错误处理42024/7/14阜阳师范学院计算机与信息学院6.1.2I/O系统的层次结构和模型(1)I/O软件的层次结构 (2)I/O系统中各种模块之间的层次视图52024/7/14阜阳师范学院计算机与信息学院(1)I/O软件的层次结构n用户层I/O软件,实现与用户交互的接口n设备独立性软件n设备驱动程序n中断处理程序(2)I/O系统中各种模块之间的层次视图62024/7/14阜阳师范学院计算机与信息学院72024/7/14阜阳师范学院计算机与信息学院6.1.3I/O系统接口(1)块设备接口n控制磁盘存储器和光盘存储器设备的输入或输出(2)流设备接口n控制字符设备的输入或输出(3)网络通信接口n提供相应的网络软件和网络通信接口82024/7/14阜阳师范学院计算机与信息学院6.2I/O设备和设备控制器(一)I/O设备的类型1)按设备的使用特性/操作特性分类(1)存储设备(2)输入/输出(I/O)设备2)按设备的传输速率分类(1)低速设备(2)中速设备(3)高速设备3)按信息交换的单位分类(1)字符设备(2)块设备4)按设备的共享属性分类(1)独占设备(2)共享设备(3)虚拟设备6.2.1I/O设备92024/7/14阜阳师范学院计算机与信息学院(二)设备与控制器之间的接口vvCPUCPU控制器控制器设备设备设备控制器:是在CPU与I/O设备之间的硬件接口,它接收CPU命令,控制一个或多个I/O设备.vv 三种信号:三种信号:(1 1)数据信号:双向,有缓存)数据信号:双向,有缓存(2 2)控制信号:控制器发给设备;要求其完成相关操作)控制信号:控制器发给设备;要求其完成相关操作(3 3)状态信号:设备发给控制器;)状态信号:设备发给控制器;缓冲转换器控制逻辑信号数据数据信号线状态信号线控制信号线设备控制器I/O设备102024/7/14阜阳师范学院计算机与信息学院(一)设备控制器的基本功能1)接收和识别命令2)数据交换3)标识和报告设备的状态6.2.2设备控制器4)地址识别5)数据缓冲6)差错控制112024/7/14阜阳师范学院计算机与信息学院二、设备控制器的组成1.设备控制器与处理机的接口2.设备控制器与设备的接口3.I/O逻辑I/O逻辑控制器与设备接口1控制器与设备接口i数据寄存器控制/状态寄存器数据线地址线控制线CPU与控制器接口控制器与设备接口数据数据状态控制状态控制设备控制器与处理机的接口该接口用于实现CPU与设备控制器之间的通信。共有三类信号线:数据线、地址线和控制线。控制器与设备的接口在一个设备控制器上,可以连接一个或多个设备。相应地,在控制器中便有一个或多个设备接口,一个接口连接一个设备。在每个接口中都存在数据、控制和状态三种类型的信号。I/O逻辑:用于实现对设备的控制。它通过一组控制线与处理机交互,处理机利用I/O逻辑向控制器发送I/O命令,I/O逻辑对收到的命令进行译码。每当CPU要启动一个设备时,一方面将启动命令发送给控制器;另一方面又同时通过地址线把地址发送给控制器,由控制器的I/O逻辑对收到的地址进行译码,再根据所译出的命令对所选设备进行控制。6.2.3内存映像I/O驱动程序将抽象I/O命令转换出的一系列具体的命令、参数等数据装入设备控制器的相应寄存器,由控制器来执行这些命令,具体实施对I/O设备的控制。p利用特定的I/O指令p访问内存和设备需要两种不同的指令p内存映像I/Op统一了对内存和对控制器的访问方法,简化I/O编程122024/7/14阜阳师范学院计算机与信息学院132024/7/14阜阳师范学院计算机与信息学院6.2.4I/O通道一、I/O通道设备的引入n引入目的建立独立I/O操作,不仅使数据的传送能独立于CPU,而且使CPU从对I/O操作的组织、管理中解脱。n实现:CPU只需发送I/O命令给通道,通道通过调用内存中的相应通道程序完成任务。n实际上I/O通道是一种特殊的处理机。与一般处理机不同于两方面:(1)指令类型单一,只用于I/O操作;(2)通道没有内存,它与CPU共享内存。142024/7/14阜阳师范学院计算机与信息学院硬件连接结构152024/7/14阜阳师范学院计算机与信息学院6.2.4I/O通道二、通道类型1.1.字节多路通道:字节多路通道:按按字节交叉字节交叉方式工作方式工作 每个子通道连接一台每个子通道连接一台I/OI/O设备,并控制该设备,并控制该设备的设备的I/OI/O操作操作 各子通道以各子通道以时间片轮转时间片轮转方式共享主通道,方式共享主通道,适用于低、中速设备。适用于低、中速设备。162024/7/14阜阳师范学院计算机与信息学院2.2.数组选择通道:数组选择通道:以数组方式进行数据传送。以数组方式进行数据传送。仅一通道,某时间由某设备独占,适于高速仅一通道,某时间由某设备独占,适于高速设备。设备。但通道未共享,利用率低。但通道未共享,利用率低。3.3.数组多路通道:数组多路通道:综合了前面综合了前面2 2种通道类型的优点。种通道类型的优点。6.2.4I/O通道172024/7/14阜阳师范学院计算机与信息学院数组选择通道磁盘字节多路通道打印机输入机内存储器处理机磁带数组多路通道182024/7/14阜阳师范学院计算机与信息学院三、“瓶颈”问题存储器通道1通道2控制器1控制器2控制器3控制器4设备1设备2设备3设备4设备5设备6设备76.2.4I/O通道192024/7/14阜阳师范学院计算机与信息学院o解决“瓶颈”问题:增加设备到主机间的通路而不是增加通道存储器通道1通道2控制器1控制器2I/O设备I/O设备I/O设备I/O设备6.2.4I/O通道6.3中断机构和中断处理程序6.3.1中断简介p中断和陷入p中断向量表和中断优先级p对多中断源的处理方式202024/7/14阜阳师范学院计算机与信息学院6.3.1中断简介p中断和陷入n中断是指CPU对I/O设备发来的中断信号的一种响应n中断是外部设备引起的,又称外中断n陷入是由CPU内部事件所引起的中断,称为内中断或陷入n主要区别是信号的来源,即是来自CPU外部还是CPU内部212024/7/14阜阳师范学院计算机与信息学院6.3.1中断简介222024/7/14阜阳师范学院计算机与信息学院p中断向量表和中断优先级n每种设备配以相应的中断处理程序,并把该程序的入口地址放在中断向量表的一个表项中n为每一个设备的中断请求规定一个中断号,它直接对应于中断向量表的一个表项中。n当I/O设备发来中断请求信号时,由中断控制器确定该请求的中断号,根据该设备的中断号去查找中断向量表,从中取得该设备中断处理程序的入口地址,这样便可以转入中断处理程序执行。n磁盘中断请求高于打印机中断请求高于键盘终端请求6.3.1中断简介232024/7/14阜阳师范学院计算机与信息学院p对多中断源的处理方式n屏蔽(禁止)中断o处理机对任何新到的中断请求,都暂时不予理睬,而让它们等待o所有中断都将按顺序依次处理o优点简单,但不能用于对实时性要求较高的中断请求n嵌套中断oCPU优先响应最高优先级的中断请求o高优先级的中断请求可以抢占正在运行的低优先级中断的处理机6.3.2中断处理程序242024/7/14阜阳师范学院计算机与信息学院中断处理程序的处理过程可分成以下几个步骤:p检查是否有未响应的中断信号p保护被中断进程的CPU环境p转入相应的设备处理程序p中断处理p恢复CPU的现场并退出中断252024/7/14阜阳师范学院计算机与信息学院二、中断处理程序o流程n设备启动I/O完成发送中断CPU调用中断处理过程o中断处理过程n唤醒被阻塞的驱动程序进程n保护被中断进程的CPU环境n转入相应的设备处理程序n中断处理n恢复被中断进程的现场6.3.2中断处理程序262024/7/14阜阳师范学院计算机与信息学院中断现场保护示意图272024/7/14阜阳师范学院计算机与信息学院中断处理流程唤醒被阻塞的驱动程序进程对被中断进程的CPU环境进行保护分析中断原因,转入相应的中断处理程序终端中断处理程序打印机中断处理程序磁盘中断处理程序恢复被中断进程的CPU现场返回被中断的进程,继续执行中断请求信号6.4设备驱动程序282024/7/14阜阳师范学院计算机与信息学院6.4.1设备驱动程序概述n设备驱动程序的功能n设备驱动程序的特点6.4.2设备驱动程序的处理过程6.4.3对I/O设备的控制方式n轮询的可编程I/O方式n中断的可编程I/O方式n直接存储器访问方式nI/O通道控制方式292024/7/14阜阳师范学院计算机与信息学院o设备驱动程序的功能和特点o设备驱动程序的处理过程p又称为设备处理程序,是I/O进程与设备控制器之间的通信程序p主要任务是接受来自上层软件的抽象的I/O命令,再把它转换成具体要求后,发送给设备控制器,从而启动设备进行数据传送6.4.1设备驱动程序概述302024/7/14阜阳师范学院计算机与信息学院设备驱动程序的功能o功能:n接收进程的I/O命令n检查命令合法性n检查设备状态n驱动I/O操作n响应设备中断n构成通道程序312024/7/14阜阳师范学院计算机与信息学院设备驱动程序的特点o特点:n将抽象的I/O请求转换成具体的I/O操作后传给控制器n与设备控制器以及I/O设备的硬件特性紧密相关,每类设备有自己的设备驱动程序n与I/O设备采用的I/O控制方式紧密相关n与硬件紧密相关,其中一部分必须用汇编语言书写n允许可重入322024/7/14阜阳师范学院计算机与信息学院设备处理方式根据在设备处理时是否设置进程,以及设置什么样的进程,而把设备处理方式分成以下三类:n为每一类设备设置一个进程,专门用于执行这类设备的I/O操作n在整个系统中设置一个I/O进程,专门用于执行系统中所有各类设备的I/O操作n不设置专门的设备处理进程,而只为各类设备设置相应的设备驱动程序,供用户或系统进程调用332024/7/14阜阳师范学院计算机与信息学院6.4.2设备驱动程序处理过程主要任务是启动指定设备,完成上层指定的I/O工作o启动过程n将抽象要求转化为具体要求n检查I/O请求合法性n读出和检查设备状态n传送必要的参数n设置工作方式n启动I/O设备在完成上述各项准备工作后,驱动程序可以向控制器的命令寄存器传送相应的命令,启动I/O设备开始I/O操作。发出I/O命令后,基本的I/O操作是在设备控制器下进行的,此时驱动(程序)进程把自己阻塞起来,直到I/O中断到来时才被唤醒342024/7/14阜阳师范学院计算机与信息学院例题1用户程序发出磁盘I/O请求后,系统的处理流程是:用户程序-系统调用处理程序-设备驱动程序-中断处理程序。其中,计算数据所在磁盘的柱面号、磁头号、扇区号的程序是()A.用户程序B.系统调用处理程序C.设备驱动程序D.中断处理程序C352024/7/14阜阳师范学院计算机与信息学院6.4.3I/O设备控制方式o程序I/O方式(programmedI/O)CPUandDevicecannotworkinparallelo中断方式(interrupt)CPUanddevicecanworkinparallel,toomanyinterruptsforCPUo直接内存方式(DMA)DMAcontrollerinchargeofblockI/Oo通道方式(channel)specialprocessorfordealingwithI/Ooperations362024/7/14阜阳师范学院计算机与信息学院(1)程序I/O方式注:程序I/O方式也称作程序查询方式或轮询方式。p查询方式:查询方式:nCPUCPU需花代价不断查询需花代价不断查询I/OI/O状态。状态。n状态寄存器中的忙状态寄存器中的忙/闲标志闲标志busybusynCPUCPU资源浪费极大,绝大部分时间都处于等待资源浪费极大,绝大部分时间都处于等待nI/OI/O设备完成数据设备完成数据I/OI/O的循环测试中的循环测试中。372024/7/14阜阳师范学院计算机与信息学院向I/O控制器发读命令读I/O控制器的状态从I/O控制器中读入字向存储器中写字检查状态传送完成?出错完成CPUI/OI/OCPUI/OCPUCPU内存未完未就绪下条指令就绪程序I/O方式流程图382024/7/14阜阳师范学院计算机与信息学院例题2o某计算机处理器主频为50MHZ,采用定时查询方式控制设备A的I/O,查询程序运行一次所用的时钟周期数至少为500。在设备A工作期间,为保证数据不丢失,每秒需对其查询至少200次,则CPU用于设备A的I/O的时间占整个CPU时间的百分比至少是()o分析:每秒200次查询,每次500个周期,则每秒最少200*500个周期0.2%392024/7/14阜阳师范学院计算机与信息学院(2)中断驱动I/O方式oo向向I/OI/O发命令发命令返回返回执行原来任务执行原来任务oo设备控制器控制指定设备控制器控制指定I/OI/O设备设备完成任务完成任务ooI/OI/O产生中断产生中断CPUCPU转相应中断处理程序转相应中断处理程序 如:读数据,读完后以中断方式通知如:读数据,读完后以中断方式通知CPUCPU,CPUCPU完完成数据从成数据从I/OI/O内存内存402024/7/14阜阳师范学院计算机与信息学院CPU计算启动设备计算计算中断处理计算设备:工作特点:CPU与设备并行工作;当设备多时,对CPU打扰多412024/7/14阜阳师范学院计算机与信息学院中断控制方式流程图向I/O控制器发读命令读I/O控制器的状态从I/O控制器中读入字向存储器中写字检查状态传送完成?出错完成CPUI/OI/OCPUI/OCPUCPU内存未完下条指令就绪CPU做其它事中断422024/7/14阜阳师范学院计算机与信息学院p引入n n 中断中断I/OI/O,CPUCPU“字节字节”干预一次,即每干预一次,即每“字字节节”传送产生一次中断。传送产生一次中断。n n DMADMA:由:由DMADMA控制控制器直接控制总线传递数器直接控制总线传递数据块。据块。DMADMA控制器完控制器完成从成从I/OI/O内存内存(3)直接存储器访问DMAI/O控制方式向I/O控制器发布读块命令读DMA控制器的状态下条指令CPU做其它事中断CPUDMADMACPU432024/7/14阜阳师范学院计算机与信息学院该方式的特点是:1)数据传输的基本单位是数据块;2)所传送的数据是从设备直接送入内存的,或者相反;3)仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器的控制下完成的。(3)直接存储器访问DMAI/O控制方式442024/7/14阜阳师范学院计算机与信息学院DMA控制器的组成DMA控制器由三部分组成:(1)主机与DMA控制器的接口(2)DMA控制器与块设备的接口(3)I/O控制逻辑452024/7/14阜阳师范学院计算机与信息学院DMA控制器的示意图countI/O控制逻辑DRMARDCCRCPU内存主机控制器接口控制器与块设备接口系统总线DMA控制器命令462024/7/14阜阳师范学院计算机与信息学院DMA控制器中的寄存器为实现主机与控制器之间块数据的直接交换,必须设置如下四类寄存器:(1)命令/状态寄存器CR用于接收从CPU发来的I/O命令或有关控制和状态信息。(2)内存地址寄存器MAR它存放数据的内存的起始的目标地址或内存源地址。(3)数据寄存器DR用于暂存设备到内存或从内存到设备的数据。(4)数据计数器DC存放本次CPU要读或写的字(节)数。472024/7/14阜阳师范学院计算机与信息学院DMA工作方式流程图设置MAR和DC初值启动DMA传送命令传送数据字MAR=MAR+1DC=DC-1DC=0?请求中断在继续执行用户程序的同时,准备又一次传送否DMA控制方式与中断控制方式的区别o中断控制方式在每个数据传送完成后中断CPU,而DMA控制方式则是在所要求传送的一批数据全部传送结束时才中断CPU;o中断控制方式的数据传送是在中断处理时由CPU控制完成,而DMA控制方式则是在DMA控制器的控制下完成的;482024/7/14阜阳师范学院计算机与信息学院492024/7/14阜阳师范学院计算机与信息学院(4)I/O通道控制方式ooDMADMA方式:方式:对需多个离散块的读取仍需要多次中对需多个离散块的读取仍需要多次中断。断。ooI/OI/O通道通道控制方式是控制方式是DMADMA方式的发展,减少为对方式的发展,减少为对一组数据块一组数据块的读(写)及有关的控制和管理为单的读(写)及有关的控制和管理为单位的干预。同时可以实现位的干预。同时可以实现CPUCPU、通道和、通道和I/OI/O设备三设备三者并行操作。者并行操作。oo通道方式:通道方式:CPUCPU只需给出只需给出(1 1)通道程序首址)通道程序首址(2 2)要访问)要访问I/OI/O设备设备502024/7/14阜阳师范学院计算机与信息学院p通道是通过执行通道程序,并与设备控制器共同实现对I/O设备的控制的。p通道程序由一系列通道指令所构成的。p通道指令一般包含下列信息:n操作码规定指令所执行的操作。n内存地址n计数表示本指令所要操作的字节数。n通道程序结束位用以表示程序是否结束。n记录结束标志表示该指令是否与下条指令有关。(4)I/O通道控制方式DMA控制方式与通道控制方式的区别oDMA控制方式中需要CPU来控制所传输数据块的大小、传输的内存,而通道控制方式中这些信息都是由通道来控制管理的;o一个DMA控制器对应一台设备与内存传递数据,而一个通道可以控制多台设备与内存的数据交换;512024/7/14阜阳师范学院计算机与信息学院6.5与设备无关的I/O软件o应用程序中所用的设备,不局限于使用某个具体的物理设备6.5.1与设备无关软件的基本概念n以物理设备名使用设备n引入了逻辑设备名n逻辑设备名称到物理设备名称的转换522024/7/14阜阳师范学院计算机与信息学院532024/7/14阜阳师范学院计算机与信息学院设备独立性o设备独立性(DeviceIndependence)的概念应用程序独立于具体使用的物理设备。o方便用户编程、便于程序移植o物理设备和逻辑设备:类似于物理地址和逻辑地址的概念。使用逻辑设备名称来请求使用某类设备;系统实际执行时,必须使用物理设备名称。o优点:设备分配时灵活性不拘泥于某个物理设备,可使用任意一台空闲设备易于实现I/O重定向用于I/O操作的设备可以更换(重定向),而不必改变应用程序542024/7/14阜阳师范学院计算机与信息学院6.5.2设备独立性软件其主要功能:执行所有设备的公有操作、向用户层(或文件层)软件提供统一的接口1)设备驱动程序的统一接口n将逻辑设备名映射为物理设备名,进一步可以找到相应物理设备的驱动程序n对设备进行保护,禁止用户直接访问设备2)缓冲管理3)差错控制4)独占设备的分配与回收5)独立于设备的逻辑数据块552024/7/14阜阳师范学院计算机与信息学院(1)设备分配中的数据结构(2)设备分配时应考虑的因素(3)独占设备的分配程序包括:对设备、设备控制器、通道的分配6.5.3设备分配562024/7/14阜阳师范学院计算机与信息学院(1)设备分配中的数据结构n设备控制表(DCT)n控制器控制表(COCT)n通道表(CHCT)n系统设备表(SDT)572024/7/14阜阳师范学院计算机与信息学院设备控制表(DCT)系统为每一个设备都配置了一张设备控制表,用于记录本设备的情况。DCT1DCT2DCTn设备类型type设备标识符deviceid设备状态:等待/不等待忙/闲指向控制器表的指针重复执行次数或时间设备队列的队首指针设备控制表集合582024/7/14阜阳师范学院计算机与信息学院控制器控制表(COCT)系统为每一个控制器都设置了一张控制器控制表,用于记录本控制器情况控制器标识符:controllerid控制器状态:忙/闲与控制器连接的通道表指针控制器队列的队首指针控制器队列的队尾指针592024/7/14阜阳师范学院计算机与信息学院通道控制表(CHCT)每个通道都配有一张通道控制表通道标识符:channelid通道状态:忙/闲与通道连接的控制器表首址通道队列的队首指针通道队列的队尾指针602024/7/14阜阳师范学院计算机与信息学院系统设备表(SDT)o整个系统中还设置一张系统设备表,记录了系统中全部设备及其驱动程序地址o每个设备占一个表项表目1表目i设备类型设备标识符DCT驱动程序入口612024/7/14阜阳师范学院计算机与信息学院(2)设备分配时应考虑的因素为使系统有条不紊的工作,系统在分配设备时,应考虑这样几个因素:n设备的固有属性n设备分配算法n设备分配中的安全性622024/7/14阜阳师范学院计算机与信息学院设备的固有属性在分配设备时,首先应考虑与设备分配有关的设备属性。设备的固有属性可分为三种:o独占设备:在一段时间内只能由一个进程使用。o共享设备:允许多个进程共享。o虚拟设备:是经过某种处理由独占设备变为虚拟设备。632024/7/14阜阳师范学院计算机与信息学院设备分配算法与进程调度类似,一般使用以下两种:n先来先服务。根据请求的先后次序排成一个队列,设备总是分配给队首进程。n优先级高者优先。利用该算法形成队列时,将优先权高的进程安排在设备队列前面,优先级相同的先来先服务。642024/7/14阜阳师范学院计算机与信息学院设备分配中的安全性从进程运行的安全性上考虑,设备分配有以下两种方式:n安全分配方式。每当进程发出I/O请求后便阻塞,直到I/O完成后被唤醒。虽安全但缓慢。n不安全分配方式。不断发出I/O请求,直到所请求的设备已经被另一进程占用才阻塞。虽迅速但不安全。652024/7/14阜阳师范学院计算机与信息学院(3)独占设备的分配程序1)基本的设备分配程序n分配设备n分配控制器n分配通道只有在设备、控制器和通道三者都分配成功时,这次设备分配才算成功,然后,系统便可启动该设备进行数据传送。662024/7/14阜阳师范学院计算机与信息学院3)设备分配程序的改进n增加设备的独立性n考虑多通路情况2)基本设备分配程序存在的问题n进程以物理设备名提出I/O请求n采用单通路的I/O系统结构,产生“瓶颈”(3)独占设备的分配程序672024/7/14阜阳师范学院计算机与信息学院6.5.4逻辑设备名到物理设备名的映射的实现1)逻辑设备表LUT(LogicalUnitTable)逻辑设备名物理设备名驱动程序入口地址/dev/tty31024/dev/printer52046p系统必须设置一张逻辑设备表LUT,包括三项p进程利用逻辑设备名请求I/O操作时,便可从LUT中得到物理设备名和驱动程序入口地址。682024/7/14阜阳师范学院计算机与信息学院2)LUT的设置问题n整个系统设置一张LUT(主要用于单用户系统)n为每个用户设置一张LUT(主要用于多用户系统)逻辑设备名系统设备表指针/dev/tty3/dev/printer56.5.4逻辑设备名到物理设备名的映射的实现6.6用户层的I/O软件6.6.1系统调用与库函数n系统调用(systemcall)n库函数(libraryfunctions)6.6.2假脱机(Spooling)系统n假脱机技术nSPOOLing的组成nSPOOLing系统的特点n假脱机打印机系统692024/7/14阜阳师范学院计算机与信息学院6.6.1系统调用与库函数(1)系统调用n当应用程序需要执行某种I/O操作时,在应用程序中必须使用相应的系统调用n当OS捕获到该系统调用后,便将CPU的状态从用户态转换到核心态n转向操作系统中相应过程,由该过程完成所需的I/O操作702024/7/14阜阳师范学院计算机与信息学院6.6.1系统调用与库函数(2)库函数n用户程序通过调用对应的库函数使用系统调用n对于I/O方面,主要是对文件和设备进行读写,以及控制/检查设备状态的库函数,其集合也是I/O系统的组成部分n内核提供了OS的基本功能,而库函数扩展了OS内核,使用户能方便取得操作系统的服务712024/7/14阜阳师范学院计算机与信息学院722024/7/14阜阳师范学院计算机与信息学院引入:在多道程序系统中,利用专门程序(SPOOLing程序)来完成对设备的I/O操作,无需使用外围I/O处理机。6.6.2SPOOLing技术732024/7/14阜阳师范学院计算机与信息学院(1)什么是SPOOLingo将独占设备改造成共享设备,从而提高了设备利用率和系统效率,这种技术被称为SPOOLing技术。o同时外围联机操作(SimultaneousPeripheralOperatingOnLine),或称为假脱机操作。o应用程序进行I/O操作时,只是和SPOOLing程序交换数据,可以称为虚拟I/O。742024/7/14阜阳师范学院计算机与信息学院(2)SPOOLing系统的组成主要有三大部分(如下页图)n输入井和输出井。是磁盘上开辟的两个大存储空间。输入井模拟脱机输入的磁盘设备,输出井模拟脱机输出时的磁盘。n输入缓冲区和输出缓冲区内存中开辟的两个缓冲区。输入缓冲区暂存由输入设备送来的数据,后送输入井;输出缓冲区暂存从输出井送来的数据,后送输出设备。n输入进程和输出进程。内存中的两个进程利用两个进程模拟脱机I/O时的外围处理机。752024/7/14阜阳师范学院计算机与信息学院输入进程SPi输出进程SP0输入缓冲区Bi输出缓冲区B0输入井输出井输入设备输出设备磁盘内存(2)SPOOLing系统的组成762024/7/14阜阳师范学院计算机与信息学院(3)SPOOLing系统的特点n提高了I/O的速度。利用输入输出井模拟脱机输入输出,缓和了CPU和I/O设备速度不匹配的矛盾。n将独占设备改造为共享设备。并没有为进程分配设备,而是为进程分配一存储区和建立一张I/O请求表。n实现了虚拟设备功能。多个进程同时使用一台独占设备。772024/7/14阜阳师范学院计算机与信息学院(4)假脱机打印机系统打印机属于独占设备,利用SPOOLing技术可将其改造为一台可供多个用户共享的设备。当用户进程请求打印输出时,SPOOLing系统立即同意为它打印输出,但不真正把打印机分配给它而只为它做两件事:n由输出进程SP0在输出井中为之申请一个空闲的磁盘块区,并将要打印的数据送入其中nSP0再为用户进程申请一张空白的用户请求打印表,并将用户的打印要求填入其中,然后将该表挂在打印机的请求打印队列中(5)守护进程(daemon)o凡是需要将独占设备改造为可供多个进程共享的设备时,都要为该设备配置一个守护进程和一个假脱机文件队列(目录)o守护进程是允许使用该独占设备的唯一进程,所有其他进程都不能直接使用该设备,只能将对该设备的使用要求写入一份文件中,放在假脱机目录中o由守护进程按照目录中的文件依次来完成各进程对该设备的请求,就把一台独占设备改造为可为多个进程共享的设备782024/7/14阜阳师范学院计算机与信息学院792024/7/14阜阳师范学院计算机与信息学院6.7缓冲区管理6.7.1缓冲的引入6.7.2单缓冲与多缓冲6.7.3环形缓冲区6.7.4缓冲池(BufferPool)802024/7/14阜阳师范学院计算机与信息学院6.7.1缓冲的引入引入缓冲区的主要原因归结为以下几点:(1)缓和CPU与I/O设备间速度不匹配的矛盾(2)减少对CPU的中断频率,放宽对CPU中断响应时间的限制(3)解决数据粒度不匹配的问题(4)提高CPU和I/O设备之间的并行性812024/7/14阜阳师范学院计算机与信息学院6.7.2单缓冲与多缓冲o单缓冲(SingleBuffer)一个缓冲区,CPU和外设轮流使用,一方处理完之后接着等待对方处理。由于C和T可并行,M和C或M和T不能并行,因此处理一块数据时间:Max(C,T)+M822024/7/14阜阳师范学院计算机与信息学院例题3o设系统缓冲区和用户工作区均采用单缓冲,从外设读入1个数据块到系统缓冲区的时间为100,从系统缓冲区读入1个数据块到用户工作区的时间为5,对用户工作区中的1个数据块进行分析的时间为90,进程从外设读入并分析2个数据块的最短时间为:外设系统缓冲区用户工作区100590832024/7/14阜阳师范学院计算机与信息学院分析:o数据块1从外设到用户工作区的总时间为105,在这段时间中,数据块2没有进行操作。o在数据块1进行分析处理时,数据块2从外设到用户工作区的总时间为105,这段时间是并行的。o再加上数据块2进行处理的时间90,总共为300842024/7/14阜阳师范学院计算机与信息学院6.7.2单缓冲与多缓冲o双缓冲(DoubleBuffer)两个缓冲区,CPU和外设都可以连续处理而无需等待对方。要求CPU和外设的速度相近。n系统处理一块数据的时间约为:MAX(C,T)n收发可双向同时传送。852024/7/14阜阳师范学院计算机与信息学院双机通讯时缓冲区的设置缓冲区A机缓冲区B机单缓冲发送缓冲区接收缓冲区A机接收缓冲区发送缓冲区B机双缓冲862024/7/14阜阳师范学院计算机与信息学院6.7.3环形缓冲区(circularbuffer)o但若两者的速度相差甚远,双缓冲的效果不够理想,但随着缓冲区数量的增加,情况有所改善。因此,又引入了多缓冲机制。可以将缓冲区组织成循环缓冲形式。多个缓冲区,CPU和外设的处理速度可以相差较大872024/7/14阜阳师范学院计算机与信息学院循环缓冲的组成示意图162534RRGGGGNextiNextg162534RRGGCGNextiNextgcurrent类型:R:空缓冲;G:满缓冲;C:当前缓冲nextg:指示下一个应取数据的bufGnexti:指示下一个空bufRCurrent:正在使用的缓冲区C的指针882024/7/14阜阳师范学院计算机与信息学院循环缓冲区的使用onextg:指示下一个应取数据的bufonexti:指示下一个空bufoGetbuf:n读取数据,取nextg对应缓冲区提供使用,并改为C,current=Nextg;Nextg=(Nextg+1)ModNn装入数据,将Nexti对应缓冲区提供使用,Nexti=(Nexti+1)ModNoReleasebuf:n若C满,装满缓存区时,释放C,则改为G;n若C空,数据提取完后,释放C,则改为R;892024/7/14阜阳师范学院计算机与信息学院6.7.4缓冲池(BufferPool)o缓冲池:系统提供的公用缓冲(1)组成:n三个队列:o空缓冲队列emqo输入队列inqo输出队列outqn四个工作缓冲区:ohin:收容输入数据osin:提取输入数据ohout:收容输出数据osout:提取输出数据902024/7/14阜阳师范学院计算机与信息学院n缓冲区队列:三种:空闲缓冲区,输入缓冲区,输出缓冲区n操作:四种:设备输入,CPU读入,CPU写出,设备输出。上述操作访问各个缓冲区队列时,需要进行相应的互斥操作。6.7.4缓冲池(BufferPool)inqueueemptyqueueoutqueueBufferPoolDeviceCPU912024/7/14阜阳师范学院计算机与信息学院缓冲区的工作方式o缓冲区可以工作在下列四种方式下:1.收容输入。输入进程需要输入时,取得空缓冲区,装满后放入输入队列。2.提取输入。计算进程需要输入时,在输入队列取缓冲区,提取数据后挂在空缓冲区队列上。3.收容输出。计算进程需要输出时,取空缓冲区,装满数据后挂在输出缓冲队列上。4.提取输出。输出进程从输出队列取缓冲区,提取完数据后挂在空缓冲区上。1.收容输入hin=getbuf(emq);putbuf(inq,hin);2.提取输入sin=getbuf(inq);计算;putbuf(emq,sin)3.收容输出hout=getbuf(emq);putbuf(outq,hout)4.提取输出sout=getbuf(outq);输出;putbuf(emq,sout)I/OI/O用户进程12hinsoutsinhoutinqemqemqoutq43932024/7/14阜阳师范学院计算机与信息学院6.8磁盘存储器的性能和调度6.8.1磁盘性能简述6.8.2早期的磁盘调度6.8.3基于扫描的磁盘调度算法磁盘存储器管理的主要任务:为文件分配存储空间、合理地组织文件地存储方式,以提高访问速度、提高磁盘存储空间地利用率、提高磁盘I/O速度,改善文件性能、确保文件系统的可靠性(备份)942024/7/14阜阳师范学院计算机与信息学院1)固定头磁盘在每条磁道上都有一读/写磁头,所有的磁头都被装在一磁臂中。主要用于大容量磁盘2)移动头磁盘每一个盘面仅配有一个磁头,也被装入磁臂中。用于小容量的磁盘磁盘的类型6.8.1磁盘性能简述952024/7/14阜阳师范学院计算机与信息学院磁盘访问时间1)寻道时间Ts指把磁臂(磁头)移动到指定磁道上所经历的时间。2)旋转延迟时间Tr指定扇区移动到磁头下面所经历的时间。3)传输时间Tt把数据从磁盘读出或向磁盘写入数据所经历的时间。6.8.1磁盘性能简述962024/7/14阜阳师范学院计算机与信息学院例题4o某磁盘的转速为10000转/分,平均寻道时间是6ms,磁盘传输速率是20MB/s,磁盘控制器延迟为0.2ms,读取一个4KB的扇区所需的平均时间约为_9.4ms972024/7/14阜阳师范学院计算机与信息学院6.8.2早期的磁盘调度算法1.先来先服务FCFS(First-Come,FirstServed)该算法根据进程请求访问磁盘的先后次序进行调度,即先为最早提出请求的进程服务优点:公平、简单且不会出现饥饿现象缺点:未对寻道进行优化,故平均寻道时间可能较长982024/7/14阜阳师范学院计算机与信息学院2.最短寻道时间优先SSTF(ShortestSeekTimeFirst)6.8.2早期的磁盘调度算法该算法选择这样的请求,其要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短。优点:比FCFS有更好的寻道性能。缺点:不能保证平均寻道时间最短;出现饥饿现象992024/7/14阜阳师范学院计算机与信息学院1.扫描(SCAN)算法该算法不仅考虑到欲访问的磁道与当前磁道间的距离,还考虑到磁头的移动方向电梯调度算法优点:能避免饥饿现象缺点:比SSTF寻道性能要稍差些6.8.3基于扫描的磁盘调度算法1002024/7/14阜阳师范学院计算机与信息学院例题5o假设磁头当前位于第105道,正在向磁道序号增加的方向移动。现有一个磁道访问请求序列为35,45,12,68,110,180,170,195,采用SCAN调度(电梯调度)算法得到的磁道访问序列是:110,170,180,195,68,45,35,121012024/7/14阜阳师范学院计算机与信息学院2.循环扫描(CSCAN)算法该算法规定磁头只能作单向移动,当沿某个方向访问到最后磁道时,磁臂立即返回到磁盘的另一端进行循环扫描优点:比SCAN算法更公平6.8.3基于扫描的磁盘调度算法1022024/7/14阜阳师范学院计算机与信息学院1)N-Step-SCAN算法当进程对某一磁道有较高的访问频率,以上的调度算法,都可能出现磁臂停留在某处不动的情况,称为“磁臂粘着”(Armstickiness)N步SCAN算法是将磁盘请求队列分成若干个长度为N的子队列,磁盘调度将按FCFS算法依次处理这些子队列。而每处理一个队列时又是按SCAN算法。当N值取得很大时,接近于SCAN算法的性能;当N=1时,N步SCAN算法便蜕化为FCFS算法。3.N-Step-SCAN和FSCAN调度算法6.8.3基于扫描的磁盘调度算法1032024/7/14阜阳师范学院计算机与信息学院2)FSCAN算法FSCAN算法实质上是N步SCAN算法的简化,即FSCAN只将磁盘请求队列分成两个子队列。一个是由当前所有请求磁盘I/O的进程形成的队列,由磁盘调度按SCAN算法进行处理。在扫描期间,将新出现的所有请求磁盘I/O的进程,放入另一个等待处理的请求队列。这样,所有的新请求都将被推迟到下一次扫描时处理。5.N-Step-SCAN和FSCAN调度算法6.8.3基于扫描的磁盘调度算法1042024/7/14阜阳师范学院计算机与信息学院例题7假设计算机系统采用CSCAN(循环扫描)磁盘调度策略o设某单面磁盘旋转速度为每分钟6000转。每个磁道有100个扇区,相临磁道间的平均移动时间为1ms。o若在某时刻,磁头位于100号磁道处,并沿着磁道号大的方向移动(如图所示),磁道号请求队列为50、90、30、120。对请求队列中的每个磁道需读取1个随机分布的扇区,则读完这个扇区点共需要多少时间?要求给出计算过程。1052024/7/14阜阳师范学院计算机与信息学院分析o每分钟6000转,转一圈的时间为0.01s=10mso通过一个扇区的时间为0.0001s=0.1mso根据CSCAN算法,被访问的磁道号顺序为:100、120、30、50、90,因此,寻道时间用去总时间为:(20+90+20+40)*1ms=170mso总共要随机读取四个扇区,用去的时间为(10ms*0.5+0.1ms)*4=20.4mso所以,读完这个扇区点共需要170ms+20.4ms=190.4ms人有了知识,就会具备各种分析能力,明辨是非的能力。所以我们要勤恳读书,广泛阅读,古人说“书中自有黄金屋。”通过阅读科技书籍,我们能丰富知识,培养逻辑思维能力;通过阅读文学作品,我们能提高文学鉴赏水平,培养文学情趣;通过阅读报刊,我们能增长见识,扩大自己的知识面。有许多书籍还能培养我们的道德情操,给我们巨大的精神力量,鼓舞我们前进。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!