[ppt]-第五章设备管理

上传人:tian****1990 文档编号:81528311 上传时间:2019-02-21 格式:PPT 页数:51 大小:425.10KB
返回 下载 相关 举报
[ppt]-第五章设备管理_第1页
第1页 / 共51页
[ppt]-第五章设备管理_第2页
第2页 / 共51页
[ppt]-第五章设备管理_第3页
第3页 / 共51页
[ppt]-第五章设备管理_第4页
第4页 / 共51页
[ppt]-第五章设备管理_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《[ppt]-第五章设备管理》由会员分享,可在线阅读,更多相关《[ppt]-第五章设备管理(51页珍藏版)》请在金锄头文库上搜索。

1、第五章 设 备 管 理,1 I/O系统硬件原理 2 I/O系统的任务与功能 3 基本数据结构 4 I/O缓冲区及其管理 5 设备分配 6 SPOOLing系统 7 设备驱动 8 磁盘的调度与驱动, 系统硬件原理,. 设备分类,()外部存贮器 简称外存,作为内存的辅助存贮器,外存容量要远大于内存,它是计算机用来保存信息的装置,所有需要暂时或永久保存的系统和用户信息都可存贮在外存中。这类设备主要有磁盘和磁带,由于存贮在外存的存贮 介质(磁盘片或磁带卷)上的信息在物理上都是以定长的字符块形式组织的,且以字符块为单位进行存取的,因此也称这类设备为面向字符块的设备或简称 块设备。一个字符块的大小通常是在

2、至个字符之间,每一块都 有自己的地址,设备支持查找寻址操作。块设备的基本特性是:程序可以读写存贮介质上的任何一块。,()字符输入输出设备 字符输入设备用来接受来自计算机外部环境的信息,例如键盘、纸带或卡片输入机、图形输入仪、鼠标器、转换器等。字符输出设备则是用来将计算机内的信息送向计算机外部环境,例如显示器、打印机、纸带或卡片输出机、绘图仪、转换器等。由于这类设备都是以字符为单位进行连续字符流传输的,它们不支持任何块结构,也不可寻址及支持任何查找操作,故常把这类设备称为面向字符的设备或简称字符设备。,. 输入输出方式,. 通道结构,图- 通道结构的计算机硬件组织,下面是通道结构中的三级控制的大

3、致工作过程: ()当需要从或向设备传输数据时,首先在内存组织通道程序,并将该程序的起始地址放入一个称为通道地址字()的固定内存单元中。然后执行“启动”指令,若此时该通道可用,则启动成功,可转去执行其它的任务或继续执行原来的程序。,()通道被启动后,根据访问通道程序,逐条执行,向控制器发出操作命令,启动控制器完成实际操作。当执行完通道程序时,通道取出结果状态和设备状态送指定寄存器,并向发出中断信号,通告此次任务的正常或异常完成情况,同时自行停止。 ()控制器执行操作命令,控制设备进行数据传输。它启动设备读入数据经通道送往指定的内存区,或将指定内存区中的数据经通道送设备输出。,. 总线结构,图-

4、总线结构的计算机硬件组织,()中断处理方式 这是一种由直接干预的方式,一般用于字符设备。启动控制器执行操作命令,控制器控制设备操作,将设备读入的数据经总线送入累加器中,或将累加器中的数据经总线送设备输出。每当传输完一个字符,控制器就向发一中断信号,每执行完一条指令后便查询是否有中断请求,若有则先保护现场, 然后从控制器寄存器中读取结果状态和设备状态, 决定是否继续下一字符的传输。 由于每交换一个字符,就要响应并处理一次中断, 故这种方式对于一次需要交换大量数据的情况就不适应了。这种方式也称字符传输方式。,()方式 对于块设备多采用直接内存访问方式( ),亦称块传输方式。采用“窃取”总线控制权的

