第五章 输入输出管理
5.1 什么是输入输出(I/O)设备?
5.1.1 I/O设备的基本概念
什么是I/O?
I/O就是“输入/输出”,将数据输入到计算机,或接收计算机的数据输出到外部设备
I/O设备分类:
按使用特性
人机交互类外部设备
存储设备
网络通信设备按传输速率
低速设备
中速设备
高速设备
按信息交换单位
块设备
字符设备
I/O设备的构成
机械部件:比如键盘鼠标的按键和按钮,用来执行具体的I/O操作
电子部件:即I/O控制器、设备控制器,是CPU与硬件设备之间的桥梁
I/O控制器主要作用
接收并识别CPU命令
向CPU报告设备状态
数据交换
地址识别
5.1.2 I/O控制器
I/O控制器的组成
CPU与控制器间的接口
I/O逻辑
控制器与设备间的接口
5.1.3 I/O控制方式
程序直接控制方式
CPU频繁干预
每次读/写一个字
读:设备->CPU->内存
中断驱动方式
②CPU将此IO进程阻塞
IO前后CPU干预
每次读/写一个字
读:设备->CPU->内存
DMA方式
传输单位是“块”
块之间传输需要CPU干预
设备<->内存通道控制方式
通道控制方式
通道是专门负责I/O的处理机
每次读/写一组数据块
IO设备<->内存
5.1.4 I/O软件层次结构
用户层软件
实现用户交互接口
通过库函数实现系统调用设备独立性软件
向上一层提供调用接口
设备保护
容错处理
设备分配与回收
数据缓冲区管理
逻辑设备与物理设备映射设备驱动程序
不同设备硬件特性不同,但CPU指令相同
负责控制硬件设备,将CPU指令转成设备操作
驱动程序会以独立进程的形式存在中断处理程序
IO完成后发出中断信号
执行中断处理程序
会直接操作硬件硬件