第十一章 磁盘管理
磁盘结构
- 描述磁盘地址的参数
• 柱面cylinder
• 磁道track
• 扇区sector - 逻辑块logic block
• 最小传输单位
• 对应扇区
- 磁盘访问时间
- 数据传输时间Tt
- 设传输的字节总数Total,磁盘转速为r转/分,一转(每个磁道)的字节数b,则Tt=Total/rb
- 平均旋转延迟时间Tr
- 磁盘使所需要读取的扇区位于磁头下方,旋转一圈所需要的时间为60/r
- 平均旋转延迟时间为磁盘旋转半圈的时间: Tr =30/r
- 寻道时间Ts
- 移动磁臂到预期读取的柱面(磁道)所需要的时间。
- 假设移动一个柱面(磁道)所需时间为t,需要移动n个磁道,则Ts=nt
- 磁盘调度算法的基本思想、执行过程:
- 先来先服务FCFS
选择等待队列中最先到达的访问请求,作
为下一次的访问对象 - 最短寻道时间优先SSTF
选择等待队列中离当前磁道最近的访问请求,作为下一次的访问对象SJF调度思想的扩展 - 扫描算法SCAN
磁臂从磁盘的一端向另一端移动,同时当磁头移过每个柱面时,处理位于该柱面上的服务请求;当达到另一端时,磁头改变移动方向,继续处SCAN算法也称为电梯算法(elevator algorithm) - C-SCAN
将磁头从磁盘一端移到磁盘的另一端,随着移动不断地处理请求,移动到另一端时马上返回到磁盘开始,返回时不处理请求SCAN算法的变种 - C-LOOK调度
将SCAN和C-SCAN算法中的磁头之一动到该方向上的最远的请求为止就马上掉头,就分别产生了LOOK和C-LOOK算法 - N步扫描N-SCAN
- FSCAN
将磁盘请求队列分为2个子队列,其中一个为当前所有请求构成的队列,另一个为扫描期间新到达的请求构成的队列,并按N步扫描处理
外存空间分配方法的基本思想
- 连续分配
连续文件又称为顺序文件,它是把逻辑文件中的信息顺序地存放到一组相邻接的磁盘块中而形成的物理文件 - 链接分配
一个逻辑上连续的文件分散存放在多个不连续的磁盘块中,再使用链接指针将这多个离散的磁盘块链接起来,这样形成的物理文件称为链接文件 - 索引分配
索引表:系统为每个文件建立一张索引表,每个逻辑块占一个表项,以逻辑块号为序,表项内容为该逻辑块所对应的磁盘块号
- 索引块:存放索引表的盘块
- 索引文件:由数据文件和索引表构成
空闲空间管理方法的基本思想
- 空闲表法——空白文件目录
• 管理:系统为每一个空白文件(一个连续未分配的区域)建立一个目录,每个空闲区有一个表目
• 数据结构:第一个空白块地址,空白块数
• 分配:系统依次扫描空白文件目录,找到一个合适的空白文件分配
• 回收:动态修改空白文件表(合并)
• 特点
• 适用于建立顺序文件
• 当有大量小的空白文件时,效率降低 - 空闲块链
• 管理:将所有空闲块链接在一起,组成队列
• 数据结构:链表
• 分配:从链首依次摘取1块或n块
• 回收:回收块入链尾
• 特点:
• 操作简单
• 当链较长时,效率较低
• 改进:空闲盘区链 - 位示图法
• 空闲空间表实现为位图(bit map)或位向量(bit vector)
• 管理:系统专设几个字,字中每一位对应一个磁盘块
• 数据结构:字
• 位——1:表示空闲
• 位——0:表示已分配
• 假设磁盘块,其块2、3、4、5、8、9、10、11、12、13、17、18、25、26、27空闲,则空闲空间位图为:001111001111110001100000011100000…
• 分配:找到1所指示的空闲块进行分配
• 特点
• 位示图尺寸固定
• 可常驻内存,分配回收快 - 成组链接法
• 管理:设置空闲盘块号栈,存放当前可用的一组空闲盘块的盘块号(最多存放100个号),以及堆栈中尚有的空闲块数
• 数据结构:堆栈
• 说明
• 栈属于临界资源,应互斥使用
• S.free(0)是栈底
• 栈满时,栈顶为S.free(99)
磁盘可靠性
- 容错技术
通过增加冗余的磁盘驱动器、磁盘控制器等方法来提高磁盘系统可靠性的一种技术 - 廉价冗余磁盘阵列RAID
廉价磁盘冗余阵列(Redundant Array of Inexpensive Disk,RAID)是利用一台磁盘阵列控制器来统一管理和控制一组磁盘驱动器,组成一个大型磁盘系统 - 后备方法
- 三种类型:磁带机、硬盘、光盘驱动器
- 两种后备方法:全量转储、增量转储