I/O设备管理
I/O管理
1.I/O设备的基本概念和分类
1.什么是I/O设备
1、I/O就是”输入/输出“
2、I/O设备就是可以将数据输入到计算机,或者可以将接收计算机输出数据的外部设备,属于计算机中的硬件部件
3、UNIX系统将外部设备抽象为一种特殊的文件,用户可以使用与文件操作相同的方式对外部设备进行操作
2.I/O设备分类
1.按使用特性分类
1)人机交互类外部设备:鼠标、键盘、打印机;数据传输速度慢
2)存储设备:移动硬盘、光盘、用于数据存储;数据传输速度快
3)网络通信设备:调制解调器,用于网络通信,数据传输结余上述二者之间
2.按传输速率分类
1)低速设备:鼠标、键盘
2)中速设备:激光打印机
3)高速设备:磁盘
3.按信息交换的单位分类
1)块设备:传输块,可寻址
2)字符设备:传输慢,不可寻址,常采用中断驱动方式
2.I/O控制器
1.I/O设备内部可以分为
1)电子部件(I/O控制器、设备控制器):电路板
2)机械部件:鼠标、键盘;用于执行具体的I/O操作
2.CPU无法直接控制I/O设备的机械部件,因此I/O设备还要有一个电子部件作为CPU和I/O设备机械部件之间的”中介“,用于实现CPU对设备的控制。
3.这个电子部件就是I/O控制器,又称设备控制器。CPU可控制I/O控制器,又由I/O控制器来控制设备的机械部件
2.I/O控制器的功能
1)接收和识别CPU发出的命令
2)向CPU报告设备的状态
3)数据交换
4)地址识别
3.I/O控制器的组成
4.内存映像I/O&寄存器独立编制
3.I/O控制方式
需要注意的问题:
1.完成一次读、写操作的流程
2.CPU干预的频率
3.数据传送的单位
4.数据的流向
5.主要缺点和主要优点
1.程序直接控制方式
1.读操作、轮询
2.研究问题
2.中断驱动方式
为解决程序直接控制方式的缺点而引进的机制
1.研究问题
3.DMA方式-直接存取方式
主要是为了解决中断驱动程序中的缺点。使得数据传输不再进过CPU,节省CPU时间
1.研究问题
4.通道控制方式
主要是为了解决DMA方式只能读取连续空间的问题
1.概念
2.研究问题
5.总结
4.I/O软件层次结构
1.总览
2.用户层软件
3.设备独立性软件
1.又称设备无关性软件。与设备的硬件特性无关的功能几乎都在这一层实现。
2.要实现的功能
1)向上层提供同一的调用接口(read/write)系统调用
2)设备的保护(类似于文件的保护)
3)差错处理(对一些设备的错误进行处理)
4)设备的分配与回收
5)数据缓冲区管理(可以通过缓冲技术屏蔽设备之间数据交换单位大小和传输速率的差异)
6)建立逻辑设备名到物理设备名的映射关系:根据设备类型选择调用相应的驱动程序
4.设备驱动程序
1.为什么不同设备需要不同的驱动程序
5.中断处理程序
6.总结
5.核心子系统
1.总览
2.功能所在层次
1.假脱机技术(SPOOLing技术)在用户层实现
2.I/O调度、设备保护、设备分配与回收、缓冲区管理;这些功能在设备独立性软件实现
3.I/O调度
1、用某种算法确定一个好的顺序来处理各个I/O请求
2、打印机设备也可以用先来先服务算法、优先级算法、短作业优先等算法来确定I/O调度顺序
4.设备保护
操作系统需要实现文件保护功能,不同的用户对各个文件有不同的访问权限。在Unix系统中,设备被看做是一种特殊的文件,每个设备也会有对应的FCB。
5.假脱机技术
1.什么是脱机技术
1)批处理阶段引入了脱机输入、输出技术(用磁带完成)
2)脱机技术,脱离主机的控制进行的输入输出操作
3)在外围处理机的控制下,慢速输入设备的数据先被输入到更快速的磁带上。之后主机可以从快速的磁带上读入数据,从而缓解了速度矛盾
4)引入脱机技术后,缓解了CPU与慢速I/O设备的速度矛盾。另一方面,即使CPU在忙碌,也可以提前将数据输入到磁带,即使慢速的输出设备正在忙碌,也可以提前将数据输出到磁带。
2.假脱机技术SPOLing技术
3.脱机技术的例子--共享打印机
4.设备的分配与回收
1)总览
6.设备的分配与回收
1.总览
2.设备分配时应该考虑的因素
1)设备的固有属性:独占设备、共享设备、虚拟设备
2)设备分配算法:先来先服务、优先级、短任务优先
3)设备分配中的安全性:
安全分配方式:为进程分配一个设备后就进程阻塞,本次I/O完成后才将进程唤醒,即一段时间内每个进程只能使用一个设备;优点是破坏了”请求和保持”条件,不会死锁;缺点是对于一个进程来说,CPU和I/O设备只能串行工作
不安全分配方式:进程发出I/O请求后,系统为其分配I/O设备,进程可继续执行,之后还可以发出新的I/O请求。只有某个I/O请求得不到满足时才将进程阻塞。优点:进程的计算任务和I/O任务可以并行处理,使进程迅速推进;缺点:有可能发生死锁(死锁避免、死锁的检测和解除)
3.设备的分配方式
1)静态分配:进程运行前为其分配所需要的全部资源,运行结束后归还资源
2)动态分配:进程运行过程中动态申请设备资源
4.设备分配管理中的数据结构
2)数据结构
5.设备分配的步骤
6.设备分配步骤的改进
7.缓冲区管理
1.什么是缓冲区、作用
2.单缓冲
3.双缓冲
4.循环缓冲区
5.缓冲池