1
第九章磁盘管理
磁盘调度算法
文件分配
磁盘空间的管理
RAID
操
作
系
统
|
磁
盘
管
理
2
CUIT 徐虹
9.1磁盘I/O
?磁盘性能简述
?数据的组织:盘、磁道、柱面和扇区。
?磁盘的类型:固定磁头和移动磁头。
?磁盘访问时间
?寻道时间
?旋转延迟时间
?传输时间
操
作
系
统
|
磁
盘
管
理
3
CUIT 徐虹
操
作
系
统
|
磁
盘
管
理
4
CUIT 徐虹
?磁盘调度算法
?目标:平均寻道时间最短。
操
作
系
统
|
磁
盘
管
理
5
CUIT 徐虹
?先来先服务FCFS(First—Come
First—Served)
?原理:根据进程请求访问磁盘的先后次
序进行调度。
?特点:公平、简单。平均寻道时间长。
操
作
系
统
|
磁
盘
管
理
6
CUIT 徐虹
2
操
作
系
统
|
磁
盘
管
理
7
CUIT 徐虹
?最短寻道时间优先SSTF(Shortest Seek
Time First)
?原理:选择有距当前磁头所在磁道最近的访问
磁道的进程。
?特点:寻道时间最短,但导致某些进程发生“饥
饿”现象。
操
作
系
统
|
磁
盘
管
理
8
CUIT 徐虹
操
作
系
统
|
磁
盘
管
理
9
CUIT 徐虹
?扫描算法(SCAN)
?原理:选择与当前磁头移动方向一致且距离最
近的进程。
?特点:寻道性能较好,避免了进程“饥饿”现象。
操
作
系
统
|
磁
盘
管
理
10
CUIT 徐虹
操
作
系
统
|
磁
盘
管
理
11
CUIT 徐虹
?循环扫描算法(CSCAN)
?规定磁头单向移动。
操
作
系
统
|
磁
盘
管
理
12
CUIT 徐虹
3
操
作
系
统
|
磁
盘
管
理
13
CUIT 徐虹
?N-Step-SCAN算法
?“磁臂粘着”现象:磁臂停留在某处不动。
?将磁盘请求队列分成若干个长度为N的
子队列,磁盘调度将按FCFS算法依次
处理这些子队列。而每个队列的处理是
按SCAN算法,一个处理完毕再处理下
一个队列。
?FSCAN算法
?N-Step-SCAN算法的简化,只分为两个
队列。
?当前请求I/O的进程队列:SCAN算法
?扫描期间请求的进程队列:FCFS
操
作
系
统
|
磁
盘
管
理
14
CUIT 徐虹
操
作
系
统
|
磁
盘
管
理
15
CUIT 徐虹
9.2外存分配方法
?连续分配(顺序文件)
?分配与回收
?分配:把一个逻辑上连续的文件信息依
次存放在物理块中。
?回收:碎片整理问题。
?特点
?优点:能很快进行存取。
?缺点:不便于记录的增,删操作,不能
动态增长,存在碎片问题。
操
作
系
统
|
磁
盘
管
理
16
CUIT 徐虹
操
作
系
统
|
磁
盘
管
理
17
CUIT 徐虹
操
作
系
统
|
磁
盘
管
理
18
CUIT 徐虹
?链接分配(串联文件)
?隐式链接
?在文件的目录中记录该文件的第一和最
后一个盘块的指针,每个块中的指针指
向文件的下一物理块号。
?优点:文件可动态增长,不需指明文件
长度,便于增删记录,节约空间。
?缺点:只适合顺序存取,不宜于直接存
取,查找效率低。由于设置链接字而破
坏了物理信息的完整。
?改进:将几个盘块组成簇(cluster),
以簇为单位分配。
4
操
作
系
统
|
磁
盘
管
理
19
CUIT 徐虹
?显示链接
?将链接文件各物理块的指针显示地放
在内存的一张链接表中。在FCB的物理
地址中填写其首指针所对应的盘块号。
?FAT(File Allocation Table):文件
分配表,整个磁盘设置一张,放在内存
中。
?缺点:不能直接存取;FAT占较大内
存空间。
操
作
系
统
|
磁
盘
管
理
20
CUIT 徐虹
操
作
系
统
|
磁
盘
管
理
21
CUIT 徐虹
?索引文件
?要求为每一文件建立一张索引表。每
个表目指出文件逻辑记录所在的物理
块号。
?特点:方便地进行随机存取;增加了
索引表的空间开销,增加一次访问操
作。
?串联文件方式组织
?多重索引方式组织
操
作
系
统
|
磁
盘
管
理
22
CUIT 徐虹
操
作
系
统
|
磁
盘
管
理
23
CUIT 徐虹
操
作
系
统
|
磁
盘
管
理
24
CUIT 徐虹
?综合组织方式
?把索引表的头几项设计为直接寻址方式,
存放物理块号,后几项设计成多重索引。
综合组织方式适用于顺序存取和随机存取。
?直接地址:iaddr(0) — iaddr(9)
?一次间接地址:iaddr(10)
?二次间接地址:iaddr(11)
?三次间接地址:iaddr(12)
5
操
作
系
统
|
磁
盘
管
理
25
CUIT 徐虹
操
作
系
统
|
磁
盘
管
理
26
CUIT 徐虹
操
作
系
统
|
磁
盘
管
理
27
CUIT 徐虹
9.3 文件存储空间管理
?系统应能自动地为用户分配存储
空间,管理系统和用户的存储空
间,实现按名存取。
?文件存储空间的管理包括空闲块
的组织分配和回收。
操
作
系
统
|
磁
盘
管
理
28
CUIT 徐虹
?空闲表
?空闲表
?把一个连续未分配区域称为“空闲文件”,
系统为所有“空闲文件”单独建立一个目
录。
?表目内容:序号,第一个空白块号,空
白块个数。
?空间分配和回收
操
作
系
统
|
磁
盘
管
理
29
CUIT 徐虹
?位示图
?为文件存储器存储空间建立一张位示
图,用以反映整个空间的分配情况。
?简单,速度快,占一定的空间。
?盘块号与位示图行列的转换:
操
作
系
统
|
磁
盘
管
理
30
CUIT 徐虹
?空闲块链
?空闲盘块链
?分配和释放顺序:从头分配,从尾回收。
?空闲盘区链
?分配:首次适应算法
?回收:拼接问题
6
操
作
系
统
|
磁
盘
管
理
31
CUIT 徐虹
?成组链接法
?实现方法
对所有的空白块从尾倒着向前分组,第一
组99 块,随后每组100 块,每组的块数及相
应块号记录在前一组的第一块中。最后一组
(不足100 块)的数据登记在空闲盘块栈
(卷资源表)中。第二组的0 号单元的值仍
为100 ,1 号单元值为0 (文卷卷尾标志),
表示无空闲块可分配。
操
作
系
统
|
磁
盘
管
理
32
CUIT 徐虹
?分配和释放
?系统工作后,把磁盘文件卷的卷资源复制
到内存指定区域。资源表中登记空闲块号
的区域是一种栈结构。其中,记载总块数
作为该空白块栈的指针ptr。
?分配时,ptr-1,然后取出对应项作为这次
申请得到的物理块。如此下去,直到栈底。
当ptr=0 时,续入下一组的块号及总数,并
把该块分配出去。当ptr=0,且相应此表目
中的值为0 时,表示遇到卷尾标志。
?当回收时,先登记块号,然后ptr +1,当
填满一组后,再回收一块时,把前一组的
内容记入该块内,ptr=0,并把这一块的块
号记入相应表目中。
操
作
系
统
|
磁
盘
管
理
33
CUIT 徐虹
?特点
?空白块号的登记不占用额外空间。
?绝大部分分配和释放工作都在主存进
行。
?把总块数作为空白块栈的指针使用,
是理想的存储结构。效率高。
操
作
系
统
|
磁
盘
管
理
34
CUIT 徐虹
9.4 磁盘容错技术
磁盘容错技术SFT
(System Fault Tolerance):
通过增加冗余的磁盘驱动器、磁
盘控制器等,来提高磁盘系统的
可靠性。
操
作
系
统
|
磁
盘
管
理
35
CUIT 徐虹
?第一级容错技术SFT-1
?用于防止磁盘表面发生缺陷所引
起的数据丢失。
?双份目录和双份分配表
?主目录和主分配表
?备份目录和备份分配表
?热修复重定向和写后读校验
?热修复重定向(Hot-Fix
Redirection)
?写后读校验(Read after Write
Verification)
操
作
系
统
|
磁
盘
管
理
36
CUIT 徐虹
?第二级容错技术SFT-2
?磁盘镜像(Disk Mirroring)
?磁盘双工(Disk Dupluxing
7
操
作
系
统
|
磁
盘
管
理
37
CUIT 徐虹
?独立磁盘冗余阵列RAID
(Redundant Array of
Independent Disks)
?利用一台磁盘阵列控制器统一管
理和控制一组(几台到几十台)磁
盘驱动器,组成一个高度可靠的、
快速的大容量磁盘系统。
?并行交叉存取
操
作
系
统
|
磁
盘
管
理
38
CUIT 徐虹
?RAID的分级
?RAID 0级:仅提供并行交叉存取。
操
作
系
统
|
磁
盘
管
理
39
CUIT 徐虹
操
作
系
统
|
磁
盘
管
理
40
CUIT 徐虹
?RAID 1级:具有磁盘镜像功能,利用并行特
性将数据块同时写入主盘和镜像盘。
操
作
系
统
|
磁
盘
管
理
41
CUIT 徐虹
?RAID 2级:并行访问;strip只有一个
字或字节;用Hamming码校验。
操
作
系
统
|
磁
盘
管
理
42
CUIT 徐虹
RAID 3级:具有并行传输功能的磁盘阵列。
strip只有一个字或字节;用奇偶校验。
8
操
作
系
统
|
磁
盘
管
理
43
CUIT 徐虹
RAID 4级:独立访问,strip较大,以strip
为单位进行奇偶校验。
操
作
系
统
|
磁
盘
管
理
44
CUIT 徐虹
RAID 5级:具有独立传送功能的磁盘阵列。
奇偶校验分布在不同的磁盘上。
操
作
系
统
|
磁
盘
管
理
45
CUIT 徐虹
?RAID 6级:两种不同的奇偶校验计算,
在不同的磁盘的不同块中。
操
作
系
统
|
磁
盘
管
理
46
CUIT 徐虹
?RAID 的优点
?可靠性高
?磁盘I/O速度快
?性能/价格比高
操
作
系
统
|
磁
盘
管
理
47
CUIT 徐虹
?后备系统
?类型
?复制方法
?周期性的全量转存
?增量转存
?以上两种方式配合使用。
操
作
系
统
|
磁
盘
管
理
48
CUIT 徐虹
?文件系统的恢复过程
?从最近一次全量转存中装入全部系
统文件,使系统得以重新起动,并在
其控制下进行后续的恢复工作。
?从近到远从增量转存盘上恢复文件。
?从最近一次全量转存盘中,恢复没
恢复过的文件。
9
操
作
系
统
|
磁
盘
管
理
49
CUIT 徐虹
9. 6 文件系统性能的改善
?文件访问速度
?数据的共享性
?文件系统使用的方便性
?数据的安全性
?数据一致性
操
作
系
统
|
磁
盘
管
理
50
CUIT 徐虹
?磁盘高速缓存
?形式
?独立的磁盘缓冲
?缓冲池
?数据交付
?置换算法
?周期性写回磁盘
操
作
系
统
|
磁
盘
管
理
51
CUIT 徐虹
?优化数据的分布
?优化物理块的分布
?优化索引结点的分布
?其它方法
?提前读
?延迟写
?虚拟盘