5、方法,它要求暂停使用若干总线周期,由控制 器占用总线来进行数据块交换, 在数据块交换期间, 不产生中断,不需要干预,在设备与内存之间通过总线进行直接数据交换,只当一数据块传输完之后,控制器才归还总线,向发出中断信号。在启动交换时,必须向控制器提供存放数据块的内存区地址以及数据块长度(即传输字节数)。控制器执行输入操作时,将从块设备读入的数据经总线送入指定内存区,直至长度计数值为,输出路线则相反。,图- 方式,2 I/O系统的任务与功能,系统的基本目标是:向用户提供使用设备的方便接口以及充分发挥设备的利用率。 . 隐蔽设备的物理特性 . 提供独立于设备的统一接口 对于多数系统来说,它们有如下的一

6、般格式: (,); (,); 其中:参数logname为设备的逻辑名;addr是所传输信息在内存的 源目的地址;size是要求传输的字节数。,. 设备的分配 在多道程序系统中,用户进程竞争使用有限的设备资源。按设备的使用方式,设备有独享设备和共享设备之分。一享设备在一进程使用期间为该进程所独占,其它进程不得插入进行交替使用。 . 出错处理 出错处理是系统的另一重要任务。总的说来,错误应尽可能在硬件层或最接近硬件的软件部分处理。如果控制器或通道能够处理则自行处理,否则由设备驱动程序处理。,图- 系统层次结构,下面是这三层软件的基本组成及功能。 .中断处理程序 系统为每类设备设置一个中断处理程序,

7、它们的入口地址被存放在内存的固定单元中, 称为中断向量。 当某台设备完成一次操作时,发出中断信号,接受中断信号,暂停现行进程的执行,根据中断向量转到相应的中断处理程序执行。中断处理程序的基本工作包括:保留现行进程的执行现场;通知等待该操作完成的进程;最终转入进程调度程序进行重新调度。,.设备驱动程序,()接受请求,对它进行从抽象到物理的转换,构造出相应的操作命令。 ()把构造好的程序的首地址送入通道地址字(),或把操作命令送入控制器的寄存器,启动通道或控制器执行。 ()收集设备完成后的结果状态信息(正常或非正常的),把它们返回给调用者。 ()处理某些可恢复性错误。,在不同的系统中,设备驱动程序

8、的运行方式有所不同,大体上可分为四种: 整个系统仅建立一个设备驱动进程,统一负责所有设备的驱动工作。或者为块设备和字符设备各建立一个设备驱动进程,分别负责所有块设备和所有字符设备的驱动工作。 为每一类设备建立一个设备驱动进程,它负责该设备类型中各台设备的驱动工作。 为每台设备建立一个设备驱动进程,它们分别负责专门设备的驱动工作。同类设备的各驱动进程共享该类设备的设备驱动程序。 每个设备驱动程序都作为一个过程被调用者所调用。,. 独立于设备的服务软件,()接受用户进程使用系统调用命令发来的请求。 ()负责独享设备的分配和释放。 ()对于块设备,负责外存空间的分配。 ()管理I/O缓冲,负责缓冲区

9、与用户内存区之间的数据传输。 ()实现逻辑设备到物理设备以及设备驱动程序之间的映射。 ()启动设备驱动程序完成任务。 ()接受设备驱动程序的回答,并向用户进程回送I/O请求的完成情况。 ()负责必要的出错处理。, 基本数据结构,.系统设备表 devtype 设备类型标识符。 devns 该类设备中各设备的台号(驱动器号)及其相应设备控制块的指针。 devdriver 设备驱动进程标识符。 devsw 设备管理子程序开关,包含了该类设备的各种专门管理子程序的入口,例如:open(打开)、close(关闭)、read(读)、write(写)。由于各类设备的物理特性和传输方式不同,故关于它们的读、写

