第1页:第十章 设备管理
第十章 设备管理
第2页:第十章 内容提要
本页列出第十章各节要点:
- 10.1 设备分类:有关 I/O 设备基本概念、有关辅助存储器/外存基本概念
- 10.2 设备管理:概念,任务,目标
- 10.3 设备分配:独享设备、虚拟设备、共享设备;磁盘调度——查找优化策略,旋转优化策略
- 10.4 输入输出管理程序:实现设备管理的软件
- 10.5 Windows NT 一体化的输入输出系统
第3页:10.1 设备分类
- 特性
- 外存/辅存,I/O 设备
- 从属关系
- 系统设备:OS 生成时已配置于系统的各种标准设备;用户设备:用户后来自己提供、由系统管理的非标准设备
- 信息组织和处理方式
- 块设备:信息按字符块组织和处理(面向块的设备);字符设备:信息按字符组织和处理(面向字符的设备)
第4页:按资源分配方式分类
- 独占设备
- 一旦分配给某进程或用户就一直占用直至用完
- 共享设备
- 多个进程或用户可以交替使用的设备
- 虚拟设备
- 用软件技术(SPOOL)把慢速独占设备变成共享设备,一般通过借用大容量共享设备的一部分空间来充当缓冲而实现,把这部分空间称为“虚拟设备”(Spooling 技术)
第5页:10.1.1 有关I/O设备基本概念
10.1.1 有关 I/O 设备基本概念:I/O 子系统构成包括 I/O 设备和 I/O 接口。
- I/O 设备
- 为计算机执行某种特定功能(打印、显示、存取数据)
- I/O 接口
- 控制 I/O 设备按 CPU 命令工作;把计算机的数据格式转换成 I/O 设备所要求的格式或反之;发送中断请求并接受处理机发来的中断响应回答;为 I/O 设备提供数据缓冲。构成:数据缓冲寄存器、状态寄存器
第6页:通道的概念
“通道”:
- 大型机
- 指专门用来负责 I/O 工作的处理机,即 I/O 处理机,比 CPU 功能弱、速度慢、价格便宜
- 微型机
- 指与 DMA 控制器或 I/O 处理机相连设备的单纯数据传输通路,非 I/O 处理机,不具有处理机的功能
第7页:通道程序
I/O 处理机:由运算和控制逻辑、累加器、寄存器构成,有指令系统,由通道程序控制。
- 通道程序由通道指令组成
- 由 CPU 按数据传送的不同要求自动生成
- 放在主存中
- 其在主存中的起始地址通知 I/O 处理机:大型机为主存中一固定单元——通道地址字 CAW;微型机为 CPU 与 I/O 处理机通信区
- 每一条通道指令称为通道命令字 CCW
第8页:通道状态字与通道配置
- 通道状态字 PSW
- I/O 处理机的状态,包含有该通道及与之相连的控制器和设备的状态
- 通道配置
- 大型机:多个;微型机:1~2 个
第9页:通道管理
- 大型机
- I/O 处理机和 CPU 共享主存。为各 I/O 处理机和 CPU 规定不同优先次序,CPU 优先级最低;当发生竞争时,存储器控制逻辑按优先次序予以响应;I/O 处理机得到响应——I/O 处理机从 CPU 那里“窃用”了存储周期(窃用周期)
- 微型机
- I/O 处理机和 CPU 共享总线。CPU 控制总线使用权;当 CPU 响应某 I/O 处理机发出的请求总线信号,把总线使用权暂时转让给 I/O 处理机——I/O 处理机从 CPU 那里“窃用”了总线周期(窃用周期)
第10页:通道的工作过程
I/O 控制方式对比| 控制方式 | 特点 |
|---|
| 程序直接控制方式 | CPU 速度不高,CPU 与 I/O 操作串行工作 |
|---|
| 中断方式 | 软件加硬件实现,提高并行性,一定程度上缓解快速 CPU 和慢速 I/O 的矛盾 |
|---|
| DMA 方式 | 以 CPU 为中心,硬件控制设备与内存直接交换数据 |
|---|
| 通道方式 | 以内存为中心,CPU 与通道并行操作,用户远离 I/O 过程的实现 |
|---|
| 外围处理机 PPU 方式 | 通道→处理机功能更强,进一步减少 CPU 的负担及其对 I/O 的干预 |
|---|
第11页:I/O控制方式
- 程序直接控制方式
- 软件实现,CPU 速度不高,CPU 与 I/O 操作串行工作
- 中断方式
- 软件加硬件实现,提高并行性,一定程度上缓解快速 CPU 和慢速 I/O 的矛盾
- DMA 方式
- 硬件控制设备与内存直接交换数据,以 CPU 为中心
- 通道方式
- 以内存为中心,CPU 与通道并行操作,用户远离 I/O 过程的实现
- 外围处理机 PPU 方式
- 通道→处理机功能更强,进一步减少 CPU 的负担及其对 I/O 的干预
第12页:10.1.2 磁带的硬件特性
10.1.2 有关辅助存储器的基本概念:磁带硬件特性。
- 磁带机
- 启停设备。启动后磁带高速旋转,加速到正常速度时读写头才能正确地进行信息的读写
- 磁头
- 读写磁头。磁带机高速旋转时磁头对磁带进行读写
- 磁道
- 在磁层沿磁头相对运动的方向上形成记录信息的路径,称为磁道,串行存储一系列二进制代码
- 技术指标
- 磁带宽度:1、1/2、1/4 in;磁带长度:国产 600m、750m、900m;横向记录密度:磁带横向磁道数(7 磁道、9 磁道、16 磁道);纵向记录密度:单位距离信息位数(10bit/mm、20bit/mm);归 0 制:写 1 时写磁头线圈中通过正脉冲,写 0 时通过负脉冲,写完一位电流回 0;带速、启停时间
第13页:磁带信息的组织
- 顺序性磁带
- 磁带上信息的定位和存取严格按其上信息的物理位置顺序进行;信息记录组成块,多个逻辑记录放进一个物理记录块中,相邻块间有一定间隙(启停时间);存取信息以块为单位,信息块可不等长(800~8000B);一条通道命令一般只读写一块信息
- 半顺序性磁带
- 信息组等长(512/1024B)
第14页:磁鼓硬件特性及信息的组织
- 种类:立式磁鼓(转子轴垂直于水平面)、卧式磁鼓(转子轴平行于水平面)
- 磁道:磁鼓表面划分成许多首尾相接的环形磁道,磁道密度一般为 4~5 磁道/厘米
- 磁道的起点:规定磁鼓表面上的某一条母线为各磁道记录信息的起点
- 物理段或物理记录:每个磁道从起点开始沿圆周方向划分成若干个信息区,作为记录信息的基本单位
- 物理记录定位:道号、物理记录号
- 优点:记录查找时间少,数据传送速率很高;缺点:容量小,小于磁盘
- 技术指标:磁道数、每道容量、每转所用时间、最大查找时间、平均查找时间、数据传送速率
第15页:磁盘的硬件特性及信息的组织
- 磁盘:铝合金制成的金属圆盘,表面两侧涂以磁性材料
- 磁道:磁盘上一系列记录信息的同心圆,分割成许多相等的弧段——扇区/物理记录,编号 0、1、……n;扇区所处的磁道位置不同,物理长度不同,但所记录的信息量是相等的(内部密度高些,读写时改变磁头的驱动电流)
- IDE 驱动器:外圈扇区数比内圈多,增加磁盘容量
- 固定头磁盘:盘面上的每一条磁道都有一个读写头
- 移动头磁盘:每个盘面只有一个读写磁头,可沿半径方向移动,每次磁盘操作先通过“寻找操作”对准所要访问的磁道
第16页:磁盘组的结构
磁盘组:由若干磁盘组成,绕枢轴高速旋转,可达 3600 转/分。n 个盘片,2n-2 个盘面可用(有效盘片数 n-1);一个盘面用作“同步伺服面”,则用于存储信息的有效盘面数为 2n-3。
- 柱面号
- 各盘面所有的读写头同时移动,并定位在同样的垂直位置的磁盘上,这些磁道形成了一个柱面。由外向内是:0、1、2、……、L
- 磁头号
- 磁盘迭的全部有效盘面(除去最外层的二面)从上到下依次编号 0、1、2、……、H。磁头号与盘面号是相对应的
- 扇区号
- 将各盘面分割成若干大小相等的扇区,编号 0、1、2、3、……、n
第17页:磁盘结构示意图
磁盘结构示意图:本页以图示方式展示枢轴、柱面、扇区、磁道与磁头移动臂梁之间的位置关系。
注:本页为结构图示,源文本仅含各部件标注,建议对照原课件图片核对。
第18页:磁盘部件标注图
本页源文件仅提取到少量部件标注,主要为磁盘部件位置图示。建议对照原课件图片补充本页要点说明。
注:本页源文本仅含一个项目符号标记,正文内容未提取到,建议对照原课件图片核对。
第19页:柱面与磁道结构图
柱面与磁道结构示意图:本页以图示方式展示枢轴与磁道 i、柱面 i 的对应关系,即各盘面同一垂直位置的磁道共同构成一个柱面。
第20页:10.2 设备管理
10.2 设备管理:本节讲解设备管理的概念、任务与目标。
第21页:10.2.1 设备管理的概念
- 设备绝对号
- 将系统中的每一台设备按某种原则进行编号,这些编号就作为硬件区分和识别设备的代号,称为此设备的绝对号(绝对地址)
- 设备符号名
- 用户在编程语言中用来代表某类设备的符号名称为设备符号名/设备类型号
- 设备相对号
- 设备符号名后跟的一数字表示相对号,用于识别那一台设备
单道程序:用户独占系统全部资源(包括全部外设),通过设备绝对号使用系统的设备。多道程序:操作系统完成外设的调度和管理,如 UNIX 系统中用主设备号+次设备号表示一台设备。设备绝对号=类型标识:台标识=设备类型号:设备相对号。
第22页:10.2.2 设备管理的任务
- 基本任务
- 按照用户的要求来控制外设的工作,以完成用户所希望的输入输出操作
- I/O 交通控制程序
- 记住设备控制器通道的状态
- 设备管理程序
- 按照用户要求启动具体设备进行数据传输操作,并且处理设备的中断(每类设备的多台设备公用一个)
- I/O 调度程序
- 按照一定的算法在诸进程间调度和分配设备
第23页:设备管理的目标
- 方便性:标准输入输出控制系统供用户实现输入输出操作
- 设备独立性:用户程序应使用设备相对号,并尽可能与设备类型无关;不对具体的物理设备进行操作,而是对虚拟设备(如文件、数据集、数据流等)进行操作,由 OS 实现虚拟设备和物理设备的联系
- 并行性:各设备的数据传输与 CPU 运行高度重叠,充分并行
- 有效性和均衡性:设备有效地工作,充分地保持忙碌
- 字符编码的独立性:有适于各设备的字符编码的变换机构
第24页:10.3 设备分配
设备、通道与控制器的控制块| 控制块 | 组成 |
|---|
| 设备控制块 UCB | 设备标识符、设备状态、与设备相连的控制器表、等待此设备的进程表;设备分配等待队列按 FIFO 原则排列 |
|---|
| 通道控制块 CCB | 通道标识符、通道状态、与通道相连的控制器表、等待此通道的进程表 |
|---|
| 控制器控制块 CUCB | 控制器标识符、控制器状态、与控制器相连的通道表、等待此控制器的进程表 |
|---|
第25页:设备、通道、控制器的情况登记
- 设备控制块 UCB
- 每台设备均有自己的 UCB。组成:设备标识符、设备状态、与设备相连的控制器表、等待此设备的进程表;设备分配等待队列为等待设备的进程表,按 FIFO 原则排列
- 通道控制块 CCB
- 通道标识符、通道状态、与通道相连的控制器表、等待此通道的进程表
- 控制器控制块 CUCB
- 控制器标识符、控制器状态、与控制器相连的通道表、等待此控制器的进程表
第26页:10.3.1 独享设备的分配
- 独享设备
- 简单的先来先服务 FCFS;优先数分配
- 死锁问题
- 防止、避免(独享设备的使用性质是构成死锁的必要条件之一)
- 硬件通道分配
- 考虑整个数据传输通路的分配,即设备、控制器和通道同时分配。慢速设备与字节多路通道连接,通道分时为设备服务——分配设备后无须分配数据通道;分配型子通道或其他通道类型:分配整个数据通路(设备、控制器和通道之间采用多重通路)
第27页:虚拟设备技术
虚拟设备技术:指通过共享设备来模拟独占型设备的动作,使独占型设备成为共享设备,从而提高了设备利用率和系统的效率的技术。SPOOL 系统:实现虚拟设备技术的硬件和软件系统称为 SPOOL 系统/Spooling 系统/假脱机系统,其构成为输入 SPOOL 和输出 SPOOL。
输出 SPOOL:系统中全部行式打印机采用虚拟设备技术
- 进程要求打印机
- 在某共享设备上的输出 SPOOL 存储区中为其分配一块存储空间
- 并为该进程的输出数据建立一个文件——相当于虚拟的行式打印机
- 各进程的输出都以文件形式暂时存放在输出 SPOOL 存储区中并形成了一个输出队列
- 输出 SPOOL 控制打印机进程,依次将输出队列中的各进程的输出文件最后实际地打印出来
第28页:SPOOL系统的特点
共享设备——移动头磁盘:物理记录定位为柱面号、磁头号、扇区号,一次访问的时间构成如下。
移动头磁盘一次访问的时间构成| 时间构成 | 含义 | 优化手段 |
|---|
| 查找时间 | 按柱面号将读写磁头随磁臂移到指定柱面上(查找操作)所需的时间 | 查找优化策略 |
|---|
| 旋转迟延时间 | 盘上该物理块随整个盘旋转到读写头下面所需的时间 | 旋转优化策略 |
|---|
| 数据传输时间 | 读写头对该物理块中数据实际访问所用的时间 | — |
|---|
总计对某特定物理块的访问时间约为 0.01~0.1s 之间,其中查找时间占 70%。
第29页:共享设备——移动头磁盘
共享设备——移动头磁盘:物理记录定位为柱面号、磁头号、扇区号。
- 按柱面号将读写磁头随磁臂移到指定柱面上——查找操作,所需时间叫查找时间——通过查找优化策略降低
- 盘上该物理块必须随着整个盘旋转到读写头下面,所需时间叫旋转迟延时间(简称迟延时间)——通过旋转优化策略降低
- 读写头对该物理块中数据的实际访问,所用时间称为数据传输时间
总计对某特定物理块的访问时间约为 0.01~0.1s 之间,其中查找时间占 70%。
第30页:减少访问时间的改进措施
改进
- 减少传输时间:一个逻辑记录的奇偶字节记在上下两个盘面上,两面磁道并行读写
- 减少旋转延迟时间:一个记录同时存放在一个磁道的相距 180 度的两个扇区中
第31页:10.3.2 磁盘调度
10.3.2 磁盘调度:本节讲解磁盘的查找优化策略与旋转优化策略。
第32页:查找优化策略
- 目标:降低查找时间
- 评价:吞吐量、平均响应时间、响应时间的可预期性(或变化幅度)
- 优化:移动磁头所花时间正比于所需移动的总的距离
- 策略:先来先服务(FCFS)、最短查找时间优先(SSTF)、扫描策略(SCAN)/电梯调度算法、循环扫描策略(C-SCAN)、N 步扫描策略
第33页:先来先服务(FCFS)
- 原则
- 各进程对磁盘请求的等待队列按提出请求的时间进行排序,并按此次序给予服务
- 评价
- 访问请求均匀分布整个盘面而不具有某种集中倾向时,导致随机访问模式——无法对访问优化;访问请求较多时,降低设备服务的吞吐量,提高响应时间;响应时间变化幅度较小
- 应用
- 访问请求不很多时可接受,且算法较简单
第34页:FCFS调度示例
FCFS 示例:当前磁道=100,磁头移动总距离=1604 磁道。
注:本页源文本仅给出当前磁道与磁头移动总距离,具体请求队列与逐次移动过程建议对照原课件图片核对。
第35页:最短查找时间优先(SSTF)
- 原则
- 选择请求队列中柱面号最接近于当前磁头所在柱面的访问请求作为下一个服务对象,即先执行查找时间最小的那个请求,而不管是否在磁臂的前进方向上还是相反
- 优点
- 较好的吞吐量(比 FCFS),较低的平均响应时间
- 缺点
- 响应时间变化幅度很大:对用户请求的响应机会不均等,对中间磁道的访问请求得到最好的服务,对内、外两侧磁道的服务随偏离中心磁道的距离而越远越差;服务请求很多时可能造成对内、外边缘磁道的请求将会无限期地被迟延
第36页:SSTF调度示例
SSTF 示例:当前磁道=100,磁头移动总距离=700 磁道。
注:本页源文本仅给出当前磁道与磁头移动总距离,具体请求队列与逐次移动过程建议对照原课件图片核对。
第37页:扫描策略(SCAN)
- 来源
- SSTF 算法的变种
- 原则
- 选择请求队列中按磁臂前进方向最接近于磁头当前所在柱面的访问要求作为下一个服务对象;由内向外、由外向内反复地扫描访问请求,依次给予服务;若沿此方向不再有访问请求时,不必继续扫描,而是改变移动方向——使磁臂的移动频率和距离最小
- 优点
- 吞吐量比较大,平均响应时间较小
- 缺点
- 两侧磁道访问频率仍低于中间磁道——响应时间变化幅度仍有不同,但优于 SSTF
第38页:SCAN调度示例
SCAN 示例:当前磁道=100,移动方向=OUT(向 0 道),磁头移动总距离=490 磁道。
注:本页源文本仅给出当前磁道、移动方向与磁头移动总距离,具体请求队列与逐次移动过程建议对照原课件图片核对。
第39页:循环扫描策略(C-SCAN)
循环扫描策略(C-SCAN):SCAN 扫描算法的变种。
原则
- 磁臂总是从 0 号柱面至最大号柱面顺序扫描,到头后直接返回 0 号柱面再重复进行——看作最大号磁道的隔壁(单向扫描)
- 当磁臂由外向内移动过程中,只服务于在磁臂本次移动开始前到达的访问请求,而不理会在磁臂单向移动过程中到达的新的访问请求——留给下一次
- 每次扫描直到对最内柱面上的访问请求满足后,磁臂即直接向外移动,使磁头停留在所有新的访问请求最外面的柱面上,然后再对本次移动前到达的访问请求依次给予服务
第40页:N步扫描策略
- 原则
- 将 I/O 请求分成组,每组不超过 N 个请求,每次选一组进行扫描,处理完一组后再选下一组
- 优点
- 能使 I/O 请求的等待时间不至于过长,不会发生饿死现象
第41页:C-SCAN调度示例
C-SCAN 示例:当前磁道=100,移动方向=IN(向内),磁头移动总距离=642 磁道。
注:本页源文本仅给出当前磁道、移动方向与磁头移动总距离,具体请求队列与逐次移动过程建议对照原课件图片核对。
第42页:多个磁盘驱动器的请求决策
当有多个磁盘驱动器的请求同时到达,系统还必须有优先启动哪个磁盘组的请求的决策。
第43页:旋转优化策略
- 目标
- 减少旋转迟延时间
- 方法
- 对同一柱面上各磁道的物理块的多个访问请求也需重新排队——最短迟延时间优先
第44页:10.4 输入输出管理程序
10.4 输入输出管理程序:用户进程如何与设备管理程序发生作用?
- UNIX 系统
- 设备作为一种特殊的文件来处理——对输入输出的管理通过五个文件操作的功能调用来实现(打开、关闭、读、写、查找文件)
- 普遍方法
- 为每一台设备建立一个管理进程,具体负责和管理该台设备的输入输出工作——该类设备自己的设备管理程序的一次运行——输入输出进程;用户进程通过进程通信原语与输入输出进程发生作用
第45页:设备管理程序
设备管理程序的功能
- 接受用户的输入输出请求:IORB ⇒ 请求队列队尾
- 将请求队列的队头 IORB 拿来,并按照其参数要求为之形成通道程序
- 启动该设备工作(或执行通道程序):设备连接字节多路通道或非分配型子通道,依设备忙闲启动设备;设备连接分配型子通道或多重通路,先由 I/O 调度程序分配控制器和通道
- 处理来自设备的中断:结束中断处理(UCB、CCB、CHCB 状态置闲,请求队列再调度);传输错误中断处理(向系统报告错误,或执行重复处理);故障中断处理(向系统报告故障)
第46页:输入输出调度程序
输入输出调度程序:为用户的数据传输请求分配通道、控制器和设备(或虚拟设备)。
- 按照一定的调度策略来决定先满足哪个用户的请求:独享设备预防和避免死锁;共享设备采用查找优化策略和旋转优化策略
- 为用户请求分配设备和传输通道(相应的控制器的通道):查找该类设备的 UCB 表,确定一个可用的设备;查找该设备的 UCB,确定该设备与哪些控制器相连,每个控制器与哪些通道相连;分配可用的控制器和通道;否则等待
第47页:Windows NT一体化输入输出系统
- I/O 设备的虚拟界面:把文件系统、高速缓冲存储器、设备管理、网络管理组织成界面和操作一致的 I/O 系统
- I/O 系统的层次结构:I/O 管理程序、文件系统、缓冲存储管理器、设备驱动器、网络管理器
- 统一的驱动程序模型:所有的驱动程序是统一的结构
- 具有异步 I/O 操作
- 具有映象文件 I/O 功能