您的位置:首页 > 其它

<操作系统:精髓与设计原理> I/O管理和磁盘调度

2017-04-30 11:12 369 查看
输入输出是 操作系统设计中最困难的部分 因为不同设备和它们的应用很难有一个 通用的 一致的解决方案

IO设备的三种类别  人可读  机器可读  通信

设备之间的差异很大

数据速率  数据传送速率可能会相差几个数量级

应用 设备用途对操作系统及其支撑设备的软件和策略都有影响

控制的复杂性  打印机需要相对简单的控制接口   磁盘控制接口更为复杂

传输单位   字节流 字符流传送(终端IO)  更大的块传送(磁盘IO)

数据表示  不同的设备使用不同的数据编码方式 包括字符编码 奇偶校验约定

错误条件  随着设备的不同  错误的性质 报告错误的方式  错误的后果  有效的响应范围 不尽相同

IO设计目标   效率和通用性

效率  与内存和处理器相比 大多数I/O设备速度都是非常低的

通用性 出于简单和避免错误的考虑 希望用一种统一的方式处理所有的设备  (处理器看待IO设备的方式   操作系统管理IO设备和IO操作的方式)

缓冲  在输入请求发出前就开始执行输入传送  并且在输出请求发出一段时间之后才开始执行输出传送

面向块的设备  将信息保存在块中  块的大小通常是固定的 传送过程中一次传送一块  可以通过块号来访问数据   (磁盘 USB智能卡)

面向流的设备  以字节流的方式输入输出数据    (终端 打印机 通信端口 鼠标)

磁盘调度

磁盘IO传送的时序   等待设备  等待通道 寻道  旋转延迟  数据传输

寻道时间  磁盘定位到磁道所需要的时间       将磁头臂移到指定磁道所需要的时间

旋转延迟  磁盘到达扇区开始位置的时间       将磁盘的待访问区域旋转到读写磁头所访问的位置所需要的时间

寻道时间和旋转延迟的总和为存取时间  就是达到读或写位置所需要的时间

传输时间  传输所需的时间    往磁盘传送或从磁盘传送的时间取决于磁盘的旋转速度

通过多个磁盘,多个独立的IO请求可以并行的进行处理 

独立磁盘冗余阵列  RAID  RAID是一组物理磁盘驱动器 操作系统把它视为单一的逻辑驱动器

RAID是多磁盘数据设计的标准方案  共7个级别 从0到6

磁盘高速缓存  一个磁盘高速缓存是内存中为磁盘扇区设置的一个缓冲区,它包含有磁盘中某些扇区的副本
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: