文件系统的层次结构
用户接口:给用户提供 read,write等程序接口
文件目录系统:管理各种目录,FCB,索引节点等
存取控制模块:权限检查
逻辑文件系统:将用户知名的打开文件表中的编号转为逻辑地址
物理文件系统:逻辑地址转物理地址
辅助分配模块:负责分配回收空间
设备管理模块:直接与硬件交互
磁盘的结构
磁道,扇区(磁盘块;每一块容量相同),一个磁片可能有两个盘面(正反面),柱面
(柱面号,盘面号,扇区号)可以确定一个磁盘块
扇区不是一个扇形,而是一段环,如图是8个扇区,而不是一个。但容量一样,所以密度不同
磁盘的分类
活动头磁盘,固定头磁盘。可换盘磁盘,固定盘磁盘
磁盘调度算法
一次读/写操作需要的时间
转速为r,转一圈时间为1/r,平均寻址需要转半圈1/2r
寻道时间可以优化
1、先来先服务算法FCFS
顺序访问。
优点:公平,如果请求访问的此道比较集中,性能还说得过去。
缺点:若访问磁道很分散,则效率低
2、最短寻址时间优先SSTF
优先访问当前离磁针近的
优点:性能好
缺点:如果不断有离磁针位置近的访问请求,则离磁针远的磁道一直等待---饥饿
3、扫描算法SCAN
为解决最短寻址饥饿的问题,规定只有磁头移动到最外侧磁道的时候才能往内移动,磁头移动到最内才能往外移动
优点:性能较好,不会饥饿
缺点:1.只有磁头移动到两边才能转向,实际上还没到最边上这个方向就没有要访问的了(如上图,184是高位最后一个,184-200的磁针折返运动浪费时间);2.各个信道的响应频率不平均(100位就每次相同时间,200位就连续访问、然后长时间不访问)
4、LOOK调度算法
解决扫描算法的第一个缺点
5、循环扫描算法C-SCAN
解决扫描算法的第二个缺点
优点:各个磁道响应时间平均
缺点:解决扫描算法的第一个缺点
6、C-LOOK算法
LOOK和C-SCAN的结合
减少延迟时间方法
假设要连续读取橙色区域的2、3、4扇区:磁头读取一个扇区的内容后,需要一小段时间处理,而盘片又在不停地旋转。因此,若2、3号扇区相邻着排列,则读完2号扇区后,在处理时间内磁头已经划过了部分3号扇区。因此要读3号的数据需要等磁盘再转一圈,3号扇区再次划过磁头,才能完成读入。
解决方法:交替编号
逻辑相邻的扇区物理存储有一定的间隔
磁盘物理地址顺序
机械臂运动速度慢,应尽量避免
错位命名
与前面交替编号的原因一样,磁针读完一扇的数据后需要时间处理
磁盘管理 (理解,会选择)
磁盘初始化:
第一步:低级格式化/物理初始化:划分扇区,(个扇区分为头、数据区域、尾三部分。头尾存放数据结构、校验码等信息)
第二部:磁盘分区(分CDE盘)
第三步:逻辑格式化:创建文件系统,
引导块/启动分区:
计算机开机需要执行一系列初始化程序(自举程序)。为了开机时能够实现执行程序,在ROM中存放一个“自举装入程序”,该程序可以找到存放自举程序的外存地址---引导块/启动分区(引导块位于磁盘的固定位置上),并将自举程序读入内存。拥有引导块的磁盘称为系统磁盘、启动磁盘(C盘)
坏块的管理:
坏块:无法正常存储的磁盘块,应设法避免存储时使用坏块
对于简单磁盘:坏块用指针链式连接,并用FAT标明坏块
对于复杂磁盘:会保留“备用扇区”,发现坏块时替换之