输入输出管理
一、I/O管理的基本概念
1.计算机外部设备
计算机系统中除CPU和内存储外所有的设备和装置称为计算机外部设备(外围设备、I/O设备)。包括:
a.存储设备(以块为单位存储信息,又称为块设备);
b.I/O设备(用于向计算机输入和输出信息的设备);
c.通信设备(负责计算机之间的信息传输)。
2.设备管理的目标
a.提高设备利用率:合理分配设备、提高设备与CPU、各外部设备之间的并行性。
b.便于用户使用:统一、独立于设备。
3.I/O管理功能
a.状态跟踪:设备控制块是存放设备管理和控制信息的数据结构,动态记录各种设备的状态。
b.定制设备分配策略:确定使用设备的用户、起始时间、使用时间。
c.设备分配与回收:作业级--静态分配、进程级--动态分配。
d.设备控制:实施设备驱动和中断处理的工作。
4.设备独立性
a.独立性概念:逻辑设备名、物理设备名、设备无关性。
b.实现:高级语言、批处理系统及交互系统各有不同:
如高级语言软通道实现:fd = open("/dev/lp", mode)。
c.优点:便于编程、提高系统资源利用率、提高系统可扩展性和可适应性。
d.设备控制块(DCB):存放设备的硬件特性、连接和使用情况的数据结构。内容如下:

二、缓冲技术
1.缓冲的用途
处理数据流的生产者与消费者间的速度差异、协调传输数据大小不一致的设备。
2.缓冲的概念
缓冲是用来在两种不同速度的设备之间传输信息时平滑传输过程的常用手段。
3.实现
a.缓冲器:用来暂存数据的硬件装置,容量小,速度快。
b.软件缓冲区:I/O操作期间,临时存放I/O数据的一块主存区域。
4.常用的缓冲技术
双缓冲、环形缓冲、缓冲池。
5.UNIX系统的缓冲区管理
a.目的:加快系统响应,增强系统吞吐量、减少对磁盘的I/O操作次数。
b.思路:预先缓存、延迟发送。
c.数据结构:如下图:其中状态标志位有如下状态:BUSY、AVE、DELWR、WRITE、READ、WAIT。

d.UNIX缓冲管理算法:LRU算法。
三、设备分配技术
1.分配原则
a.静态分配:作业运行时,系统若能满足该作业要求的设备,则将其要求的设备全部分配给它。作业运行完成后,释放占用的所有设备。优点:没有死锁,缺点:设备利用率低。
b.动态分配:作业运行过程中,需要使用设备时,向系统申请,系统根据相应的分配原则进行分配。优点:设备利用率高,缺点:有出现死锁的可能。
2.分配算法
先来先服务、优先级高者优先。
3.分配的安全性
共享设备不会出现死锁,独占设备若采用动态分配可能造成死锁。
4.三种分配方式
独享分配、共享分配、虚拟分配。
四、设备控制
1.输入/输出控制方法
主要包括:循环测试I/O方式、I/O中断方式、DMA方式、通道方式。
2.I/O子系统
a.在应用层为用户提供I/O应用接口:对设备的控制和操作则由内核I/O子系统实施。
b.每个通信设备类型都通过一组标准函数(及接口)来访问:具体的差别被I/O子系统中的内核模块(设备驱动程序)所封装。
c.I/O子系统功能:解释用户I/O命令、设备驱动、中断处理。其中,设备驱动满足以下条件:每类设备都有设备驱动程序,且在系统初始时为每类设备驱动创建一进程,并在空闲I/O请求队列上睡眠。当应用程序调用相关设备时,驱动程序驱动设备运行。
d.控制I/O核心模块的方式:分两种:以设备处理进程的方式(有请求则进程被唤醒,无则睡眠)、将设备与文件一样对待(使用文件系统的系统调用命令进行设备读写)。
3.I/O过程
doio(ldev, mode, amount, addr)
a.将逻辑设备转换为物理设备
b.合法性检查
c.形成请求块,发送消息给对应的设备处理进程
d.请求关系图

五、Linux设备管理
1.Linux系统设备分类
a.字符设备:以字符流的方式被有序访问的设备,并以字节为单位进行数据处理。
b.块设备:能随机访问固定大小数据的设备,如硬盘、闪存等,以块为单位进行处理,大队采用缓冲技术。
2.设备文件及标识
a.设备文件
b.主、次设备号:
主设备号:具有相同主设备号的所有设备共享相同的文件操作集合;
次设备号:标识主设备号相同的一组设备中的一个特定设备。
3.Linux系统设备管理特点
a.外部设备看作文件,有文件系统统一处理
b.系统设备配置改变灵活、方便
c.使用块设备缓冲技术,提高块设备存取操作的速度

4.用于块设备处理的数据结构
a.bio结构:描述块设备I/O操作的操作符,以片段为单位的链表形式来组织块I/O操作。
b.设备队列和请求描述符
5.I/O调度程序
a.职责:管理块设备请求队列,延迟激活块设备驱动程序。同时对队列中的请求进行排序,以减少磁盘寻址时间。
b.合并与排序:合并:将两个或多个I/O请求结合为一个,减少系统开销和磁盘寻址时间;排序:将设备请求队列按磁盘扇区增长的方向排序,使磁头可以按其前进方向上移动。

浙公网安备 33010602011771号