目录
5.1 I/O管理概述
5.1.1 I/O设备
(1)按使用特性分类
(1)人机交互外部设备:例如打印机、显示器、鼠标,通常以字节为单位。
(2)存储设备:磁盘、磁带、光盘,通常以多字节组成的块为单位。
(3)网络通信设备:网络接口、调制解调器等。
(2)按传输速率分类
(1)低速设备:如键盘、鼠标。
(2)中速设备:如行式打印机、激光打印机。
(3)高速设备:如磁带机、磁盘机、光盘机。
(3)按信息交换的单位分类
(1)块设备
(2)字符设备
5.1.2 I/O控制方式
(1)程序控制方式(CPU轮训检查)
特点:CPU与I/O设备只能串行工作,导致CPU的利用率相当低。
(2)中断驱动控制方式
思想:允许I/O设备主动打断CPU的运行并请求服务,从而解放CPU。
特点:中断驱动方式比程序直接控制更有效,但由于数据中的每个字在存储器与I/O控制器之间的传输都必须经过CPU,这就导致了中断驱动方式仍然消耗较多的CPU时间。
(3)DMA(直接存储器存取)控制方式
思想:在I/O设备和内存之间开辟直接的数据交换通路,彻底“解放”CPU。
特点:基本单位是数据块;所传送的数据,是从设备直接送入内存的,或者相反;仅传送一个或多个数据块的开始和结束时,才需要CPU干预,整块数据的传送是在DMA控制器的控制下完成的。
(4)通道控制方式
I/O通道与DMA方式的区别:
DMA方式需要CPU来控制传输的数据块的大小,传输的内存位置,而通道方式中这些信息是由通道控制的。每个DMA控制器对应一台设备与内存传递数据,而一个通道可以控制多台设备与内存的数据交换。
5.1.3 I/O子系统的层次结构
5.2 I/O核心子系统
5.2.1高速缓存与缓冲区
(1)磁盘高速缓存
(2)缓冲区
(1)单缓冲(C:处理时间, T:输入时间, M:传送时间)
每块数据的用时 max(C,T)+M
(2)双缓冲
每块数据的用时 max(C+M, T)
(3)循环缓冲
(4)缓冲池
(3)高速缓存和缓冲区的对比
高速缓存 | 缓冲区 | ||
相同点 | 都介于高速设备和低速设备之间 | ||
区别 | 存放数据 | 存放的是低速设备上的某些数据的复制数据,即高速缓存上有的,低速设备上面必须有 | 存放的是低速设备传递给高速设备的数据(或相反),而这些数据在低速设备(或高速设备)上却不一定有备份,这些数据再从缓冲区传送到高速设备(或低速设备) |
目的 | 高速设备存放的是高速设备常要访问的数据,若高速设备要访问的数据不在高速缓存中,则高速设备就需要访问低速设备。 | 高速设备和低速设备的通信都要经过缓冲区,高速设备永远不会直接去访问低速设备。 |
5.2.2设备分配与回收
设备分配依据的主要数据结构有设备控制表(DCT)、控制器控制表(COCT)、通道控制表(CHCT)、系统设备表(SDT)
5.2.3 SPOOLing技术(假脱机技术)
为了缓和CPU的高速性与I/O设备低速性之间的矛盾,引入了脱机输入/输出技术。