一、I/O系统
I/O设备的分类
按传输速率分类:低速设备(键盘,鼠标)、中速设备(激光打印机)、高速设备(磁带机、磁盘机)
按信息交换的单位分类:字符设备、块设备
按设备的共享属性分类:独占设备、共享设备、虚拟设备
2、设备控制器
主要职责是控制一个或多个I/O的设备。
设备控制器的基本功能:
(1)接收和识别命令(CPU->设备)
(2)标识和报告设备状态(设备->CPU)
(3)数据交换
(4)地址识别
(5)数据缓冲
(6)差错控制
设备控制器的组成:
设备控制器与处理机的接口
设备控制器与设备的接口
I/O逻辑
3、I/O通道
I/O通道是一种特殊的处理机,具有执行I/O指令的能力。其目的就是为了独立的I/O操作,它不仅数据的传送能够独立于CPU,对于I/O操作的组织、管理及其结束处理也能够独立。
通道类型有:
字节多路通道(控制器->通道轮流交叉传输一个字节)
数组选择通道(控制器->通道按顺序一个控制器传输完所有字节再到下一个)
数组多路通到(控制器->通道轮流交叉传输一组字节)
4、总线系统
ISA-->EISA-->VESA-->PCI(目前最流行的)
二、I/O控制方式
1、程序I/O方式
CPU定时查询设备的状态,若有数据需要输入或需要输出,即开始数据传输,否则下个时刻继续查询
2、中断驱动I/O控制方式
如:CPU向设备控制器发送读命令,设备控制器收到命令后便去控制相应的输入设备读数据,当数据进入数据寄存器后,控制器便通过控制线向CPU发送中断信号,由CPU检查输入过程是否差错,若无错即通过控制器以及数据线,将数据写入内存指定单元。每个数据从设备到控制器的输入过程中,无须CPU干预,可使CPU与I/O设备并行工作。
3、直接存储器访问DMAI/O控制方式
中断驱动I/O控制方式时的CPU是以字节为单位进行干预的,如果将其用于块设备,显然极其低效。
该方式的特点:
(1)数据传输的基本单位是数据块;
(2)所传送的数据是从设备直接读入内存的,或者相反;
(3)仅在传送一个或多个数据块的开始或结束时,才需要CPU干预,数据块的传输是在控制器的控制下完成的。
4、I/O通道控制方式
I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对一个数据块的读写为单位的干预,减少为对一组数据块的读写以及有关的控制和管理为单位的干预。
三、缓冲管理
设备管理中,引入缓冲区的主要原因,可归纳为以下几点:
缓和CPU与I/O设备间速度不匹配的矛盾;
减少对CPU的中断频率,放宽对CPU中断响应时间的限制;
提高CPU和I/O设备之间的并行性。
缓冲类型有三种:
单缓冲
双缓冲
循环缓冲
三种缓冲区:无数据的空缓冲区R、有数据的满缓冲区G、计算进程正用的缓冲区C
三个指针:
计算进程下一可用缓冲Nextg(对应G)
输入进程下一可用缓冲Nexti(对应R)
计算进程正在使用缓冲Current(对应C)
两个过程:Getbuf和Releasebuf
缓冲池
三种队列:空缓冲队列(emq)、输入队列(inq)、输出队列(outq)三个队列;
四种缓冲:
用于收容输入数据的工作缓冲区的工作缓冲区(hin)
用于提取输入数据的工作缓冲区(sin)
用于收容输出数据的工作缓冲区(hout)
用于提取输出数据的缓冲区(sout)四个工作缓冲区
两个过程:Getbuf和Putbuf
四、设备分配
设备分配中的数据结构
设备控制表DCT
控制器控制表COCT
通道控制表CHCT
系统设备表SDT
设备分配中的考虑因素
设备固有属性:独占设备,共享设备(容易造成死锁),虚拟设备
设备分配算法:先来先服务,优先级高者优先
设备分配安全性
设备独立性:设立一层独立性软件,(1)执行所有设备的公共操作(面向设备),(2)向用户层软件提供统一接口(面向用户)
SPOOLing技术(伪脱机操作)
与脱机操作差不多,只是有两点不一样:
输入进程与输出进程模拟外围机
脱机操作是使用整个磁盘来缓存作业,而SPOOLing技术只是从磁盘中划分出“输出井”和“输出井”来缓存作业
六、设备处理
设备驱动程序的特点:
驱动程序主要是指在请求I/O的进程与设备控制器之间的一个通信和转换程序。它将进程的I/O请求经过转换后,传送给控制器;又把控制器中的记录的设备状态和I/O操作完成情况及时地反映给请求I/O的进程。
设备驱动的特点:
驱动程序与设备控制器和I/O设备的硬件特性紧密相关,对不同类型的设备应该配置不同的驱动程序。
驱动程序与I/O设备所采用的I/O控制方式紧密相关。
由于驱动程序与硬件紧密相关,因而其中的一部分必须用汇编语言写。
驱动程序分两部分:
设备驱动程序(驱动设备进行I/O)
设备中断处理程序(设备I/O后处理相关)
七、磁盘存储器管理
磁盘访问
访问时间=寻到时间+旋转延迟时间+传输时间
磁盘调度
先来先服务FCFS
最短寻道时间优先SSTF
扫描算法(电梯调度算法)SCAN
循环扫描算法CSCAN
N-Step-SCAN调度算法(FCFS与SCAN的结合体)
廉价磁盘冗余阵列
RAID0级:仅提供并行交叉存取
RAID1级:具有磁盘镜像功能,备份用
RAID3级:具有并行传输功能,有一专门的校验盘
RAID5级:具有并行传输功能,没有专门的校验盘,校验信息螺旋方式散布在所有数据盘