zoukankan      html  css  js  c++  java
  • 操作系统学习笔记(十二)-- 大容量存储系统

    最近开始学习操作系统原理这门课程,特将学习笔记整理成技术博客的形式发表,希望能给大家的操作系统学习带来帮助。同时盼望大家能对文章评论,大家一起多多交流,共同进步!

    本文主要分以下几个方面:

    • 磁盘的结构 Disk Stucture
    • 磁盘的连接方式 Disk Attachment
    • 磁盘的调度算法 Disk Scheduling
    • 磁盘管理 Disk Management
    • 交换空间的管理 Swap-Space Management
    • 一种廉价的磁盘阵列 RAID Structure

    大规模存储系统的结构:

    磁盘:

    • 传输速率:从外设到电脑的数据列传播时间
    • 定位时间(随机访问时间) Positioning time(random-access time):
      • 磁道定位时间 seek time - 移动磁臂 disk arm 到预期的磁道 cylinder
      • 扇区定位时间 rotational latency - 旋转预期的扇区 cylinder 到磁头的底部
    • 磁头碰撞:磁头与磁盘表面接触;目前一般采用非接触式读写

    SATA:Serial Advanced Technology Attachment

    磁盘的逻辑结构:是一维的连续逻辑块

    一个扇区(sector)可能有多个逻辑块。

    0号扇区是第一条磁道的第一块扇区。

    恒定线速度:用于低速设备例如CD;

    恒定角速度:用于高速设备例如硬盘。

    磁盘调度 Disk Scheduling

    访问时间主要包含寻找时间和旋转延时;需要最小化寻找时间,且寻找时间约等于寻找距离。

    磁盘带宽:单位时间内传输的数据量。

    磁盘I/O系统的访问请求包括:输入/输出,磁盘地址,内存地址,扇区号。

    调度算法:

    举例:Head Pointer:53 queue=98, 183, 37, 122, 14, 124, 65, 67

    1. FCFS First-Come-First-Serve 总共移动640道
    2. SSTF Shortest-Seek-Time-First 总共移动236道
      • 选择从目前磁头访问时间最短的访问请求做为处理对象
      • 类似CPU的SJF调度,可能会导致饥饿(starvation),引起磁头滞留在某一篇区域

      3. SCAN(扫描),有时称电梯调度算法(elevator algorithm) 总共移动208道

      • 磁臂从磁盘一端开始走
      • 移动到另一端
      • 在移动过程中处理服务请求
      • 磁头的移动方向反转(到达另一端后)

      4. C-SCAN(Circular Scan) 循环扫描

      • 磁头从一端移动到另一端
      • 在移动过程中处理请求
      • 到达另一端后,直接返回磁盘的起始磁道
      • 在返回过程中不做任何处理

      5. C-LOOK:在访问的方向上走到最后一个请求就立即反转

    如何选择:

    • SSTF最常用
    • SCAN和C-SCAN在大传输量情况下性能较好
    • 性能好坏决定于请求模式
    • SSTF或LOOK可作为默认算法

    磁盘管理 Disk Management

    Low-level/physical formatting 低级/物理格式化:将磁盘分成几个扇区,使得磁盘控制器可以读写

    扇区结构包括:

    • 头-包含扇区号
    • 数据区
    • 尾-包含ECC(错误校验码)

    RAID Structure

    Redundancy arrays of inexpensive disks 廉价磁盘冗余阵列

    Redundancy arrays of independent disks 廉价磁盘冗余阵列

    通过多磁盘冗余的方式提高可靠性和性能,RAID有七个等级:

    1. RAID0:交叉存取
    2. RAID1:镜像磁盘
    3. RAID2:海明码校验,将数据的海明码存放在恢复盘
    4. RAID3:带奇偶校验码的并行传递
    5. RAID4:带奇偶校验码的独立磁盘结构
    6. RAID5:分布式的奇偶校验的独立磁盘结构
    7. RAID6:两种存储的奇偶校验码的磁盘结构(P+Q redundancy) 例如:RAID0+1 or RAID1+0 两者不相同!!!
  • 相关阅读:
    关于C#调用VC SDK小结
    失业日志:2009年10月15日 猫 老鼠 人(一)
    闲聊日志 一:
    按编号分类的树
    不知不觉又用到了VC6
    这个问题很郁闷.net mvc,也可能我不知道
    失业日志:2008年10月13日
    失业日志:2009年10月16日 能回忆多少就写多少
    失业日志:2009年10月12日星期一
    失业日志 200910月22日
  • 原文地址:https://www.cnblogs.com/PaulingZhou/p/5401723.html
Copyright © 2011-2022 走看看