《[计算机硬件及网络]第9章_设备管理》由会员分享,可在线阅读,更多相关《[计算机硬件及网络]第9章_设备管理(126页珍藏版)》请在金锄头文库上搜索。
1、第9章 设备管理,Devices Management,第 9 章,2,2019年1月12日星期六,第9章 设备管理,9.1 I/O系统,9.2 I/O设备数据传输控制方式,9.3 设备管理与功能,9.4 设备分配,9.5 缓冲技术,9.6 I/O软件设计,9.7 磁盘存储器管理,9.8 RAID技术,9.9 Linux的设备管理,9.10 关于输入输出的研究,第 9 章,3,2019年1月12日星期六,Chapter 9 Devices Management,Perhaps the messiest aspect of operating system design is input/out
2、put. Because there is such a wide variety of devices and applications of those devices, it is difficult to develop a general, consistent solution. Four techniques are possible for I/O operations: Programmed I/O Interrupt-driven I/O Direct memory access (DMA) I/O Channel,第 9 章,4,2019年1月12日星期六,9.1 I/O
3、系统,关于外部设备: 外部设备是与用户关系最直接、最密切的部分接口的硬件部分 早期主要以纸带、卡片、电传打字机等作为输入输出介质;现代设备种类繁多 外部设备与设备控制器,数据总线等一起构成了I/O系统,第 9 章,5,2019年1月12日星期六,9.1 I/O系统,9.1.1 设备的分类,9.1.2 设备的标识,9.1.3 I/O系统的结构,第 9 章,6,2019年1月12日星期六,9.1.1 设备的类别,设备的类别可以从 3 个方面考察 按使用特性 按系统观点 系统设备与用户设备,第 9 章,7,2019年1月12日星期六,9.1.1 设备的类别,按使用特性,外部设备,存储设备,输入输出设
4、备,磁带 磁盘 磁鼓 光盘,键盘 鼠标 打印机 绘图仪 显示器 图形输入/输出 图象输入/输出 声音输入/输出,图9.1 按使用特性分类的外部设备,针式 喷墨 激光,几种大容量及 非常见类设备:,第 9 章,8,2019年1月12日星期六,9.1.1 设备的类别,按系统观点 从系统的角度,可以有 3 种分类 按数据传输率 按传输单位 按共享属性,第 9 章,9,2019年1月12日星期六,9.1.1 设备的类别,按系统观点 按数据传输率通常可以分为3种: 低速设备几个到几百字节/秒范围,常见有键盘、鼠标、语音的输入输出等设备 中速设备数千字节到万字节/秒的范围,常见的有针式、激光打印机等 高速
5、设备十万字节/秒以上,典型的有磁带、磁盘、光盘等,第 9 章,10,2019年1月12日星期六,9.1.1 设备的类别,图9.2 典型I/O设备数据传输率(单位:bps/每秒字节),第 9 章,11,2019年1月12日星期六,9.1.1 设备的类别,按系统观点 按传输单位交换单位可以分为两种: 字符设备无结构/慢速设备。特性是:不可寻址、I/O中断驱动和传输率相对较低 块设备通常作为存储设备,以块为单位。其特性是:可寻址、一般为DMA方式,第 9 章,12,2019年1月12日星期六,9.1.1 设备的类别,按系统观点 按共享属性可以分为3种: 独占设备如打印机、磁带机等顺序设备。作为系统资
6、源,也称为临界资源 使用方式:申请,使用,使用,释放 共享设备如磁盘可随机访问随机设备 使用方式:使用,使用,使用 虚拟设备通过虚拟技术将独占设备变换成可共享逻辑设备,供多个进程同时访问,第 9 章,13,2019年1月12日星期六,9.1.1 设备的类别,系统设备与用户设备 系统设备(标准设备)一些通用设备;如键盘、打印机以及文件存储设备等 用户设备(非标准设备)由用户自己安装配置后,由操作系统统一管理的设备;如实时系统中的A/D、D/A变换器、现场监控数码显示等,第 9 章,14,2019年1月12日星期六,9.1.2 设备标识,3个原因: 设备标识原因1类型与数量多,赋予绝对设备号 设备
7、标识原因2并发性;编写程序时,不可能知道哪类哪台设备是可用的 设备标识原因3使用的方便性;I/O申请时,给出类型号、设备号(相对顺序),由系统进行“地址变换”(绝对设备号),第 9 章,15,2019年1月12日星期六,9.1.3 I/O系统的结构,总线结构 由于规模不同,系统结构不尽相同(考察两类): 在微型计算机和小型计算机系统中大多采用了 单总线I/O系统结构 一些中、大型计算机系统中,往往具有专门进行I/O处理的通道(处理机),因而更多地采用了多总线多通道结构,第 9 章,16,2019年1月12日星期六,9.1.3 I/O系统的结构,总线结构,图9.4 微机总线I/O系统结构,第 9
8、 章,17,2019年1月12日星期六,9.1.3 I/O系统的结构,设备控制器3个方面 作用 CPU与I/O设备间接口 根据主机命令和数据控制设备进行数据交换 组成与特性 配有中断机制与寄存器用来与CPU通信 寄存器包括:控制、数据和状态寄存器(不同地址) 设备控制器功能 (控制寄存器)接收来自主机的命令,地址译码对应一个设备 进行数据交换(数据寄存器);如上图示 记录和报告设备状态(状态寄存器);用于CPU查询,CPU,控制 器,外设,第 9 章,18,2019年1月12日星期六,9.2 I/O设备数据传输控制方式,9.2.1 程序直接控制方式,9.2.2 中断控制方式,9.2.3 DMA
9、控制方式,9.2.4 通道控制方式,第 9 章,19,2019年1月12日星期六,9.2.1 程序直接控制方式,早期进行I/O的一种方式; 用户直接编写I/O指令程序控制输入输出 要保持CPU与外设同步(由于速度差距) CPU向设备输出数据大致过程如下:,第 9 章,20,2019年1月12日星期六,9.2.1 程序直接控制方式,控制器得到“命令就绪”置“busy”位,控制器清除“命令就绪”位与“busy”位。,至此完成一个字节输出,循环上述的过程完成多个字节,CPU置控制器“启动”位,测状态寄存器“忙”?,CPU置控制器“写”位; 写入一个字节数据; CPU置上“命令就绪”位;,控制器是“写
10、命令”?,从数据输出寄存器读出一个字节,送设备输出,忙,写,读,第 9 章,21,2019年1月12日星期六,9.2.1 程序直接控制方式,优点和缺点: 优点: CPU与外设通过状态信息得到同步,硬件简单 缺点(3点): CPU不断读取状态寄存器信息,造成“忙等待” CPU只能与一台设备交换数据,不能实现设备之间的并行工作 传输完全在CPU控制之下,对外部出现异常事件无实时响应能力 (只适用于较简单的单片机系统),第 9 章,22,2019年1月12日星期六,9.2.2 中断控制方式,为减少CPU等待慢速外设,采用中断驱动方式;基本工作过程(6点,参见图9.6): CPU执行设备驱动程序,向控
11、制器发启动指令 控制器按照I/O指令要求,启动并控制I/O设备工作。CPU与外设是并行操作的 输入就绪/输出完成,控制器向CPU发中断信号 CPU接中断信号,保护现场,转中断处理程序 中断处理程序完成后退出中断,恢复现场 将控制转回被打断的执行位置,第 9 章,23,2019年1月12日星期六,9.2.2 中断控制方式,中断驱动方式的主要优点(2点): CPU与外设、外设与外设可以并行工作,提高系统效率 具有实时响应能力,可应用于实时控制场合 要求设备控制器应具备中断机构,其简单结构如图 9.5 中断控制方式也有问题,见下:,第 9 章,24,2019年1月12日星期六,9.2.2 中断控制方
12、式,中断驱动方式的弱点(2点): 完成一次I/O要多次中断驱动 对各高速设备,或成组数据交换的2个问题; 一方面高速外设由于中断方式可能来不及响应而丢失数据 另一方面,成组数据交换多次地通过中断进行,也显得速度太慢 中断驱动方式仅适合于中、慢速设备。对于大批量成组数据交换,可以利用DMA和通道方式,第 9 章,25,2019年1月12日星期六,9.2.3 DMA控制方式,DMA的引入(2点) 为解决中断驱动数据传输的问题,引入DMA控制方式 控制方式以存储器为中心,在主存和I/O设备之间建立一条直接通路进行数据交换,第 9 章,26,2019年1月12日星期六,DMA工作过程,地址,缓冲区,字
13、节数,控制,CPU,DMA 控制器,磁盘 控制器,内存,磁盘,图9.6 DMA控制器数据传输,A,A,例:一个数据块从磁盘读入内存,第 9 章,27,2019年1月12日星期六,9.2.3 DMA控制方式,DMA的特点(4点): 数据在内存和设备之间直接传送,CPU不干预 一个数据块传输完,DMA向CPU发出一个中断请求 数据的传输控制完全由DMA控制器完成,速度快,适合高速成组数据传输 数据块在传输过程中,CPU与外设并行工作,比中断控制方式的并行性高,第 9 章,28,2019年1月12日星期六,9.2.4 通道控制方式,通道的引入 DMA两个方面的不足(2点): 一个DMA控制器只能挂接
14、少量的同类设备 一次一块+且地址连续,若多个块,就需要多次启动DMA,因而也产生了多次中断处理 通道的传输特点(3点): 一次可以实现多个离散数据块的传输 可通过指令实现对设备控制,如磁带反绕等 可以实现较为复杂的I/O控制,第 9 章,29,2019年1月12日星期六,9.2.4 通道控制方式,通道部件 内存与主机共享同一个存储器 通道运算控制部件负责解释执行通道指令。还应保有若干信息字:4个寄存器: 数据字存放被传输的数据 通道指令字(CCW)存放当前指令 通道地址字(CAW)存放下条通道指令地址(相当于程序计数器) 通道状态字(CSW)用于记录通道和该通道中各设备的当前工作状态,第 9
15、章,30,2019年1月12日星期六,9.2.4 通道控制方式,通道部件 通道指令格式: 其中操作码大致6种(构成通道指令系统): 空操作不执行任何操作,取下条指令继续工作 转移操作按指令中的主存地址取另一条通道指令 读操作从指定设备上读进一批数据 写操作向指定设备上输出一批数据 控制型操作控制外部设备那些非传输性动作,磁带反绕、磁盘磁臂移动、打印纸换页等 结束操作表示通道程序结束,在CSW中记下正常结束标记,并向主机发出通道中断,第 9 章,31,2019年1月12日星期六,9.2.4 通道控制方式,通道部件 例如: Write 250,0,0,1780 Write 500,1,1,2000
16、 这两条指令将一个750个字节记录的250,500个字节分别送往内存1780和2000单元开始的存储区中。其中1,1 分别表示记录结束,通道指令结束(后面不再有通道指令),该指令中省略了设备号和设备特征,第 9 章,32,2019年1月12日星期六,9.2.4 通道控制方式,通道的类型(3种) 字节多路通道挂接低速设备,设备间分时操作 数组选择通道挂接高速块设备,但同一时间只能执行一道通道程序,为一台设备服务 数组多路通道块交换单位,可以同时执行多个通道程序为多个设备服务,结合前两种优点,分时与交换(块单位),第 9 章,33,2019年1月12日星期六,9.2.4 通道控制方式,通道的类型(3种),图9.8(a) 具有通道结构的I/O系统,字节多路通道,数组选择通