操作系统(Operating System)知识点复习——第十一章 I/O管理与磁盘调度

目录

0.前言

1.I/O设备

2.I/O功能的组织

3.Operating System Design Issues

4.I/O缓冲

4.1 单缓冲Single Buffer

4.2 双缓冲Double Buffer

4.3 循环缓冲

5.磁盘调度Disk Scheduling

5.1 磁盘性能参数

5.2 磁盘调度策略

①First-in,first-out(FIFO)

②Priority优先级

③Last-in,first-out(LIFO)

④Shortest Service Time First(SSTF)

⑤SCAN电梯算法

⑥circular SCAN(c-SCAN)

⑦N-step-SCAN

⑧FSCAN

6.Redundant Array of Independent Disks(RAID)独立冗余磁盘阵列

6.1 RAID 0(non-redundant)

6.2 RAID 1(mirrored)

6.3 RAID 3(bit-interleaved parity)

6.4 RAID 4 (block-level parity)

6.5 RAID 5 (block-level distributed parity)


0.前言

本系列文章旨在记录操作系统的知识点,可用于期末复习,笔者理解尚浅,文中不正之处静待批正。加粗高亮部分为重点。

1.I/O设备

分类:

  • 人可读Human readable(用户之间通信):字符流(Printers、Display、Keyboard、Mouse)
  • 机器可读Machine readable(与电子设备通信):字符流和块数据(Disk and tape drives、Sensors、Controllers)
  • 通信Communication(与远端设备通信):报文message(Digital line drivers、Modems、Network device)

差异:

  • Data rate 传输速率
  • Application
  • Complexity of control
  • Unit of transfer
  • Data representation
  • Error conditions

2.I/O功能的组织

  • synchronous同步通信
    • Wait:发出读写请求,然后阻塞,等待服务完成中断后,继续执行
    • Not Wait:直接读或者写
  • asynchronous communication异步通信
    • 利用缓冲区
    • 发出读写请求,及设置缓冲区地址
    • 进程返回继续执行不阻塞
    • 等待中断服务完成通知CPU

I/O功能的发展:

  1. 处理器直接控制I/O设备
  2. 增加了控制器I/O模块
  3. 中断驱动的控制器或I/O模块
  4. 直接存储器访问Direct Memory Access(DMA):传送单位为块block不需要经过CPU
  5. I/O被增强为单独的处理器
  6. I/O处理器

3.Operating System Design Issues

两个重要目标:

  • Efficiency效率:操作系统应支持多道程序(并发),需要更多就绪队列
  • Generality通用性:希望在统一模式下处理所有I/O设备

4.I/O缓冲

  • Block-oriented面向块:信息存储在固定大小的块(block)中,每次传一个块(disk、tape)
  • Stream-oriented面向流:以字节流(byte)形式传输信息(terminals、printers、communication ports、mouse)

4.1 单缓冲Single Buffer
  • 面向块的单缓冲:操作系统在系统空间中为 I/O 请求分配一个缓冲区
    • 优点:缓冲期间允许把进程换出(交换可发生);用户进程可在读入下一个数据块时处理一个数据块
    • 缺点:OS要追踪进程对应缓冲区;同一磁盘中的交换会受影响
  • 面向流的单缓冲
    • Line-at-a-time fashion行缓冲一行一行传输,行末有回车
    • Byte-at-a-time fashion字节缓冲:传输遵循生产者模型

  • 没有缓冲的处理时间:T+C
  • 单缓冲的处理时间:max(T,C)+M

4.2 双缓冲Double Buffer

处理时间:max(T, C),如果C<T,则效果更明显

4.3 循环缓冲

5.磁盘调度Disk Scheduling

5.1 磁盘性能参数

  • Seek time寻道时间T_{s}:磁头从该磁道移动到目标磁道所需时间
    • 假设启动磁头需要s,每移动一个磁道耗时m,总共需要移动n条磁道,则T_{s}=s+m*n
  • Rotational delay旋转延迟转到目标扇区所需时间(设转盘转速为r,平均1/2圈,则旋转延迟为1/2r)
  • Transfer time传输时间:从磁盘读出或向磁盘写入数据所经历的时间,设转速r,写入/读出字节数b,每个磁道上字节数为N,则传输时间=b/rN
  • Access time存取时间T_{a}

5.2 磁盘调度策略

关键:减少寻道时间

①First-in,first-out(FIFO)

②Priority优先级

短批处理作业可能有更高的处理级

③Last-in,first-out(LIFO)

事物处理型(transaction processing)友好,可能有饥饿产生

④Shortest Service Time First(SSTF)

按照寻道时间从低到高执行,可能有饥饿

⑤SCAN电梯算法

朝一个方向单增/单减至头(到达请求的端点就可返回),然后再朝反方向行进

⑥circular SCAN(c-SCAN)

仅单增,到达头后回到底部再单增

⑦N-step-SCAN

将请求队列分为几个大小为N的子序列,子序列使用SCAN一次处理一个,当所有均被处理完后,新请求被加到其他队列

⑧FSCAN

两个队列,其中一个队列接收新请求

6.Redundant Array of Independent Disks(RAID)独立冗余磁盘阵列

数据分布在阵列的物理驱动器上

6.1 RAID 0(non-redundant)

  • RAID 0无冗余,冗余磁盘容量用于存储奇偶校验
  • 条带分布数据->可并行访问、高响应率
  • 无纠错->不稳定

6.2 RAID 1(mirrored)

  • 条带分布数据->可并行访问、高响应率
  • 镜像纠错
  • 写速度降低,读相应较好(可以并行任意读取一个)

6.3 RAID 3(bit-interleaved parity)

  • 条带分布数据
  • 位奇偶校验可纠错,一次只能一个I/O请求

6.4 RAID 4 (block-level parity)

  • 条带分布数据
  • 块奇偶校验位纠错->每次写需要操作2次读和2次写X4成为性能瓶颈

6.5 RAID 5 (block-level distributed parity)

  • 条带分布数据
  • 分散块奇偶校验位纠错->解决X4性能瓶颈
  • 26
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五倍子的代码空间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值