您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > HYZ-OS-2013-设备管理概念
12020年2月7日星期五北京交通大学计算机学院何永忠操作系统(A)北京交通大学计算机学院何永忠副教授第五章:设备管理第五章设备管理5.1I/O系统组成5.2I/O控制方式5.3设备管理目标、功能及结构5.4缓冲管理5.5设备分配5.6设备处理5.7磁盘存储器管理5.1I/O系统组成5.1.1I/O系统结构5.1.2I/O设备分类及接口5.1.3设备控制器5.1.4I/O通道ModernI/OSystemsEISA总线5.1I/O系统组成5.1.1I/O系统结构5.1.2I/O设备分类及接口5.1.3设备控制器5.1.4I/O通道I/O设备分类按数据传输速率分类高速设备、中速设备、低速设备按信息交换单位分类块设备(传输速率高、可寻址、DMA)字符设备(传输速率低、不可寻址、中断)按设备共享属性分类独占设备共享设备虚拟设备ExampleDevice-TransferRates(SunEnterprise6000)DeviceRatesvaryovermanyordersofmagnitudeSystembetterbeabletohandlethiswiderangeBetternothavehighoverhead/byteforfastdevices!Betternotwastetimewaitingforslowdevices设备与设备控制器之间的接口控制逻辑缓冲器数据信号线信号数据转换器控制信号线状态信号线I/O设备设备控制器5.1I/O系统组成5.1.1I/O系统结构5.1.2I/O设备分类及接口5.1.3设备控制器5.1.4I/O通道设备控制器的功能接收和识别命令控制寄存器/命令译码器数据交换(数据寄存器)标识和报告设备状态(状态寄存器)地址识别(地址译码器)数据缓冲(缓冲器)差错控制(差错检查码)设备控制器的组成I/O逻辑数据寄存器…设备控制器与设备接口1数据线数据信号控制/状态寄存器…状态信号控制信号设备控制器与设备接口n数据信号状态信号控制信号控制线地址线CPU与设备控制器接口设备控制器与设备接口5.1I/O系统组成5.1.1I/O系统结构5.1.2I/O设备分类及接口5.1.3设备控制器5.1.4I/O通道I/O通道及引入通道引入的主要目的在于提高I/O过程的独立性,不仅使数据的传送能独立于CPU,而且使有关I/O操作的组织、管理与结束尽量独立,从而保证CPU有更多的时间进行数据处理设置通道后,CPU只需向通道发出一条I/O指令;通道收到该指令后,便从内存取出本次要执行的通道程序并予执行;仅当其完成规定的I/O任务后,才向CPU发出中断信号通道为特殊的处理机,其指令类型单一、无专有内存(与CPU共享内存),通过执行通道I/O程序来控制I/O操作通道指令与通道程序通道指令读指令:外设===内存写指令:内存===外设控制指令:具体功能与所控设备有关,如磁带机反绕、磁盘机寻道、打印机换页等通道程序通道指令的逻辑集合,由设备驱动程序自动生成,存放于内存特定区域通道类型字节多路通道含有许多非分配型子通道分别连接在低、中速I/O设备上,子通道按时间片轮转方式共享主通道,按字节方式进行数据传送数组选择通道只含有一个分配型子通道,一段时间内只能执行一道通道程序、控制一台设备按数组方式进行数据传送,通道独占且利用率低,用于连接多台高速设备数组多路通道含有多个非分配型子通道分别连接在高、中速I/O设备上,子通道按时间片轮转方式共享主通道,按数组方式进行数据传送通道瓶颈问题及解决方案I/O通道1主机设备控制器1设备1设备2I/O通道2设备3设备4设备5设备6设备7设备8设备控制器2设备控制器3设备控制器4I/O通道1主机设备1设备2I/O通道2设备3设备4设备控制器1设备控制器25.1I/O系统组成5.1.1I/O系统结构5.1.2I/O设备分类及接口5.1.3设备控制器5.1.4I/O通道第五章设备管理5.1I/O系统5.2I/O控制方式5.3设备管理目标、功能及结构5.4缓冲管理5.5设备分配5.6设备处理5.7磁盘存储器管理5.2I/O控制方式程序I/O控制方式简单的忙-等待方式中断驱动I/O控制方式中断机制的引入直接存储器访问控制方式DMA控制器、数据传输单位扩大I/O通道控制方式通道、I/O操作组织和数据传送的独立程序I/O控制方式向设备控制器发出一条I/O指令启动输入设备输入数据,并初始化其状态寄存器值读取设备控制器状态寄存器值状态?出错处理出错未就绪就绪从设备控制器数据寄存器读入字将字传送和写入内存指定单元传送完成?下条指令完成未完成CPU→设备控制器设备控制器→CPU设备控制器→CPUCPU→内存中断驱动I/O控制方式向设备控制器发出一条I/O指令启动输入设备输入数据,并初始化其状态寄存器值读取设备控制器状态寄存器值状态?出错处理出错就绪从设备控制器数据寄存器读入字将字传送和写入内存指定单元传送完成?下条指令完成未完成CPU→设备控制器设备控制器→CPU设备控制器→CPUCPU→内存CPU作其它事中断直接存储器访问控制方式数据传输单位数据块数据传输途径设备内存CPU干预限于数据块传送开始与结束向DMA控制器发出一条I/O指令启动输入设备输入数据,并初始化其状态寄存器值读取DMA控制器状态寄存器值下条指令CPU→DMA控制器DMA控制器→CPUCPU作其它事中断DMA控制器组成I/O控制逻辑数据寄存器DR…设备控制器与设备接口1数据信号命令/状态寄存器CR…状态信号控制信号设备控制器与设备接口n数据信号状态信号控制信号主机与设备控制器接口设备控制器与块设备接口数据计数器DC内存地址寄存器MAR包括CPU和内存系统总线包括数据线、地址线和控制线基于DMA磁盘读入数据流程设置DMA控制器之内存地址寄存器MAR和数据计数器DC初始值启动DMA数据传送指令从磁盘读入一个数据字到数据寄存器DR,挪用存储器周期传送数据字内存地址寄存器MAR值递增数据计数器DC值递减DC=0?请求中断是否CPUDMA控制器I/O通道控制方式操作码通道程序结束标志记录结束标志数据读写字节计数内存地址WRITE0080813WRITE001401034WRITE01605830WRITE013002000WRITE002501850WRITE11250720通道程序同一记录操作通道程序的执行流程设备驱动模块根据请求参数组织和生成通道程序通道程序起始地址送通道地址寄存器CAW启动通道设备驱动进程自我阻塞,CPU重新调度和执行其它进程用户进程提出I/O请求,唤醒设备驱动进程后自我阻塞执行通道命令寄存器CCW中的通道指令和完成I/O操作发出I/O完成的中断请求根据通道地址寄存器CAW当前值从内存提取一条通道指令送通道命令寄存器CCW,同时使通道地址寄存器CAW递增以使其指向下一条通道指令最后一条通道指令?I/O中断处理模块唤醒设备驱动进程是否CPU通道第五章设备管理5.1I/O系统组成5.2I/O控制方式5.3设备管理目标、功能及结构5.4缓冲管理5.5设备分配5.6设备处理5.7磁盘存储器管理WhatistheRoleofI/O?WithoutI/O,computersareuseless(disembodiedbrains?)But…thousandsofdevices,eachslightlydifferentHowcanwestandardizetheinterfacestothesedevices?Devicesunreliable:mediafailuresandtransmissionerrorsHowcanwemakethemreliable???Devicesunpredictableand/orslowHowcanwemanagethemifwedon’tknowwhattheywilldoorhowtheywillperform?TheGoaloftheI/OSubsystemProvideuniforminterfaces,despitewiderangeofdifferentdevicesThiscodeworksonmanydifferentdevices:FILEfd=fopen(“/dev/something”,“rw”);for(inti=0;i10;i++){fprintf(fd,“Count%d\n”,i);}close(fd);Why?Becausecodethatcontrolsdevices(“devicedriver”)implementsstandardinterfaceImproveCPUandI/OparallelismEasyaddnewI/OdeviceWantStandardInterfacestoDevicesBlockDevices:e.g.,diskdrives,tapedrives,DVD-ROMAccessblocksofdataCommandsincludeopen(),read(),write(),seek()RawI/Oorfile-systemaccessMemory-mappedfileaccesspossibleCharacter/ByteDevices:e.g.,keyboards,mice,serialports,someUSBdevicesSinglecharactersatatimeCommandsincludeget(),put()LibrarieslayeredontopallowlineeditingNetworkDevices:e.g.,Ethernet,Wireless,BluetoothDifferentenoughfromblock/charactertohaveowninterfaceUnixandWindowsincludesocketinterfaceSeparatesnetworkprotocolfromnetworkoperationIncludesselect()functionalityHowDoesUserDealwithTiming?BlockingInterface:“Wait”Whenrequestdata(e.g.,read()systemcall),putprocesstosleepuntildataisreadyWhenwritedata(e.g.,write()systemcall),putprocesstosleepuntildeviceisreadyfordataNon-blockingInterface:“Don’tWait”ReturnsquicklyfromreadorwriterequestwithcountofbytessuccessfullytransferredtokernelReadmayreturnnothing,writemaywritenothingAsynchronousInterface:“TellMeLater”Whenrequestingdata,takepointertouser’sbuffer,returnimmediately;laterkernelfillsbufferandnotifiesuserWhensendingdata,takepointertouser’sbuffer,returnimmediately;laterkerneltakesdataandnotifiesuser设备管理及目标设备管理程序用于控制与管理实现信息输入、输出和存储的设备。由于I/O设备不仅种类繁多,而且彼此特性和操作方式相差较大,从而使设备管理成为操作系统中最繁杂且与硬件紧密相关的部分。主要目标方便用户使用,实现对不同类型设备的统一管理、使用并协调各台外围设备的并发运作提高系统I/O效率,缓解CPU和多
本文标题:HYZ-OS-2013-设备管理概念
链接地址:https://www.777doc.com/doc-3530745 .html