1.14k likes | 1.47k Views
Ch10 设备管ç†. 10.1 概述 10.2 I/O å系统的层次模型 10.3 I/O ç¡¬ä»¶ç»„æˆ 10.4 è®¾å¤‡é©±åŠ¨ç¨‹åº 10 .5 I/O å系统 10.6 æµ 10.7 ç£ç›˜è°ƒåº¦. 10.1 概述. 一〠I/O 管ç†çš„é‡è¦æ€§ I/O 设备就åƒè®¡ç®—机系统的五官和四肢。 2.I/O 性能ç»å¸¸æˆä¸ºç³»ç»Ÿæ€§èƒ½çš„瓶颈 (1)CPU 性能ä¸ç‰äºŽç³»ç»Ÿæ€§èƒ½ å“应时间也是一个é‡è¦å› ç´ (2)CPU 性能越高,与 I/O å·®è·è¶Šå¤§ 弥补:更多的进程 (3) 进程切æ¢å¤šï¼Œç³»ç»Ÿå¼€é”€å¤§.
E N D
Ch10 设备管理 • 10.1 概述 • 10.2 I/O子系统的层次模型 • 10.3 I/O硬件组成 • 10.4 设备驱动程序 • 10.5 I/O子系统 • 10.6 流 • 10.7 磁盘调度
10.1 概述 一、 I/O管理的重要性 • I/O设备就像计算机系统的五官和四肢。 2.I/O性能经常成为系统性能的瓶颈 (1)CPU性能不等于系统性能 响应时间也是一个重要因素 (2)CPU性能越高,与I/O差距越大 弥补:更多的进程 (3)进程切换多,系统开销大
3.操作系统庞大复杂的原因之一是:资源多、杂,并发,均来自I/O。3.操作系统庞大复杂的原因之一是:资源多、杂,并发,均来自I/O。 4.理解I/O的工作过程与结构是理解操作系统的工作过程与结构的关键。 5.I/O技术很实用。 6.与其他功能联系密切,特别是文件系统。
二、 设备的分类 1.按使用特性分 存储型设备 输入型设备(外设主机) 输出型设备(主机外设) 输入输出型设备(交互型设备)
2.按数据组织分 块设备 以数据块为单位存储、传输信息 字符设备 以字符为单位存储、传输信息
3.按外部设备的从属关系分 系统设备 指操作系统生成时,登记在系统中的标准设备 (如终端、打印机、磁盘机等)
用户设备 指在系统生成时,未登记在系统中的非标准设备。对于这类设备的处理程序由用户提供,并将其纳入系统,由系统代替用户实施管理。 (如A/D,D/A转换器,CAD所用专用设备)
4. 按资源分配角度分 独占设备 在一段时间内只能有一个进程使用的设备,一般为低速I/O设备。(如打印机,磁带等) 共享设备 在一段时间内可有多个进程共同使用的设备,多个进程以交叉的方式来使用设备,其资源利用率高。(如硬盘)
虚设备 在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚设备 目的:将慢速的独占设备改造成多个用户可共享的设备,提高设备的利用率 (实例:SPOOLing技术,利用虚设备技术 ——用硬盘模拟输入输出设备)
SPOOLing技术 为解决独立设备数量少,速度慢,不能满足众多进程的要求,而且在进程独占设备期间,设备利用率比较低而提出的一种设备管理技术
5.从程序使用角度分 逻辑设备 物理设备 6.按数据传输率分 高速设备 低速设备 7.按是否交互分
三、 设备管理的目标和任务 1. 按照用户的请求,控制设备的各种操作,完成I/O设备与内存之间的数据交换(包括设备分配与回收;设备驱动程序;设备中断处理;缓冲区管理),最终完成用户的I/O请求
功能 (1)设备分配与回收 记录设备的状态 根据用户的请求和设备的类型,采用一 定的分配算法,选择一条数据通路 (2)建立统一的独立于设备的接口 (3)完成设备驱动程序,实现真正的I/O操作 (4)处理外部设备的中断处理 (5)管理I/O缓冲区
2.向用户提供使用外部设备的方便接口,使用户摆脱繁琐的编程负担2.向用户提供使用外部设备的方便接口,使用户摆脱繁琐的编程负担 • 方便性 • 友好界面 • 透明性 逻辑设备与物理设备、屏蔽硬件细节(设备的物理细节,错误处理,不同I/O的差异性)
3.充分利用各种技术(通道,中断,缓冲等)提高CPU与设备、设备与设备之间的并行工作能力,充分利用资源,提高资源利用率3.充分利用各种技术(通道,中断,缓冲等)提高CPU与设备、设备与设备之间的并行工作能力,充分利用资源,提高资源利用率 • 并行性 • 均衡性(使设备充分忙碌)
4.保证在多道程序环境下,当多个进程竞争使用设备时,按一定策略分配和管理各种设备,使系统能有条不紊的工作4.保证在多道程序环境下,当多个进程竞争使用设备时,按一定策略分配和管理各种设备,使系统能有条不紊的工作 5.保护 设备传送或管理的数据应该是安全的、不被破坏的、保密的
6. 与设备无关性(设备独立性) 用户在编制程序时,使用逻辑设备名,由系统实现从逻辑设备到物理设备(实际设备)的转换 用户能独立于具体物理设备而方便的使用设备
用户申请使用设备时,只需要指定设备类型,而无须指定具体物理设备,系统根据当前的请求,及设备分配的情况,在相同类别设备中,选择一个空闲设备,并将其分配给一个申请进程用户申请使用设备时,只需要指定设备类型,而无须指定具体物理设备,系统根据当前的请求,及设备分配的情况,在相同类别设备中,选择一个空闲设备,并将其分配给一个申请进程 统一性: 对不同的设备采取统一的操作方式,在用户程序中使用的是逻辑设备
优点: • 设备忙碌或设备故障时,用户不必修改程序 • 改善了系统的可适应性和可扩展性
四、实现I/O的技术及其发展 • 编程I/O方式 • 中断驱动I/O方式 • 直接存储访问(MDA) • 通道 (详见教材)
I/O 控制方式 软件实现 软件加硬件实现 以内存为中心 以CPU 为中心 程序直接 控制方式 中断方式 DMA 方式 通道方式 外围处理 机 PPU方式 硬件控制设备与内存直接交换数据 CPU与通道并行操作用户远离I/O过程的实现 提高并行性一定程度上缓解快速CPU和慢速I/O的矛盾 通道—〉处理机功能更强,进一步减少CPU的负担及其对I/O的干预 CPU速度不高,CPU与 I/O 操作串行工作
各层的主要功能 • I/O子系统层():为用户提供一个对所有设备都一致的接口。故又称独立于设备的软件。 • 设备驱动接口层:将上层的逻辑I/O的调用转换为对具体设备驱动程序的调用。 • 设备驱动程序层:具体负责与设备的所有交互操作。 • 通道、DMA控制器、设备控制器 • 设备 (详见教材)
10.3 I/O硬件组成 • 设备 • 设备控制器 • DMA控制器 • 通道
设备 一、 设备组成 I/O设备一般由机械和电子两部分组成, 把这两部分分开处理,以提供更加模块化,更加通用的设计。
1.物理设备 机械部分是设备本身(物理装置) 2.设备控制器 电子部分叫做设备控制器或适配器。 在小型和微型机中,它常采用印刷电路卡插入计算机中
控制器卡上通常有一个插座,通过电缆与设备相连。控制器卡上通常有一个插座,通过电缆与设备相连。 控制器和设备之间的接口是一个标准接口,它符合ANSI、IEEE或ISO这样的国际标准。
二、 设备接口 一次完整的I/O传送过程,典型地由一长列低级信号组成,这些信号启动设备所执行的操作,并通过测试设备状态来监控设备操作的进展
一个I/O过程由四步组成: 准备 启动 测试和等待 结果检查和错误处理 通过对设备接口寄存器组的读写完成
三、 设备连接模式 指I/O设备与CPU之间的连接方式,亦即将设备连接到一个计算机系统上的方式。在一个确定的连接模式下,从I/O设备到CPU间的所有连接成分构成了一条I/O路径(I/O链)。
改善: • 使CPU利用率尽可能不被I/O降低 使CPU尽可能摆脱I/O ⊹ 提高I/O本身的绝对速度 ⊹ 减少或缓解速度差距 ⊹ 使CPU不等待I/O
提高设备利用率 • 在设备与主机的硬连接上,引入总线,节省连线并提供配置扩充与改变时的灵活性;引入控制器,扩大设备与主机间的相互适用范围 小结:控制器与设备的分离,循环测试到中断,对CPU编程式的I/O到DMA,联机I/O到假脱机
控制器(适配器) 电子部分:完成设备与主机间的连接和通讯。 CPU与控制器间通讯: 单总线模型(微机、小型机) 多总线模型(中、大型机)
每个控制器备有几个寄存器与CPU通讯 两种模式: 1、存储器映像I/O,寄存器是内存地址空间的一部分 2、专用I/O地址空间,每个控制器分配其中的一部分(IBM PC)
操作系统将命令写入控制器寄存器中,以实现输入/输出操作系统将命令写入控制器寄存器中,以实现输入/输出 例如:IBM PC的软盘控制器可接收15条命令,READ、WRITE、FORMAT、SEEK、RECALIBRATE,命令可以带参数。它们被一起送入控制器的寄存器中
当控制器接受一条命令后,可独立于CPU完成指定操作,CPU可以转去执行其它运算。命令完成时,控制器产生一个中断,CPU响应中断,控制转给操作系统。CPU通过读控制器寄存器中的信息,获得操作结果和设备状态当控制器接受一条命令后,可独立于CPU完成指定操作,CPU可以转去执行其它运算。命令完成时,控制器产生一个中断,CPU响应中断,控制转给操作系统。CPU通过读控制器寄存器中的信息,获得操作结果和设备状态
控制器与设备之间的接口常常是一个低级接口。控制器与设备之间的接口常常是一个低级接口。 例如磁盘,可以按每个磁道8扇区,每个扇区512个字节进行格式化。然而,实际从驱动器出来的却是一连串的位流,以一个头标(preamble)开始,然后是一个扇区的4096位(512×8),最后是检查和或错误校验码(Error—C一C:ECC)。头标是在对磁盘格式化时写上的,它包括柱面和扇区数,扇区的大小和类似的一些数据。
控制器的任务是把串行的位流转换为字节块,并进行必要的错误修正。首先,控制器按位进行组装,然后存入控制器内部的缓冲区中形成以字节为单位的块。在对块验证检查和并证明无错误时,再将它复制到主存中。控制器的任务是把串行的位流转换为字节块,并进行必要的错误修正。首先,控制器按位进行组装,然后存入控制器内部的缓冲区中形成以字节为单位的块。在对块验证检查和并证明无错误时,再将它复制到主存中。
设备完成技术 一次I/O 传送过程: 准备传送后处理 例:一个打印机有两个I/O设备寄存器: 状态寄存器 数据寄存器
设备的一次操作是否完成? 测试设备的一个硬件信号 几种测试模式: (1)I/O测试指令 (2)中断技术
直接存储访问DMA 数据在内存与I/O设备间的直接成块传送 CPU在开始时向设备发“传送一块”命令,结束时进行相应处理,实际操作由DMA硬件直接完成
DMA方式与中断的主要区别 • 中断方式是在数据缓冲寄存区满后,发中断请求,CPU进行中断处理 DMA方式则是在所要求传送的数据块全部传送结束时要求CPU进行中断处理 大大减少了CPU进行中断处理的次数 • 中断方式的数据传送是由CPU控制完成的 而DMA方式则是在DMA控制器的控制下不经过CPU控制完成的
DMA工作示例 (以硬盘为例) CPU提供被读取块磁盘地址、目标存储地址、待读取字节数 整块数据读进缓冲区 核准校验 控制器按照指定存储器地址,把第一个字节送入主存, 然后,按指定字节数进行数据传送 每当传送一个字节后,字节计数器值减1,直到字节计数器等于0 此时,控制器引发中断,通知操作系统,操作完成
DMA工作原理——窃取总线控制权 • 存放输入数据的内存起始地址、要传送的字节数 • 送入DMA控制器的内存地址寄存器和传送字节计数器 • 中断允许位和启动位置成1,启动设备 • 发出传输要求的进程进入等待状态 • 执行指令被暂时挂起,进程调度其他进程占据CPU • 输入设备不断窃取CPU工作周期,数据不断写入内存 • 传送完毕,发出中断信号 • CPU接到中断信号转入中断处理程序处理 • 中断处理结束,CPU返回原进程或切换到新的进程
CPU向控制器发出启动DMA通知和有关参数 控制器向内存发出询问请求 访问内存(读、写) 计数器减1 N 结束否 DMA的实现流程 Y 发中断
通道(I/O处理机) 是可以执行程序的、负责且只负责操纵输入输出设备的、功能简单专用的、低速低性能的、造价低的专用处理机。负责管理设备与内存之间的数据传送的一切工作