设备管理设备管理的功能把文件存放到存储介质上时,必须要对外围设备进行启动和控制,这部分功能由操作系统中的设备管理完成。设备管理的功能外围设备的分类存储设备:磁盘机、磁带机输入/输出型设备:显示器、输入机、打印机存储型设备能使大量信息存储到存储介质上,能做为主存的扩充,也成为辅存。输入输出型设备把外界的信息输入到计算机,把运算结果输出。设备管理的功能主存和外设之间的信息传送称为输入/输出操作。对存储型设备,输入/输出操作的信息传送单位为“块”。对输入/输出型设备,输入/输出操作的信息传送单位为“字符”。设备管理的功能设备管理带来的好处:启动外设的事务不由用户承担实现外设的共享,提高设备的利用率实现外设和其他计算机部件的并行操作,提高系统利用率处理故障,防止用户错误的使用外设,提高系统可靠性和安全性设备管理的功能实现对外围设备的分配和回收实现外围设备的启动实现对磁盘的驱动调度处理外设的中断事件实现虚拟设备外围设备的分类从使用的角度分析外围设备的特性,可以把外设分成两类:独占设备和可共享设备。作业执行过程中只允许一个作业独占的设备称为独占设备。可以让若干个作业同时使用(交替使用)的设备称为可共享设备。独占设备的管理实现多道程序设计的计算机系统可以同时接纳多个用户作业,每个作业都需要使用一些外设,有的时候几道作业可能要求使用同样的外设,对于设备管理来说,必须决定分配外设的策略,尽可能满足作业的要求和提供设备利用率。设备的绝对号与相对号计算机系统中配置有各种不同类型的设备,每一类设备又可以有多台,为了对设备进行管理,为每台设备确定一个编号,这个编号称为设备的绝对号。用户无法知道哪台设备空闲,用户申请设备时不能使用绝对号。只要向系统说明所要设备的类型,实际分类哪一台由系统决定。设备的绝对号与相对号用户可能同时使用几台同类型设备,为了避免使用时的混乱,用户可以把自己要求使用的若干台设备编号,由用户对自己需要使用的若干台设备给出的编号称为设备的相对号。用户总是用“设备类、相对号”来提出使用设备。系统在为用户分配具体设备时就建立“设备类、相对号”和“绝对号”的对应关系。独占设备的分配作业申请独占设备时,应指定所需的是什么设备,指定的方式有两种:指定“绝对号”:系统把与绝对号对应的设备分配给作业,如果已占用或有故障,作业等待。通常,用户不用指定具体设备,而是指定哪种设备多少台,用户在程序中使用“设备类、相对号”定义逻辑设备。由系统将逻辑设备转换成物理设备,并启动设备工作。用户编制程序时使用的设备与实际占用的设备无关,这种特性称为设备的独立性。独占设备的分类设备独立性带来的好处:系统只要从指定类别的设备中找出“好的且尚未分配的”设备来分配万一设备出现故障,系统可以再找一台“好的且尚未分配的”设备来替换独占设备的分类在设备分配策略上,对磁带机、输入机、打印机等只适合独占的设备总是采用静态分配策略。静态分配:仅当一个作业所需的独占设备能够得到满足时,该作业才能被装入主存执行,作业撤离时,收回分配给它的设备。独占设备的分类为了记录设备的分配情况,系统可以设置设备分配表,指出系统所配置的独占设备类型、数量以及分配和使用的情况。设备分配表由两部分组成:设备类表、设备表设备类总台数现存台数设备表始址打印机11输入机21磁带机22设备类表绝对号好/坏已/未分配占用作业名相对号001好未分配002好已分配J1001003好未分配004好未分配005好未分配设备表独占设备的分类用户申请使用某台设备时,先查设备类表。若果现存的台数能够满足申请要求,则依次检查该类设备,找出“好的且尚未分配的”设备分配给用户。分配后修改“现存台数”,“已/未分配”标志,填上作业名和作业中定义的相对号,并把设备的绝对号和相对号对应关系通知用户。独占设备的分类作业撤离时回收作业占用的全部设备根据作业名在设备表中找到该作业占用的全部设备,把标志改为“未分配”,清除作业名。把回收的台数加到“现存台数”中。访问磁盘的操作时间任何一个访问磁盘的请求,都应给出访问磁盘的存储空间地址:柱面号、磁头号、扇区号。先把移动臂移到指定柱面,再等待指定的扇区旋转到磁头下面,让指定的磁头进行读/写。磁盘执行一次输入/输出操作所花费的时间:寻道时间、延迟时间、传送时间三个部分组成。磁道磁臂磁头磁盘的驱动调度磁盘是一种共享设备,同时会有若干个进程要求访问磁盘,但每个时刻只允许一个访问者启动。系统会采用一定的调度策略来决定等待访问者的执行次序,这项决定访问者执行次序的工作称为驱动调度,采用的调度策略称为驱动调度算法。磁盘的驱动调度磁盘驱动调度包括:移臂调度和旋转调度两部分。一般先进行移臂调度,再进行旋转调度。移臂调度的目标是尽可能减少寻找时间。旋转调度的目标是尽可能减少延迟时间。移臂调度根据等待访问者指定的柱面位置来决定次序的调度称为“移臂调度”。先来先服务调度算法按照访问者提出访问请求的先后次序。假设磁盘位于53号柱面,等待者依次要求98,183,37,122,14,124,65,67号柱面0143753656798122124183199最短寻找时间优先调度算法最短寻找时间优先调度算法总是从等待访问者中挑选寻找时间最短的那个请求先执行。假设磁盘位于53号柱面,等待者依次要求98,183,37,122,14,124,65,67号柱面0143753656798122124183电梯调度算法电梯调度算法总是沿着臂的移动方向选择最近的那个柱面的访问者,如果移动方向上无请求,就改变臂的移动方向再进行选择。假设磁盘位于53号柱面,假设磁臂移动方向从内向外(向0号柱面方向),等待者依次要求98,183,37,122,14,124,65,67号柱面0143753656798122124183电梯调度算法假设磁盘位于53号柱面,假设磁臂移动方向从外向内(向柱面号增大方向),等待者依次要求98,183,37,122,14,124,65,67号柱面0143753656798122124183旋转调度移臂定位之后,可能会有多个访问者访问该柱面,从效率考虑应优先选择延时时间最短的访问者去执行,根据延迟时间来决定执行次序的调度称为旋转调度。旋转调度若干请求者要求访问相同磁头下的不同扇区。0扇区1扇区2扇区3扇区旋转方向磁头4扇区5扇区2号请求1号请求旋转调度若干请求者要求访问不同磁头下的不同扇区。0扇区1扇区2扇区3扇区磁头4扇区5扇区1号请求0扇区1扇区2扇区3扇区旋转方向磁头4扇区5扇区2号请求旋转调度若干请求者要求访问不同磁头下的相同扇区。0扇区1扇区2扇区3扇区磁头4扇区5扇区1号请求0扇区1扇区2扇区3扇区旋转方向磁头4扇区5扇区2号请求例1:有四个访问5号柱面的访问者,访问要求如表所示:请求次序柱面号磁头号扇区号(1)541(2)515(3)545(4)528练习P1879信息的优化分布信息在磁道上的排列方式也会影响旋转调度时间。例:磁盘每个盘面8个扇区,每次请求从磁盘上读一个记录,对读出的记录花5ms的时间进行处理,然后再读下一个记录,直至处理结束,假设磁盘转速每周20ms,记录在磁盘上的分布如图所示:L7L5L4L3L2L1L6L8始点旋转方向处理完这8个记录需要多长时间信息的优化分布L3L5L2L7L4L1L8L6始点旋转方向处理所有记录花的时间为:8*(2.5+5)=60ms练习P18710通道结构和通道程序现代计算机系统引入了通道结构,主存和外设之间传送信息的操作不再由中央处理器承担,而改由通道承担。中央处理器只需启动通道,通道就能按指定的要求独立地完成输入/输出操作,中央处理器做其他工作,从而使得中央处理器与外设可以并行工作。由于通道可以独立工作,各通道上的外围设备也能并行工作。由于通道能单独地完成输入/输出操作,所以把通道称为I/O处理机。通道结构和通道程序通道命令(channelcommandword,CCW)计算机硬件提供一组“通道命令”,每一条通道命令规定了设备的一种操作,通道命令由通道执行。操作系统可以用若干条通道命令来规定通道应做的工作,若干条通道命令就构成了通道程序。通道命令CCW不同的操作系统通道命令格式不同,一般由命令码、数据主存地址、传送字节数、标志码组成。例如IBM系统通道命令用8字节表示:要控制外围设备完成指定工作,首先要用通道程序把要求表示出来,然后启动通道,通道按照通道程序的要求指定外设工作。命令码传送字节数标志码数据主存地址063通道命令CCW例:用户要求从打印机上输出一行信息“operatingsystem”,信息打印在新的一页第4行,“operatingsystem”存放在主存001000号单元,占16个字节,编制一个含有三条命令的通道程序,程序存放在主存的K号单元开始的区域中。(16进制表示)走到新页开始,继续下一条命令走纸到第四行,继续下一条命令打印主存001000开始的16个字节数据,通道程序结束0700000060000001EF00000060000001F900100000000010KK+8K+1600100000100FOperatingSystem主存通道地址字(channeladdressword,CAW)编制好的通道程序是放在主存的,主存中设置一个固定单元存放通道程序首地址,这个存放通道程序首地址的主存固定单元称为通道地址字(CAW)。0700000060000001EF00000060000001F900100000000010KK+8K+16主存KCAW通道状态字(channelstatusword,CSW)当通道被启动后,在执行通道程序时,需要把通道和设备执行操作的情况记录下来。通道程序执行结束时,被记录的执行情况存储到主存的一个固定单元中,这个单元称为通道状态字(CSW)通道状态字(channelstatusword,CSW)IBM系统的通道状态字:通道命令地址:下一条通道指令在主存中的地址设备状态:设备和设备控制器识别的状态,忙、出错、结束等通道状态:通道识别的状态剩余字节数:最近的一次通道命令执行后还剩多少字节没有传输完通道命令地址剩余字节数通道状态设备状态06348474039323187外围设备的启动—准备阶段文件管理确定文件物理地址以及信息存放的主存地址用户请求存取文件设备管理组织通道程序,把通道程序在主存的首地址写入通道地址字(CAW)告知设备管理外围设备的启动—启动I/O阶段设备管理程序组织“启动I/O”指令,参数为通道号和设备号,CPU执行“启动I/O”指令通道收到指令后,根据自己和设备的工作情况形成条件码,向中央处理器报告是否成功启动分析条件码,若成功启动,中央处理器继续执行其他进程从通道地址字中取出通道程序首地址,装入通道状态字,按照程序要求控制设备工作,执行的情况记录在通道状态字中外围设备的启动—结束处理阶段通道发现通道状态字中有结束、出错等情况将产生中断的通道号、设备绝对号报给中断控制器,中断状态字CSW写入主存发出I/O中断保护断点,分析中断原因,转向中断处理程序设备处理一致性具有通道的计算机系统,从启动外设到输入/输出完成,都不考虑物理设备的特性,使用统一方法进行处理,这种不考虑设备的具体物理特性的处理方法称为设备处理一致性。I/O中断事件的处理I/O中断事件可以分为操作正常结束和操作异常结束两大类,这两类中断的处理原则如下:操作正常结束通道状态字中有通道结束、设备结束、控制器结束时,表示通常完成了通道程序规定的操作。操作系统根据通道号、设备号查询设备分配表,得到进程名称,将进程状态由“等待”变成“就绪”I/O中断事件的处理操作异常结束设备故障执行输入/输出操作时,发现硬件故障等情况时形成操作异常结束的I/O中断。操作系统处理这类事件的原则是让通道程序复执。设备特殊打印机缺纸、磁带到了末尾等特殊情况操作系统分类处理,通