一、I/O管理概述
1.1 计算机I/O系统结构
1.2 I/O管理示意图
1.3 I/O的特点
I/O
性能经常称为系统性能的瓶颈- 操作系统庞大复杂的原因之一:资源多、杂,并发,均来自
I/O
- 速度差异很大
- 应用
- 控制接口的复杂性
- 传送单位
- 数据表示
- 错误条件
- 与其他功能联系密切,特别是文件系统。
1.4 设备的分类:按数据组织分
- 块设备
以数据块为单位存储、输出信息。传输速率较高、可寻址(随机读写) - 字设备
以字符为单位存储、传输信息。传输速率低、不可寻址。
1.5 设备的分类:从资源分配角度
- 独占设备
在一段时间内只能有一个进程使用的设备,一般为低速I/O
设备(如打印机,磁带等) - 共享设备
在一段时间内可由多个进程共同使用的设备,多个进程以交叉的方式来使用设备,其资源利用率高(如硬盘) - 虚设备
在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备称为虚设备。其目的就是将慢速的独占设备改造成多个用户可共享的设备,提高设备的利用率。如SPOOLing
技术-
SPOOLing技术
当系统中引入多道程序技术后,完全可以利用其中一道程序,来模拟脱机输入时的外围控制机功能,把低速I/O设备上的数据传送到高速磁盘上;再用另一道程序来模拟脱机输出时的外围控制机功能,把数据从磁盘传送到低速设备上。这样,便可以在主机的直接控制下,实现脱机输入、输出功能。此时的外围操作与CPU对数据的处理同时进行,我们把这种在联机情况下实现的同时外围操作称为,或称为假脱机操作
SPOOLING系统主要有以下四部分:(1)输入井和输出井 (2)输入进程和输出进程 (3)输入缓冲区与输出缓冲区 (4)井管理程序
-
1.6 I/O管理的目标和任务
-
1、按照用户的请求,控制设别的各种操作,完成
I/O
设备与内存之间的数据交换,最终完成用户的I/O
请求- 设备分配与回收
(1)记录设备的状态
(2)根据用户的请求和设备的类型,采用一定的分配算法,选择一条数据通路 - 执行设备驱动程序,实现真正的
I/O
操作 - 设备中断处理:处理外部设备的中断
- 缓冲区管理:管理
I/O
缓冲区
- 设备分配与回收
-
2、建立方便、统一的独立于设备的接口
- 方便性:向用户提供使用外部设备的方便接口,使用户编程时不考虑设备的复杂物理特性
- 统一性:对不同的设备采用统一的操作方式,即在用户程序中使用的是逻辑设备
(1)逻辑设备与物理设备
(2)屏蔽硬件细节(设备的物理特性、错误处理、不同I/O
过程的差异性)
-
3、充分利用各种技术(通道,中断,缓冲,异步
I/O
等)提高CPU
与设备、设备与设备之间的并行工作能力,充分利用资源,提高资源利用率。
(1)并行性
(2)均衡性(使设备充分忙碌)
- 4、保护
设备传送或管理的数据应该是安全的、不被破坏的、保密的
二、I/O硬件组成
2.1 I/O设备组成
I/O
设备一般由机械和电子两部分组成
(1)机械部分是设备本身(物理装置)
(2)电子部分又称设备控制器(或适配器)- 端口地址译码
- 按照主机与设备之间约定的格式和过程接受计算机发来的数据和控制信号 或 向主机发送数据和状态信号
- 将计算机的数字信号转换成机械部分能识别的模拟信号,或反之
- 实现设别内部硬件缓冲、数据加工等提高性能或增强功能
2.2 设备接口:控制器的作用
- 操作系统将命令写入控制器的接口寄存器(或接口缓冲区)中,以实现输入/输出,并从接口寄存器读取状态信息或结果信息
- 当控制器接受一条命令后,可独立于
CPU
完成指定操作,CPU
可以另外执行其他计算;命令完成时,控制器产