【笔记】操作系统(十二)——大容量存储器的结构

前言

这一章还有最后一个重要的出题点——磁盘调度,以及RAID结构。RAID结构本来是很重要的,但是这里并没有具体提及纠错和验错算法。倒是计算机网络中有具体提到。

一、大容量存储器结构简介

1. 磁盘

磁盘就是我们常提到的外存。我们主要关注磁盘的结构。
在这里插入图片描述
如上图所示,读写头悬浮在每个磁盘片的表面之上。磁头哦与磁臂相连,磁臂能将所有磁头作为一个整体而一起移动。磁盘片的表面被逻辑地划分成圆形磁道,磁道再进一步划分为扇区。位于同一磁臂位置的磁道集合形成了柱面。每个磁盘驱动器有数千个同心柱面,每个磁道可能包括数百个扇区。

磁盘一些要关注的属性:

  • 传输速率: 是在驱动器和计算机之间的数据传输速率。典型的磁盘能以每秒数兆字节的速率传输。
  • 定位时间(随机访问时间,random access time):寻道时间旋转等待时间组成。
  • 寻道时间: 移动磁臂到所要的柱面所需时间。
  • 旋转等待时间: 等待所要的扇区旋转到磁臂下所需要的时间。
  • 磁盘带宽: 是所传递的总的字节数除以从服务请求开始到最后传递结束时的总时间。

磁头碰撞: 磁头与磁盘表面接触导致的磁盘表面损坏。

软盘: 软盘是较为便宜的可移动磁盘,它有一个软塑料盒以保存柔软的磁盘片。容量通常为1.44MB。

主机控制器与磁盘控制器: 为了执行磁盘I/O操作,计算机通常通过内存映射端口,在主机款控制器上发送一个命令。主机控制器接着通过消息将该命令传送给磁盘控制器,磁盘控制器操纵磁盘驱动驱动器硬件以执行命令。

2. 磁带

磁带曾经是早期次级介质存储。虽然它存储数据相对长久,且能存储大量数据,但是与内存和磁盘相比其访问速度太慢。磁带现在主要用于备份,存储不常使用的信息,作为系统之间信息传输的介质。

二、磁盘结构

现代磁盘驱动器可以看做一个一维的逻辑块的数组,逻辑块是最小的传输单位。一维逻辑块数组按顺序映射到磁盘的扇区,理论上能将逻辑块号转换为磁盘内的柱面号磁道号扇区号(这里注意柱面,磁道,扇区是层层递进关系,就像11号楼第10层20号房间一样)。

实际上,执行这种转换并不容易,主要有以下两个原因:

  • 绝大多数磁盘都有一些缺陷扇区,映射必须要用磁盘上的其他空闲扇区替代。
  • 磁盘是圆的,磁道离中心越远长度越长。
  • 第二条的解决方法:增加驱动器速度以保持磁头续写的数据速率恒定或更改扇区密度,保持磁盘转动速度不变。

三、磁盘附属

主机如何访问磁盘

  • 主机附属存储: 主机附属存储是通过本地I/O端口访问的存储。典型的台式计算机使用I/O总线结构。
  • 网络附属存储(network-attached storage,NAS): NAS设备是数据网络中远程访问的专用存储系统。客户通过远程进程调用来访问NAS。
  • 存储区域网络(storage area network, SAN): SAN是采用存储协议而不是网络协议的服务器与存储单元之间的私有网络 。

网络附属存储结构:
在这里插入图片描述
存储域网络:
在这里插入图片描述

四、磁盘调度

磁盘调度即对于一个I/O操作序列,如何调度才能尽可能的减少寻道时间

以下的算法实例都使用该示例

  • **请求顺序: ** 98,183,37,122,14,124,65,67
  • 开始位置: 53
  • 移动方向: 朝0方向移动
1. FCFS调度(First Come First Served)
  • 算法原理: 老朋友了,先来先处理。
  • 优点: 实现简单,易于理解,较为公平
  • 缺点: 通常不是最快的算法。磁臂摆动幅度大,导致平均寻道距离大,效率低。

图例:
在这里插入图片描述

共移动柱面: 640

2. SSTF调度(shortest-seek-time-first)
  • 算法原理: 每次都选择处理距离当前磁头位置最近的待处理请求
  • 优点: 大大提高了性能,但不是最优的。
  • 缺点: 因为新请求可能随时抵达,可能导致饥饿。

图例:
在这里插入图片描述

共移动柱面: 236

3. SCAN调度
  • 算法原理: 又称电梯调度算法。磁臂从磁盘的一端向另一端移动,磁头经过每个柱面时处理位于该柱面上的请求。到达另一端时改变移动方向继续处理。
  • 优点: 避免了饥饿现象。性能较好。
  • 缺点: 当磁头到达一端折返往回移动时,在该端等待服务的请求可能很少,因为该区域的请求刚刚被访问过。而另一端请求可能很密集,等待的时间较长。

图例:
在这里插入图片描述
共移动柱面: 236

