通俗易懂理解操作系统设备管理
I/O硬件系统
-
I/O设备
-
设备的类别
从数据交换单位来分,I/O设备可以大致分为两类
- 块设备:信息存储在固定大小的块中,并且每个块都有地址,因此可以独立寻址。块的通常大小为512~32768字节。如硬盘,USB闪存盘等。
- 字符设备:以字节为单位发送或接收一个字符流,且不可寻址。如打印机、鼠标、网络接口以及大多数与磁盘不同的设备,都可看做字符设备
-
设备硬件的组成
I/O设备一般由机械部件和电子部件两部分组成
- 机械部件:设备本身
- 电子部件:设备控制器或适配器
-
总线
计算机系统中的设备及处理器、内存等硬件资源通过总线通信
-
-
I/O控制方式
主机通过控制器对设备输入、输出进行控制的方式
-
轮询(忙等待)
cpu通过控制器命令寄存器向设备下达操作命令后,设备操作完成状态由cpu不断查询控制器状态寄存器来获得
-
中断控制
设备主动向cpu报告任务完成状态,无需cpu主动循环检测设备操作状态
-
直接存储器访问(DMA)
通过一个专用处理器DMA完成具体的传输控制操作,数据传输的基本单位是一个连续的数据块,仅在传输数据块的开始和结束时才需要cpu干预
-
通道方式(输入输出处理器)
独立于cpu专门负责数据输入/输出传输工作的处理机,与cpu并行操作,指令单一,与cpu共享内存
-
I/O软件系统
-
设备中断处理程序
- 作用:解除设备驱动程序的阻塞
-
设备驱动程序
-
概念:专门与控制器对话,发出命令并接受响应的软件
-
与操作系统的结合方式
设备是共享资源,设备驱动程序运行在核心态
-
设备驱动程序与设备控制器的通信
通过设备寄存器来进行通信
-
-
设备无关I/O软件
设备无关I/O软件的基本功能是执行所有设备公关的I/O功能,并想用户层软件提供一个统一的接口
-
设备管理功能
屏蔽I/O设备细节差异,抽象设备共性特征,对不同设备提供尽可能一致的使用接口
-
缓冲管理
-
错误报告
-
分配与释放设备
-
提供与设备无关的块尺寸
-
磁盘管理
- 磁盘的结构
- 磁盘的调度算法
- 先来先服务算法:根据磁道的访问请求到来的先后顺序完成请求
- 最短寻道时间优先算法:优先满足距离当前磁头位置最近的访问请求
- 电梯调度算法:类似于电梯
- 循环扫描算法:磁臂从开始端柱面走向结束端柱面,过程中处理请求,走完后从结束端返回,但不处理请求,然后从开始端再重新开始。
- N步扫描算法:分成诺干个长度为N的子队列,按先来先服务算法依次执行这些队列。处理某子队列是,来了新请求,则将新请求放入其他队列
虚拟设备
作用:提高设备的利用率,尤其是独占设备,将其模拟成共享设备。这种技术就是虚拟
SPOOLing(假脱机技术):对脱机输入/输出系统的模拟,即利用一类物理设备模拟另外一类物理设备