10、、打开、关闭等操作的处理是有差异的。,. 设备控制块 设备控制块包括:驱动器控制块( ),也称设备控制块,控制器控制块( ),通道控制块( )三种,根据不同的硬件系统和设备管理方法, 可设置一种或二种或三种, 控制块所含内容也因此而有差异。 是每个系统必须设置的控制块,系统为每台设备设置一个,它记录了设备的状态、特性、队列指针等有关信息。例如:, 设备状态标志,包括忙闲、好坏、连接、分配等标志。连接标志指示该设备是否与系统接上并通电打开。对于独享设备,分配标志指示该设备是否已分配给某个进程。 设备特性,如传输波特率、特殊字符集、字符奇偶校验方式等。 相连的控制器标识或入口。 该设备使用的内存缓

11、冲区队列指针,根据不同的缓存管理方法,可设置一个或多个这类指针。 等待该设备处理的请求块()队列指针 ,本指针指出队首。, 当前正在处理或刚处理完的指针。 一个控制器可连接一台设备或多台同类设备,对于后一种情况,可为一个控制器设置一个,用以描述该控制器的有关信息。例如: 控制器状态标志。 控制器入口。 等待使用本控制器的那些设备的标识符或相应的的指针。 在采用通道结构的系统中,还可考虑设置,用以描述通道的有关信息 。例如: 通道状态标志。 . Chentry 通道入口。 wcols 等待使用本通道的控制器标识符或相应CCB的指针。,. 活动文件控制块表,系统在内存设置一个AFCBL(Activ

12、e File Control Block List)。文件控制块包含了一个文件的说明和控制信息,是系统管理文件的主要数据结构之一,每个文件都有一个。一个正在使用的文件是活动文件,活动文件的被装入。设备作为特别文件,同样也有,但比较简单,它主要 包含两个数据项:设备类型标识符devtype和设备台号devid。devtype被用来检索SDT,再用devid可检索到相应的。,. 请求块 IOQB(I/O Quest Block)是描述一个特定I/O请求的数据结构,由逻辑系统构造并传递给设备驱动程序执行。一般说来,IOQB可包含如下数据项: 请求的操作代码,如“读”、“写”。 设备台号或相应的指针。

13、 缓冲区或缓冲队列指针。 传输字节数。 请求进程给定的内存数据区地址。 请求进程的标识符。 发送进程的标识符。 队列指针。 该请求块的空闲标志。, 缓冲区及其管理,. 缓冲区的设置,缓冲区的使用方式 从使用方式上说,可分为专用缓冲区和公用缓冲区两类。专用缓冲区是为某台设备设置的缓冲区,占用固定的内存空间。 公用缓冲区是为所有设备设置的缓冲区,为各设备所共享,这不仅可节省缓冲区的总量,而且显著提高了缓冲区的利用率。,缓冲区组织,图5-5 单、双缓冲区,. 缓冲区首部 首部包含如下数据项: bufflag 状态标志,表示该缓冲区的忙闲和读写状态。 bufaddr 缓冲区地址。 offset 传输数

14、据在缓冲区内的位移量。 bytes 传输字节数。 blkno 物理块号,指示区中数据取自或存入块设备中的那个物理块。 blkaddr 物理块地址。 devbufp 设备缓冲队列指针。 iobufp I/O缓冲队列或空闲缓冲队列指针。,缓冲队列 ()空闲队列(free队列):系统初始时,池中的所有缓冲区都处于free队列,由专用指针FREE指向队首,各缓冲区由首部中的指针iobufp连接。 ()设备缓冲队列(dev队列):每台块设备都可拥有一个供其使用的dev队列,并由其DCB中的缓冲队列指针指出队首。 一缓冲区一旦分配给某台设备, 便加入到相应的dev队列中。dev队列中的各缓冲区由首部中的指针devbuf连接。 ()I/O缓冲队列(I/O队列):某dev队列中若干正在使用的缓冲区构成相应设备的I/O队列,队列中的各缓冲区通过首部中的指针

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号