第四章.2节 磁盘结构

版权声明:就是开个版权玩一下 https://blog.csdn.net/qq_41997479/article/details/86373070

(PS:个人课下整理的操作系统笔记,OneNote直接拷贝过来的,图片看不了就将就一下,配合张伟老师的PPT看效果更好)

一、结构

1.现代磁盘驱动器可以看作是一个一维逻辑块的数组

2.

扇区0是最外面柱面的第一个磁道第一个扇区。然后映射磁道内的其他扇区,然后是柱面内的其他磁道,然后是其他柱面(从外往内)

机械臂杆,磁臂arm,platter磁盘面

 

二、磁盘的调度

1.

操作系统的任务之一就是有效的使用硬件,对于磁盘驱动器来说,这意味着较快的访问速度较宽的磁盘带宽。

磁盘带宽:所传递总的字节数除以从服务请求开始到最后传递结束的总时间。(字节数/时间)

寻道时间:磁头旋转的时间

旋转延迟

 

2.调度算法

3.如何选择磁盘调度算法?

4.RAID磁盘冗余阵列

 

RAID0 块级分散Block striping,加快访问速度。

RAID1 镜像Mirroring,增加可靠性。

RAID0+1 先块级分散(加快速度),再镜像(提升安全性)。

RAID1+0 先镜像,再块级分散

 

 

  • RAID0- 按块级别分散的磁盘阵列,没有冗余,速度加快
  • RAID1- 提供磁盘镜像,无按块分散。只有冗余,更加安全,没有速度加快。
  • 一个系统拥有大量的磁盘,就能够有机会改善读写速度,改善数据的可靠性。
  • 镜像:最为简单引入冗余的方法是复制每个磁盘,每次写都要在两个磁盘上进行。如果一个磁盘坏了,那么可以从另一个磁盘中恢复
  • 位级分散:在多个磁盘上分散每个字节的位。如果有8个磁盘,则每个字节的第i位存储到磁盘i上。这8个磁盘可以作为单个磁盘使用,拥有8倍的传输速率。
  • 块级分散:对于一个文件的块,可以分散在不同的磁盘上。提升传输数据的速度。
  • RAID有6层,只记住第1,2层就可以
  • 一般情况下选择SSTF和C-LOOK为默认算法
  • SSTF会产生饥饿问题。SCAN CSCAN CLOOK不会产生饥饿问题。
  • SSTF比较普通且很有吸引力。
  • SCAN and C-SCAN对于磁盘负载比较大的情况下,表现会更好,且不会产生饥饿问题。
  • SSTF调度(Shortest-seek-time first):谁离我近我服务谁,但不是最优
    • 最短寻道时间优先算法——在处理离磁头当前位置比较远的请求之前,先处理靠近磁头位置的请求。
    • 会产生饥饿,例如14和186,处理14的时候,不断到达14周围的作业。则186会产生饥饿。
    • 磁头一共移动了236个柱面
  • SCAN(也叫电梯算法):先往一个方向扫描,再扫描另一个方向
    • 不但要知道磁头的当前位置,而且还需要知道磁头移动的方向。
    • 磁头一共移动了208个柱面
  • C-SCAN:只在一个方向去服务,一直往一个方向(单程),回程方向不服务
  • C-Look:类似于C-SCAN,只是不走到头
    • without first going all the way to the end of the disk.
  • 磁头一共移动了640个柱面
  • FCFS调度

猜你喜欢

转载自blog.csdn.net/qq_41997479/article/details/86373070