I/O系统
I/O设备
- I/O设备的类型
- 按设备的使用特性分类:存储设备、输入/输出设备
- 按传输速率分类:低速、中速、高速设备
- 按信息交换的单位分类:块设备、字符设备
- 按设备的共享属性分类:独占设备、共享设备、虚拟设备
设备与控制器的接口
- 数据信号线
- 控制信号线
- 状态信号线
设备控制器
设备控制器是计算机中的一个实体,其主要职责是控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。它是计算机和设备的接口,接受CPU发来的指令,以使理机中繁杂的设备控制实务中解脱出来。
- 基本功能
- 接受和识别命令
- 数据交换
- 标识和报告设备的状态
- 地址识别
- 数据缓冲
- 差错控制
- 设备控制器的组成
- 设备处理器和处理机的接口
- 设备控制器与设备的接口
- I/O逻辑
I/O通道
I/O通道是一种特殊的处理机,它具有执行I/O的能力,并通过执行通道程序来控制I/O操作。但其指令简单、与CPU共享内存
通道类型
- 字节多路通道
- 数组选择通道
- 数组多路通道
瓶颈问题
通过增加设备到主机间的通路而不增加通道
总线系统
- ISA
- EISA
- VESA
- PCI
I/O控制方式
程序I/O方式
浪费大量CPU时间与资源
中断驱动I/O控制方式
由CPU向设备控制器发指令,有专门的设备控制处理I/O请求。
直接存储器访问I/O控制方式
DMA I/O控制方式
- 数据传输的基本单位是数据块
- 其传输的数据是直接传入到内存的,不用再经过CPU处理
- 仅在一个和多个数据块的开始和结束时,才需CPU干预,整块数据的传送是在控制器下完成的。
DMA控制器组成
- DMA工作过程
I/O通道控制方式
- I/O通道的引入
- 通道程序
缓冲管理
缓冲区的引入
- 缓和CPU与I/O设备间速度不匹配问题
- 减少对CPU的中断频率,放宽对CPU中断相应时间
- 提高CPU和O/I之间的并行性
单缓冲和双缓冲
单缓冲
每个计算机只有一个缓冲区。
双缓冲
每个计算机有两个缓冲区,可以在进程读缓冲的时候同时向另一个缓冲区写缓冲。在两台电脑通信的时候,可以双向发送信息。
循环缓冲
循环缓冲的组成
多个缓冲区
- 多个缓冲区
- 多个指针
循环缓冲区的使用
- Getbuf
- Releasebuf
进程同步
使用输入循环队列,可使输入进程和计算进程并行执行。
缓冲池
- 缓冲池的组成
- 空缓冲区
- 装满输入数据的缓冲区
3. 装满输出数据的缓冲区
- 输入队列
- 空缓冲队列
输出队列
Getbuf过程和Putbuf过程
缓冲区的工作方式
- 收容输入 数据进程输入数据
- 提取输出 输出进程输出数据
- 提取输入 计算检查输出数据
- 收容输出 计算进程输出数据
I/O软件
I/O软件的设计原则和目标
- 与具体设备无关
- 统一命名
- 对错误的处理
- 缓冲技术
- 设备的分配和释放
- I/O控制方式
I/O软件的四个层次
1、用户软件层
实现与用户交互的接口,用户可以直接调用在用户层提供的,与I/O调用有关的库函数,对设备进行操作
2、设备独立软件
负责实现与设备驱动器的统一接口、设备命名、设备的保护以及设备的分配和释放等、同时为设备管理和数据传送提供必要的存储空间。
3、设备驱动程序
与硬件直接相关,负责具体实现系统对设备发出的指令,驱动I/O设备工作的驱动程序。
4、中断处理程序
用于保护被中断进程的CPU环境,转入相应的中断处理程序进行,处理,处理完后再恢复被中断程序。
中断处理程序
- 唤醒被阻塞的驱动进程
- 保护被中断进程的CPU环境
- 转入相应的设备处理程序
- 中断处理
- 恢复被中断进程的现场
设备驱动程序
1、设备驱动程序的功能
2、设备处理方式
3、设备驱动程序的特点
4、设备驱动程序的处理过程
设备独立性软件
1、设备独立性的概念
2、设备独立性软件
3、设备逻辑名到物理设备名映射的实现
设备分配
设备分配的数据结构
- 设备控制表
- 控制器控制表、通道控制表和系统设备表
设备分配时应考虑的因素
- 设备的固有属性
- 设备分配算法
- 设备分配中的安全性
独占设备的分配程序
- 基本的设备分配程序
- 设备分配程序的改进
SPOOLing技术
- 内容
- 组成
- 共享打印机
- SPOOLing系统的特点
磁盘存储器的管理
磁盘性能简述
1、数据的组织和格式
磁盘设备可包括一或多个物理盘片,每个磁盘片分一个或两个存储面,每个磁盘面被组织成了若干个环心,这种环称为磁道,各磁道之间留有必要的间隙。
2、磁盘的类型
- 固定头磁盘
- 移动头磁盘
3、磁盘的访问时间
- 寻道时间
把磁臂移动到指定磁道上所经历的时间 - 旋转延迟时间
扇区移动到磁头下面的时间 - 传输时间
把数据从磁盘读出或向磁盘写入数据所经历的过程
磁盘调度
1、先来先服务 FCFS
其根据进程请求访问磁盘的先后次序进行调度,公平,简单。
2、最短寻道时间优先 SSTF
其要求访问的磁道与当前磁头所在的距离最近,以使每次寻道时间最短。
3、扫描算法 SCAN
该算法不仅考虑到欲访问的磁道与当前磁道间的距离,更优先考虑的是磁头当前的移动方向。其下一个考虑的对象,应是其欲访问的磁道在当前磁道方向上,又是距离最近的,1 ----->2 2------>1 即循环扫描。
4、循环扫描算法 CSCAN
其与扫描算法不同的地方是其扫描方式不同
1----->2 磁头返回到1 1----->2
5、NStepSCAN 和 FSCAN
磁盘高速缓存
其是一组在逻辑上属于磁盘,而物理上是驻留在内存中的盘块。
数据交付方式
- 数据交付
- 指针交付
置换算法
- 访问频率
- 可预见性
- 数据的一致性
周期的回写磁盘
提高磁盘I/O的其他方法
1、提前读
2、延迟写
3、优化物理块的分布
4、虚拟盘
廉价磁盘冗余阵列
- 并行交叉存取
- RAID的分级
- RAID的优点