
第五章设备管理.ppt
90页2017/11/4,1,操作系统原理与设计 Operating Systems: Design and Implementation,系别:计算机科学技术系 主讲:熊焰 :3600689 邮箱: yxiong@,2017/11/4,2,第五章 设备管理,5.1 概述设备:泛指计算机系统中的外部设备,即除主机以外的其他所有设备 设备的分类:可以从不同的角度对外部设备进行分类1)基于设备的从属关系,可以把系统中的设备分为:1.系统设备:在os生成时已登记于系统中的标准设备2.用户设备:在os生成时未已登记于系统中的非标准设备2)基于设备的分配特性,可以把系统中的设备分为:1.独享设备:临界资源,使用时有排它性,例如打印机;,2017/11/4,3,第五章 设备管理,2.共享设备:一段时间内允许多个进程同时访问,例如磁盘3.虚拟设备:通过虚拟技术将一占设备变换为若干台逻辑设备,供若干用户(进程)使用,例如spooling 技术4.spooling 技术:人们常通过共享设备来模拟独占型设备的动作,使独占型设备成为共享设备,从而提高了设备利用率和系统的效率,这种技术被称为虚拟设备技术,实现这一技术的硬件和软件系统被称为SPOOL,或称为假脱机系统。
假定某系统的全部行式打印机采用了虚拟设备技术(即使用了SPOOL技术),当某进程要求打印输出时,输出SPOOL并不是把某台打印机分配给该进程,而是在某共享设备(磁盘)上的输出SPOOL存储区中,为其分配一块存储空间,同时为该进程的输出数据,2017/11/4,4,第五章 设备管理,建立一个文件该进程的输出数据实际上并未从打印机上输出,而只是以文件形式输出,并暂存放在输出SPOOL存储区中这个输出文件实际上相当于虚拟的行式打印机各进程的输出都以文件形式暂时存放在输出SPOOL存储区中并形成了一个输出队列,由输出SPOOL控制打印机进程,依次将输出队列中的各进程的输出文件最后实际地打印输出5.SPOOL系统的特点:1)用户进程并未真正分得打印机,或者说打印机并未分给某个进程独占地使用2)用户进程实际被分配的不是打印设备,而是共享设备中的一个存储区,即虚拟设备3)独享设备使用效率提高了,从而系统效率也提高了2017/11/4,5,第五章 设备管理,6.SPOOL的程序结构大致可描述如下:begin repeat if “输出队列为空” then WAIT “从输出队列取下一个文件”; “打开该文件”; begin repeat “从磁盘缓冲区中读一文件行”; “打印该文件输出行”; “等待打印机完成中断”; until (end of file) end forever end,2017/11/4,6,第五章 设备管理,本程序中主要是输出SPOOL的打印发送部分 ––– 将输出队列中的文件逐个打印输出。
通常还应有接收部分 ––– 将用户进程的输出放入输出队列,并为之建立输出文件这部分可与文件系统结合,在此从略3)基于设备的工作特性,可以把系统中的设备分为:1.输入/输出设备:键盘、鼠标、打印机等2.存储设备:硬盘、磁带机、U盘、移动硬盘等4)基于设备的传输速率,可以把系统中的设备分为:1.低速:如键盘、鼠标等;2.中速(每秒数千至数万字节):如打印机等;3.高速:如光盘机、磁盘机等2017/11/4,7,第五章 设备管理,(5)基于信息交换的单位,可以把系统中的设备分为:1.块设备(Block Device):存取信息以数据块为单位,存取可寻址,属于有结构设备,如磁盘;2.字符设备(Character Device):属于无结构设备,速率较低,不可寻址,如打印机等设备管理的目标、任务与功能:(1)设备管理的目标:1.提高外部设备的利用率;2.为用户提供便利、统一的使用界面;(2)设备管理的任务:1.按照用户的请求,控制设备的各种操作,完成I/O设备与内存之间的数据交换(包括设备分配与回收;设备驱动程序;设备中断处理;缓冲区管理),最终完成用户的I/O请求1) 选择和分配I/O设备,以便进行数据传输操作;2) 控制I/O设备与内存之间交换数据。
2017/11/4,8,第五章 设备管理,2.向用户提供使用外部设备的方便接口,使用户摆脱繁琐的编程负担1)方便性;2)友好界面;3)透明性3.充分利用各种技术(通道,中断,缓冲等)提高CPU与设备、设备与设备之间的并行工作能力,充分利用资源1)并行性;为了提高设备利用率和系统效率,设备管理的设计应能使各设备的数据传输与CPU运行能高度重叠,使各设备充分地并行工作2)均衡性(使设备充分忙碌):由于输入输出操作往往成为计算机系统中的“瓶颈”部分,因此设备管理设计应尽可能地使设备有效地工作2017/11/4,9,第五章 设备管理,4.保证在多道程序环境下,当多个进程竞争使用设备时,按一定策略分配和管理各种设备,使系统能有条不紊的工作5.与设备无关性(设备独立性),用户在编制程序时,使 用逻辑设备名,由系统实现从逻辑设备到物理设备(实际设备)的转换,用户能独立于具体物理设备而方便的使用设备用户申请使用设备时,只需要指定设备类型,而无须指定具体物理设备,系统根据当前的请求,及设备分配的情况,在相同类别设备中,选择一个空闲设备,并将其分配给一个申请进程6.对不同的设备采取统一的操作方式,以方便用户程序中使用逻辑设备。
7.设备忙碌或设备故障时,用户不必修改程序,改善了系统的可适应性和可扩展性3)设备管理的功能:,2017/11/4,10,第五章 设备管理,1.提供一组统一的且独立于设备的I/O命令,以便用户进程能够在程序一级发出所需要的I/O请求,这就是用户使用外部设备的“界面”;2.进行设备的分配与回收;3.对缓冲区管理; 4.实现真正的I/O操作; 5.处理外部设备的中断设备的物理特性差异:(1)数据传输率; (2)数据表示方式; (3)传输单位; (4)出错条件;,2017/11/4,11,第五章 设备管理,设备绝对号、相对号、类型号:(1)绝对号:一个计算机系统中的可配置有多种类型的外设,而同一类型的外设又可有多台通常将系统中的每一台设备按某种原则进行编号,这些编号就作为硬件 区分和识别设备的代号,称为设备的绝对号2)类型号:因为用户不可能知道哪一台正被使用,那台空闲,所以为提高利用率,避免多道程序中用户使用设备时发生矛盾,把调度和管理外设的工作交给os完成,用户使用外设时,只需向系统说明所需使用的设备类型即可,至于实际使用的该类设备的那一台,由os去调度,引出设备类型号-为每一类外设规定的编号。
3)相对号:标识的方法类似于存储管理中的相对地址,是用户自己规定并使用系统能了解他要使用的是这,2017/11/4,12,第五章 设备管理,台同类设备中的哪一台(通常用一个整数来表示)例如Lp 代表行式打印机,Lp1 代表行式打印机第一台优点:方便用户编程,提高了设备的利用率5.2 I/O系统I/O系统:是实现数据输入、输出及数据存储的系统也是计算机系统的一个重要组成部分包括实现信息输入、输出和存储功能的设备和相应设备控制器;在有些大型系统中,还有I/O通道或I/O处理机,设备管理的对象主要是I/O设备,还可能涉及设备控制器和I/O通道I/O 操作:计算机的主存和外围设备的介质之间的信息传送操作设备与CPU之间的接口:通常设备并不与CPU直接通信,而是通过设备控制器,接口示意图如下:,2017/11/4,13,第五章 设备管理,,2017/11/4,14,第五章 设备管理,(1)数据信号线:用于传送数据信号2)控制信号线:由设备控制器向I/O设备发送控制信号的通路3)状态信号线:传送当前设备状态信号状态有:读、写、读(写)完成并准备好新的数据传送5.3 设备控制器:设备控制器: I/O设备包括一个机械部件和一个电子部件。
为了达到设计的模块性和通用性,一般将其分开机械部件则是设备本身,而电子部件称为设备控制器或适配器,在微机和小型机中,它通常是一块可插入主板扩展槽的印刷电路板,也叫接口卡它是CPU与I/O设备之间的硬件接口,它接收从CPU发来的命令,并去控制一个或多个设备设备控制器的基本功能:,2017/11/4,15,第五章 设备管理,(1)接收和识别命令:设备控制器应能接收和识别CPU发来的命令,由于命令可能带有参数,所以控制器应设有寄存器(当然必须要有命令译码器)2)数据交换:控制器设有数据寄存器用于双向数据交换3)标识和报告设备状态:控制器设有状态寄存器,用于记录设备状态,供CPU使用4)地址识别:控制器应配有地址译码器以识别设备地址5)数据缓冲:由于CPU和设备间速度不匹配,所以控制器应具有缓冲功能6)差错控制:对I/O设备送来的数据进行差错检测,并向CPU报告设备控制器的组成:,2017/11/4,16,第五章 设备管理,(1)命令寄存器及译码器,(2)数据寄存器,(3)状态寄存器,(4)地址译码器,(5)用于对设备操作进行控制的I/O逻辑操作系统与控制器打交道,而非设备本身多数PC的CPU和控制器之间的通信采用单总线模型,CPU直接控制设备控制器进行I/O;而大型主机则采用多总线结构和通道方式,以提高CPU与输入输出的并行程度。
控制器的工作过程:(1)设备的I/O地址分配由控制器上的总线解码逻辑完成2)控制器通过中断通知CPU已经做好准备,寄存器可以读写2017/11/4,17,第五章 设备管理,2017/11/4,18,第五章 设备管理,2017/11/4,19,第五章 设备管理,(3)OS通过向控制器寄存器写命令字来执行I/O功能4)控制器接受一条命令后,CPU可以转向其它工作,而设备控制器自行完成具体的I/O操作5)当命令执行完毕后,控制器发出一个中断信号,以便OS重新获得CPU的控制权并检查执行结果6)设备控制器是CPU和设备之间的一个接口,它接收从CPU发来的命令,控制I/O设备操作,实现主存和设备之间的数据传输7)设备控制器是一个可编址设备,当它连接多台设备时,则应具有多个设备地址5.4 总线系统计算机系统中的各部件如CPU、内存以及各种I/O设备之间的联系,都是通过总线来实现的总线性能是用时钟频率、带宽和相应的总线传输速率来衡量1)ISA(Industry Standard Architecture):早期带宽,2017/11/4,20,第五章 设备管理,8位,2Mb/s速率,后为16位,16Mb/s速率。
2.EISA(Extended ISA):带宽32位,速率32Mb/s3.局部总线:是指将多媒体卡、高速LAN网卡、高性能显示卡等,从总线上分离,通过局部总线控制器,直接接到CPU总线上,使之具有高速数据交换能力4.VESA(Video Electronic Standard Association):32位,可达132Mb/s,但控制器无缓冲,且连Pentium也不支持5.PCI(Peripheral Component Interface):支持64位系统,它在CPU和外设之间加了一层复杂的管理系统,用于协调数据传输和提供一致的接口能适应高频率的CPU新一代计算机出现,带来了总线技术的更新:,2017/11/4,21,(1)微型计算机总线的种类和发展:,SCSI总线,2017/11/4,22,第五章 设备管理,USB技术:USB(Universal Serial Bus)通用串行总线,是一种连接I/O串行设备的技术标准1)由于I/O设备的接口标准的不一致和有限的接口数量已无法满足各种应用迫切需要;传统的I/O设备的接口无法满足实时数据传输与多媒体应用的需求2)USB以WDM(Windows Driver Model)模型为基础,WDM包含一套通用的I/O服务和二进制兼容的设备驱动程序。
3)USB支持同步数据传输方式和异步数据传输方式,其数据传输率有低速1.5Mbps和全速12Mbps两种,比标准串口快100倍,比标准并口快10倍。