b. 存储设备(块设备) 磁盘、磁带 (4)按信息交换的单位
a. 块设备:用于存储信息,属于结构设备。磁盘、磁带(以块为单位传送信息) b. 字符设备:以单个字符为单位来传送信息。 键盘 9.设备管理的目标
a. 提高外部设备的利用率
b. 为用户提供便利、统一的使用界面 10.设备管理的功能
a. 提供一组I/O命令 b. 进行设备的分配和回收 c.
对缓冲区进行管理
d. 实现真正的I/O操作 11.输入输出管理步骤
(1)用户在程序中使用系统提供的输入/输出命令发出I/O请求 (2)输入输出管理程序接受这个请求
(3)“设备驱动程序”来具体完成所要求的的I/O操作 (4)实现设备中断处理程序来处理这个请求
设备的输入输出管理程序由3块内容组成:接受用户的I/O请求,组织管理输入输出进行,输入输出的善后处理 设备控制:
1) 设备控制块DCB中存放的是一台具体设备的有关信息,找到一个设备的DCB,就
得到了该设备的特性,各种参数,使用情况等,所以DCB是设备管理中最重要的一条数据结构
2) 独享设备中具有排他性,只能采取“静态分配”的策略
a. 静态分配:用户作业开始之前,由系统一次分配给该作业所需的设备,控制器
和通道,不会发生死锁
b. 动态分配:在进程执行过程中进行的设备分配,可能造成死锁 对独享设备采用的分配算法:
? 先来先服务 ? 优先级高者先服务
3) 共享磁盘的调度
磁盘是一种典型的共享存储设备,允许多个作业进程同时使用,而不是让一个作业在整个运行期间独占。“同时使用”是指当一个作业进程暂时不用时,其他作业进程就可以使用。每一个时刻只有一个作业用
4) 调度算法
a. “先来先服务”调度算法(并不理想)(移臂调度,减少查找时间)
以I/O请求到达的先后次序作为磁盘调度的顺序 b. “最短查找时间”调度算法
把距离磁头当前位置最近的I/O请求作为下一次调度的对象 c.
“电梯”调度算法(SCAN)
总是沿着此案移动臂的移动方向选择距离磁头当前位置最近的I/O请求,作为下一次调度的对象
d. “单向扫描”调度算法(循环扫描 CSCAN)
总是从0号柱面开始往里移动移动臂,遇到有I/O请求就进行处理,直到到达最后一个请求柱面,然后移动臂立即带动磁头不做任何服务地快速返回到0号柱面,开始下一次扫描
对I/O设备的控制方式(数据传输方式) 1) 程序循环测试方式(程序查询式)
是指用户进程使用start指令启动设备后,不断地执行test指令,去测试所启动设备的状态寄存器。只有在状态寄存器出现了所需要的状态后,才停止测试工作,完成输入/输出。
数据寄存器:用来存放传输的数据 状态寄存器:用来记录设备当前所处状态 2) 中断方式
所谓“中断”是一种使CPU暂时中止正在执行的程序而转去处理特殊时间的操作。 引起中断的时间称为中断源。
程序中产生的中断,由CPU的某些错误结果(如,计算机溢出)产生的中断称为“内中断”,由外部设备控制器引起的中断称为“外中断” 3) 直接存储器存取方式(DMA方式)
特点:能使I/O设备直接和内存储器进行成批数据的快速传输。(单位:块数据) DMA控制器包括四个寄存器:数据寄存器,状态寄存器,地址寄存器,字节计数器
DMA控制器的组成:主机与DMA控制器的接口;DMA控制器与块设备的接口;I/O控制逻辑 4) 通道方式
通道方式能够使CPU彻底从I/O中解放出来。CPU进行善后处理和启动。 通道是一个独立于CPU的,专门用来管理输入/输出操作的处理机。 通道是通过执行通道程序并与设备控制器共同实现对I/O设备的控制的。 它规定了设备应该执行的各种操作的顺序。由一系列通道指令所构成,CPU对I/O请求只去做启动和善后处理工作,输入/输出的管理以及数据传输等事宜,全部由通道独立完成。 缓冲: 1) 原因:
a. 缓和CPU与I/O设备间速度不匹配的矛盾
b. 减少对CPU的中断频率,放宽对CPU中断响应时间的限制 c.
解决数据粒度不匹配的问题
d. 提高CPU和I/O设备之间的并行性 2) 缓冲的实现
a. 采用专门的硬件寄存器,比如设备控制器里的数据寄存器,“硬件缓冲” b. 在内存储器中开辟出n个单元,作为专用的I/O缓冲区,以便存放输入/输出
的数据,这种缓冲区就是“软件缓冲” c.
根据缓冲区的个数:单缓冲区、双缓冲区、多缓冲区、缓冲池
3) 虚拟设备
a. 通过多道程序技术可将一台物理CPU虚拟为多台逻辑CPU,需要硬件的支持。
作为后援的硬盘(大容量),具有设备与CPU并行工作的能力
4) SPOOLing技术
a. 在主机的直接控制下,实现以前的脱机输入/输出功能,此时的外围操作与CPU
对数据的处理同时进行,我们把这种在联机情况下实现的同时外围操作的技术称为SPOOLing技术,或假脱机技术
b. SPOOLing技术是对脱机输入/输出系统的模拟。SPOOLing系统建立在通道技术
和多道程序技术的基础上,以高速随机外存(通常为磁盘)为后援存储器
5) 设备无关性:
应用程序中所用的设备,不局限于使用某个具体的物理设备。为每个设备所配置的设备驱动程序是与硬件紧密相关的软件。为了实现设备独立性,必须再在设备驱动程序上设置一层软件,称为与设备无关的I/O软件或设备独立性软件 6) 操作系统中实现虚拟设备的软件功能模块由3部分组成
a. 预输入程序 b. 缓输出程序 c.
井管理程序
7) SPOOLing系统由四部分组成
a. 输入井和输出井
在磁盘上开辟出来的两个存储区域,输入数据,输出数据 b. 输入缓冲区和输出缓冲区
在内存中开辟的两个缓冲区 c.
输入进程和输出进程 模拟外围控制机 d. 井管理程序
特点:
? 提高了I/O的速度
? 将独占设备改造为共享设备 ? 实现了虚拟设备的功能