1、设备管理的任务和功能
设备管理的任务
(1)按用户需求提出的要求接入外部设备,系统按一定算法分配和管理控制,而用户不必关心设备的实际地址和控制指令;
(2)尽量提高输入输出设备的利用率,例如发挥主机与外设以及外设与外设之间的真正并行工作能力。
设备管理的功能
(1)分配设备
(2)控制和实现真正的输入输出操作
(3)对输入输出缓冲区进行管理
(4)在一些较大系统中实现虚拟设备技术
2、外部设备分类
(1)按系统和用户分:系统设备、用户设备
(2)按输入输出传送方式分(UNIX或Linux操作系统):字符型设备、块设备
(3)按资源特点分:独享设备、共享设备、虚拟设备
(4)按设备硬件物理特性分:顺序存取设备、直接存取设备
(5)按设备使用分:物理设备、逻辑设备、伪设备
设备I/O方式:询问、通道、中断
I/O设备分配算法:先来先服务(FCFS)、按优先级进行分配
3、设备管理技术
(1)I/O设置缓存理由
解决信息的到达率和离去率不一致的矛盾;
缓存起中转站的作用;
使得一次输入的信息能多次使用;
在通道或控制器内设置局部寄存器作为缓冲存储器,可暂存I/O信息,以减少中断CPU的次数。这种情形可进一步推广,使得一次读入的信息可多次重复使用。
(2)虚拟设备的技术(SPOOLing)
SPOOLing,即外围设备联机并行操作,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常也叫做“假脱机技术”。是一种预输入、缓输出和转储的管理技术.
SPOOLing系统的特点:
提高了I/O速度;
将独享设备改造为共享设备(典型例子是打印机的“共享”);
实现了虚拟设备功能。
4、设备处理程序编制内容
设备驱动程序的功能
(1)将接收到的抽象要求转换为具体要求;
(2)检查用户I/O请求的合法性,了解I/O设备的状态,传递有I/O关参数,设置设备的工作方式;
(3)发出I/O命令,启动分配到的I/O设备,完成指定的I/O 操作;
(4)及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理;
(5)对于设置有通道的计算机系统,驱动程序还应能够根据用户的 I/O请求,自动地构成通道程序。
设备驱动程序的特点
(1)驱动程序主要是在请求I/O的进程与设备控制器之间的一个通信程序。
(2)驱动程序与I/O设备的特性紧密相关。
(3)驱动程序与I/O控制方式紧密相关。
(4)由于驱动程序与硬件紧密相关,因而其中的一部分程序用汇编语言书写,目前有很多驱动程序,其基本部分已经固化,放在ROM中。
设备处理方式
(1)将抽象要求转换为具体要求
(2)检查I/O请求的合法性
(3)读出和检查设备的状态
(4)传送必要的参数
(5)方式的设置和I/O设备启动