5.1概述5.2输入输出系统结构5.3设备分配外设的特点:种类多;差异大(控制和速度)除cpu及内存以外的所有设备和装置(I/O设备,存储设备等)。一、设备:外部设备:打印机、显示器、光盘、磁盘(硬、软)、键盘、磁带等存储设备:用来存放各种信息的设备称为存储设备,例如,软盘、硬盘、光盘和磁带等;I/O设备:用来向计算机输入和输出信息的设备,如键盘、鼠标、显示器、打印机等。在现代计算机系统中有些设备既可以做存储设备,也可以做I/O设备,例如,软盘、硬盘等。5.1概述1.按所属关系系统设备–––在o.s生成时已登记于系统中的标准设备用户设备–––在o.s生成时未已登记于系统中的非标准设备二、设备的简单分类2.按资源分配角度:独占设备:一次只能分给一个用户使用共享设备:可供多个作业进程共享虚拟设备:使用spooling技术使独占型设备成为共享设备,从而提高了设备利用率和系统的效率,这种技术被称为虚拟设备技术,实现这一技术的硬件和软件系统被称为SPOOLing,或称为假脱机系统。3.按基本信息单位分:字符设备–––处理信息以单个字符为单位,慢(如:打印机)块设备–––以一组数据为单位(512字节),快(如:磁盘)设备管理目的•提高效率:提高I/O访问效率,匹配CPU和多种不同处理速度的外设•方便使用:方便用户使用,对不同类型的设备统一使用方法,协调对设备的并发使用•方便控制:方便OS内部对设备的控制:增加和删除设备,适应新的设备类型设备管理的目标•提高各种外部设备的工作效率•向用户提供使用方便且独立于设备的统一界面(设备的独立性)•对各种外部设备采用尽可能统一的管理方法,设计一个简练、可靠、易于维护的设备管理系统。由于具体物理设备的多样性、复杂性,编制输入输出程序是相当复杂。由操作系统来负责输入输出工作,使系统形成一种对“用户友好”的环境。方便性:向用户提供使用方便且独立于设备的统一界面对不同设备都使用同一套界面。统一性:由操作系统实现具体设备的物理I/o操作,用户仅使用逻辑设备名,这样用户仅与逻辑设备有关,而与具体的物理设备无关--设备独立性。一个程序应该与给定设备类型中的哪一台设备供其使用无关。要求用户程序尽可能地与设备类型无关。程序是从“虚拟设备”上进行操作。设备独立性:为了提高设备利用率和系统效率,设备管理的设计应能使各设备的数据传输与CPU并行运行,使各设备充分地并行工作。并行性:提高各种外部设备的工作效率由于输入输出操作往往成为计算机系统中的“瓶颈”部分,因此设备管理设计应尽可能地使设备有效地工作,考虑各设备忙闲的均衡性,避免忙闲不均现象。有效性与均衡性:计算机外部设备种类繁多,特性各异。主要表现在:(1)速度(2)传输单位对各种外部设备采用尽可能统一的管理方法(3)容许的操作(4)出错条件设备管理的基本功能•记录系统中所有设备、控制器和通道的状态,以掌握系统中的I/O设备资源及其使用情况。--I/O交通控制程序•按一定的算法在诸争用进程间调度和分配设备--I/O调度程序•完成实际的I/O操作--通道执行通道程序I/O操作由程序发起,并等待操作完成。数据的每次读写通过CPU。在与外设传输数据时,首先查询外设的状态,仅当外设准备好时,才在CPU与外设间传输数据。缺点:CPU与外设是异步工作的,在外设进行数据处理时,CPU只能等待。5.3输入输出系统结构程序查询方式----I/O控制方式早期的设备控制方式采用。CPU与外设并行操作,仅当外设准备好向CPU传送数据时,才向CPU发中断请求,请求CPU为其服务。即转入中断服务程序,进行I/O服务,在主机与外设间传送数据。采用这种方式要求控制寄存器中有一个中断位。优点:在外设进行数据处理时,CPU不必等待,可以继续执行该程序或其他程序。缺点:CPU每次处理的数据量少(通常不超过几个字节),只适于数据传输率较低的设备。程序中断方式由程序设置DMA控制器中的若干寄存器值(如内存始址,传送字节数),然后发起I/O操作,而后者完成内存与外设的成批数据交换,在操作完成时由DMA控制器向CPU发出中断。以“窃取”总线周期的方式,在存储器与外设间传送数据。优点:CPU只需干预I/O操作的开始和结束,而其中的一批数据读写无需CPU控制,适于高速设备,常用于块设备传输系统中。缺点:完成简单的数据传输,不能满足复杂I/OSystemBusI/OControllerI/OControllerProcessorDMAControllerMemory.....直接存取访问方式(DMA,DirectMemoryAccess)通道传送方式(channel)在大、中型和高档小型计算机系统中,大多采用通道技术CPU与通道并行工作,由通道实现在存储器与外设间数据转换与传送。I/O通道是一种特殊的处理机,它具有执行I/O指令的能力,并通过执行通道(I/O)程序来控制I/O操作。通道只能执行与I/O操作有关的指令,其指令类型单一;通道没有自己的内存,即通道与CPU共享内存。SystemBusProcessorI/OBusI/OControllerI/OControllerI/OControllerI/OControllerMemoryChannelProcessor•现代计算机I/O系统的结构:由通道、控制器和设备三级组成•I/O操作要经过三级控制:第一级由CPU执行I/O指令,启动或停止通道,查询通道状态;第二级是在通道接收CPU的通道命令字后,由通道执行为其准备的通道程序,向控制器发命令;第三级由控制器根据通道发出的命令控制外设完成I/O操作。由于外设资源的有限,需解决进程间的外设共享问题,以提高外设资源的利用率。设备分配是对进程使用外设过程的管理。系统必须有一个合理的设备分配机制,并且要保证系统的安全性,消除诸进程竞争资源而导致死锁的现象。5.2设备分配设备分配的原则是合理使用外设(公平和避免死锁),提高设备利用率。独占、共享和虚拟设备分配技术设备分配策略•设备分类:–独占设备:打印机等;–共享设备:磁盘、网卡等;–虚拟设备•分配策略:–独占方式:•设备利用率不高,不利于共享–共享方式:–虚拟方式:•提高系统和I/O设备的利用率,减少进程在运行期间等待I/O操作的时间。设备分配算法•先请求先服务:按I/O请求的先后顺序,排成I/O请求命令队列;按FCFS分配设备;•优先权高者优先:依据进程的优先级,指定I/O请求的优先级,排成不同优先级队列;按优先级高低分配设备。对优先权相同的进程,则按先请求先服务算法分配。设备分配中的安全性多进程请求使用I/O设备时,应进行安全性检查,以防止因相互等待对方进程释放其所占设备而导致死锁。静态分配法动态分配法设备独立性(物理设备和逻辑设备)•逻辑设备:用户程序中所涉及的该类物理设备特性的抽象;•目的:实现用户程序与物理设备的无关性系统规定,在用户程序中不直接使用物理设备名,而使用逻辑设备名。优点:改善设备利用率,提高系统的可适应性和可扩展性。系统设置一张逻辑设备表LUT,以实现逻辑设备到物理设备之间的映射。本章的重要概念及相关要求•了解设备管理的目标、基本功能;•通道工作方式:了解通道结构和连接方式(四级连接、三级控制);•设备分配:了解设备分配原则和策略。