4. C-SCAN调度
  • 算法原理: SCAN算法的变种。与SCAN算法的不同是当到达另一端时,会立即返回磁盘扫描开始处,返回时并不处理请求。
  • 优点: 与SCAN相比更公平,提供了更为均匀的等待时间。
  • 缺点: 移动的柱面较SCAN稍多

图例:
在这里插入图片描述
**共移动柱面: ** 382

5. LOOK调度
  • 算法原理: 是SCAN的变种,区别是磁头不在整个磁盘宽度内移动,而是只移动到一个方向上的最远请求为止。
  • 优点: 与SCAN相比提高了效率。

图例:
在这里插入图片描述
共移动柱面: 208

6. C-LOOK调度
  • 算法原理: 是C-SCAN的变种,区别是磁头不在整个磁盘宽度内移动,而是只移动到一个方向上的最远请求为止。
  • 优点: 与C-SCAN相比提高了效率。

图例:
在这里插入图片描述
共移动柱面: 322

6. 磁盘调度算法的选择
  • 磁盘服务请求很大程度上受文件分配方法的影响。
  • 目录和索引块的位置也很重要。
  • SSTF与LOOK是比较合理的默认算法。

五、磁盘管理

1. 磁盘格式化
  • 一个新的磁盘是一个空白板:他只是一些含有磁性记录的盘子。
  • 低级格式化: 分成扇区以便磁盘控制器能读和写(一般在工厂进行)。
  • 将磁盘分成由一个或多个柱面组成的扇区。
  • 逻辑格式化(创建文件系统): 将初始的文件系统数据结构存储在磁盘上。这些数据结构包括空闲和已分配的空间和一个初始为空的目录。
2. 引导块

为了让计算机开始运行,需要运行一个初始化程序。它初始化系统的各个方面,从CPU寄存器到设备控制器和内存,接着启动操作系统。为此,初始化程序应找到磁盘上的操作系统内核,装入内存,并转到起始地址,从而开始操作系统的执行。

自举程序(bootstrap): 一般在ROM中。

3. 坏块

坏块: 坏掉不能用的磁盘块。

处理方式:

  • 对于简单磁盘,可以手工处理坏扇区,扫描磁盘以查找坏扇区。如果找到坏扇区,就在相应的FAT条目中写上特殊值以通知分配程序不要使用该块。
  • 对于更复杂的磁盘,其控制器维护一个磁盘坏块链表。操作系统看不到这些块。控制器可以用备用块来逻辑地替代坏块。这种方案程序称作扇区备用转寄

六、交换空间管理

1. 交换空间的使用
  • 不同操作系统根据实现的内存管理算法,可按不同的方式来使用交换空间。
  • 对交换空间数量的高估要比低估安全。这是因为如果系统使用完了交换空间,那么可能会中断进程或使整个系统死机。
2. 交换空间位置
  • 可以在普通文件系统上加以创建。
  • 在一个独立的磁盘分区内进行。

七、RAID结构(RAID,磁盘冗余阵列技术)

基本原理: 通过冗余改善可靠性,通过并行处理改善性能。

通过冗余改善可靠性: 存储额外信息,在磁盘出错的时候可以用来重新修补损坏信息。引入冗余最简单的方法就是复制每个磁盘,这种技术称为镜像,但价格较为昂贵。

位级分散: 在过个磁盘上分散每个字节的各个位。如8个磁盘,每个磁盘存储一位,就会有8倍的传输率,因为每个磁盘每秒能处理的访问数不变,但每次访问都能在同样时间读到单个磁盘系统8倍的数据。

块级分散: 在块级上进行的分散。一个文件的块可以分散在多个磁盘上,读块只访问一个磁盘,可允许多个读访问并行处理,对于大量的读操作传输速度较高;大量写传输速度也高,因为数据和奇偶可以并行写。小于块大小的数据独立写不能并行进行。

1. RAID级别

在这里插入图片描述

P为差错纠正位,C为数据的第二副本。

在这里插入图片描述
6. RAID 5 块交织分布奇偶结构
在这里插入图片描述

  1. RAID 0+1: 指RAID级别0和RAID级别1的组合。RAID 0提供了性能,而RAID 1提供了可靠性。通常,它比RAID 5有更好的性能和更昂贵的价格。
  2. RAID 1+0: 也是RAID级别0和RAID级别1的组合。不过是先镜像,再分散。与RAID 0+1相比,它如果单个磁盘不可用,但其镜像仍如其他磁盘一样可用。但RAID 0+1如果单个磁盘不可用,那么整个条就不可访问。

在这里插入图片描述

2. RAID级别的选择
  • RAID 0: 适用于性能要求高但可靠性要求不高的应用。
  • RAID 1: 适用于可靠性要求高和快速恢复的应用。
  • RAID 0+1和1+0: 适用于性能和可靠性要求都高的应用。
  • RAID 5: 用于存储量大的数据。
  • RAID 6: 较少有支持,但比RAID 5更可靠。
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值