1、什么事I/O
I/O就是“输入/输出”,将数据输入到计算机,或接收计算机的数据输出到外部设备
2、I/O设备分类
-
按使用特性
- 人机交互类外部设备(键盘鼠标)
- 存储设备(磁盘)
- 网络通信设备(网卡)
-
按传输速率
- 低速设备(键盘)
- 中速设备(打印机)
- 高速设备(磁盘)
-
按信息交换单位
- 块设备(磁盘)
- 字符设备(键盘)
3、I/O设备的构成
- 机械部件:比如键盘鼠标的按键和按钮,用来执行具体的I/O操作
- 电子部件:即I/O控制器、设备控制器,是CPU与硬件设备之间的桥梁
4、I/O控制器主要作用
- 接收并识别CPU命令
- 向CPU报告设备状态
- 数据交换
- 地址识别
1、I/O控制器的组成
- CPU与控制器间的接口
- I/O逻辑
- 控制器与设备间的接口
2、I/O控制方式
- 程序直接控制方式
- CPU频繁干预
- 每次读/写一个字
- 读:设备->CPU->内存
- 中断驱动方式
- CPU将此IO进程阻塞
- IO前后CPU千预
- 每次读/写一个字
- 读:设备->CPU->内存
- DMA方式
- 传输单位是“块”
- 块之间传输需要CPU千预
- 设备<->内存
- 通道控制方式
- 通道是专门负责I/O的处理机
- 每次读/写一组数据块
- IO设备<->内存
1、用户层软件
- 实现用户交互接口
- 通过库函数实现系统调用
2、设备独立性软件
- 向上一层提供调用接口
- 设备保护
- 容错处理
- 设备分配与回收
- 数据缓冲区管理
- 逻辑设备与物理设备映射
3、设备驱动程序
不同设备硬件特性不同,但CPU指令相同负责控制硬件设备,将CPU指令转成设备操作驱动程序会以独立进程的形式存在
4、中断处理程序
IO完成后发出中断信号,执行中断处理程序会直接操作硬件
四、假脱机技术假脱机技术
- 输入井和输出井
- 输入进程和输出进程
- 输入缓冲区和输出缓冲区
1、设备分配应考虑的因素
- 固有属性;
- 分配算法;
- 安全性
2、静态分配与动态分配
进程运行前分配所有资源,还是运行中动态申请资源
3、设备管理中的数据结构
4、设备分配步骤
- 根据物理设备名查SDT
- 查DCT,尝试分配给进程
- 查COCT,尝试分配给进程
- 查CHCT,尝试分配给进程