-
I/O设备:输入输出和存储功能的设备
-
I/O设备的分类
按传输的速度:
低速设备(如键盘、鼠标、语音输入输出设备) 中速设备(如行式打印机、激光打印机等)
高速设备(如磁带机、磁盘机、光盘机等)。
设备按信息交换的单位分类
块设备:用于存储信息。对于信息的存取总是以数据块为单位。典型例子是磁盘。该类设备基本特征是传输速率较高,另一特征是可寻址。
字符设备:用于数据的输入和输出。基本单位是字符。如交互式终端、打印机等。其基本特征是传输速率较低,另一特征是不可寻址。
设备按其共享属性分类
独占设备:指在一段时间内只允许一个用户、进程访问的设备,即临界资源。应互斥的访问之。
共享设备:指在一段时间内允许多个进程同时访问的设备。对每一时刻而言仍然是一个进程访问。如磁盘。
虚拟设备:指通过虚拟技术将一台独占设备变换为若干台逻辑设备,供若干个用户(进程)同时使用。
设备按其使用特性分类:
存储设备、输入\输出设备
-
I/O通道
其主要目的是为了建立独立的I/O操作,去解放CPU。在设置通道后,CPU只需向通道发送一条I/O指令。通道完成任务后向CPU发中断信号。
控制功能:CPU与设备控制器
数据传输:内存与外设
-
I/O控制方式
- 程序I/O方式,使用轮询的可编程I/O方式。CPU浪费
- 终端驱动I/O方式,使用中断的可编程I/O方式。CPU用较短的时间进行中断处理。
- 直接存储器访问方式(MDA),以数据块为单位,高效。缺点:不连续的数据块,不能一次处理
- I/O通道控制方式,通道时硬件,配合着通道程序
-
设备分配
- 前提:大中型计算机
- DS:设备控制表、控制器控制表、通道控制表、系统设备表
- 独占设备分配步骤:分配设备、分配控制器、分配通道
-
SPOOLing技术(假脱机)
定义
为缓和CPU的高速性与I/O设备低速性间的矛盾而引入了脱机输入、脱机输出技术。该技术是利用专门的外围控制机,将低速设备上的数据传送到高速磁盘上;或者相反。这样就可以在主机的直接控制下实现脱机输入输出。此时外围操作与CPU对数据的处理同时进行,我们把这种在联机情况下实现的同时外围操作称为SPOOLing(Simultaneaus Periphernal Operating On—Line),或称为假脱机操作。
组成
- 输入井和输出井。是磁盘上开辟的两个大存储空间。输入井模拟脱机输入的磁盘设备,输出井模拟脱机输出时的磁盘。
- 输入缓冲区和输出缓冲区。在内存中开辟两个缓冲区,输入缓冲区暂存由输入设备送来的数据,后送输入井;输出缓冲区暂存从输出井送来的数据,后送输出设备。
- 输入进程和输出进程。利用两个进程模拟脱机I/O时的外围处理机。
- 井管理程序。用于控制作业与磁盘井之间信息的交换。
特点
- 提高了I/O的速度。利用输入输出井模拟成脱机输入输出,缓和了CPU和I/O设备速度不匹配的矛盾。
- 将独占设备改造为共享设备。并没有为进程分配设备,而是为进程分配一存储区和建立一张I/O请求表。
- 实现了虚拟设备功能。多个进程同时使用一台独占设备,虚拟成了多台设备。
- 打印机是独占设备,通过虚拟技术实现“共享”的模拟
- 缓冲区管理
- 引入
- 缓和CPU与I/O设备间速度不匹配矛盾。
- 减少对CPU的中断频率,放宽对CPU中断响应时间的限制
- 提高CPU和I/O设备之间的并行性。
方法
- 单缓冲(效率低)
- 双缓冲区(效率比较高,当输入输出速度不匹配时效率受影响)
- 循环缓冲区(解决输入和输出速度相差甚远的影响)
- 缓冲池(解决多进程缓冲过程中内存利用率的问题)
-
磁盘管理
9个进程先后提出读盘请求访问的磁道号为:55;58;39;18;90;160 150 38 184目前磁头停留在100道。
先来先服务(FCFS)
- 优点:公平、简单
- 缺点:未对寻道进行优化
最短寻道时间优先(SSTF)
- 优点:寻道优化
- 缺点:可能导致某些进程发生“饥饿”。
扫描SCAN算法
- 优点:较好的寻道性能
- 缺点:“不巧”的进程严重推迟
循环扫描算法CSCAN
- 优点:进程的延迟变小了
FSCAN算法本算法是N-Step-SCAN算法的简化。