1.磁盘管理任务
- 有效利用存储空间
- 提高磁盘IO速度
- 提高磁盘系统的可靠性
2.外存组织方式
2.1 连续组织方式
- 又称连续分配方式;
- 为每一个文件分配一组相邻盘块,逻辑文件中的记录顺序与所占的物理盘块顺序一致;
- 形成的物理文件称为顺序文件;
- 在目录项中“文件物理地址”字段中,记录该文件第一个记录盘块号与文件长度
连续组织特点:
- 顺序访问容易
- 顺序访问速度快
- 较多外部碎片
- 必事先知道文件长度
- 不可灵活增删记录
- 动态增长的文件不宜分配
2.2链接组织方式
- 将盘块尾部设链接指针,将文件所用的盘块链接起来
- 形成的物理文件称为链接文件
- 隐式链接:
目录项中含第一个和最后一个盘块的指针,盘块中含链接指针指向下一个盘块
最后一个盘块的指针为-1;
1)不利于随机访问
2)易于出现断链的情况
3)可以以盘块簇为单位进行链接分配,但效率提高有限,存在较多内部碎片 - 显式链接:
将链接文件各物理块的指针显式地存放在内存的一张链接表中,整个磁盘只设一张
表项序号为物理盘块号,内容为下一盘块的盘块号。
此表称为FAT文件分配表
1)链首的盘块号作为文件地址填入相应文件的FCB的物理地址字段中
2)FAT一般在运行时放于内存中
2.3 FAT技术
2.3.1 卷
- FAT支持一个物理磁盘分为多个逻辑磁盘,一个逻辑磁盘为一个卷
- 卷又称分区
- 在现代OS中,一盘多卷 / 一卷多盘均支持
2.3.2 FAT12
2.3.2.1 早期FAT12
- 以盘块为基本分配单元
- 每个分区配有两张一样的FAT,作为备份
2.3.2.2 以簇为单位的FAT12
- 以 簇 为外存分配单位
- 扩大了支持的磁盘容量
- 减少了FAT表的存取开销
- 更大的簇内碎片
- 只支持短文件
2.3.3 FAT32
FAT系列文件系统的最后一个产品
- 表项为32位
- 对不同分区容量,规定不同的簇大小
- 支持长文件名
- FAT32不支持小于512的分区
- FAT32单个文件不大于4GB
- 不向下兼容
2.4 NTFS新技术文件系统
2.4.1 NTFS
- 64位磁盘地址
- 支持长文件名,文件名在255字符内,路劲在32767个字符内
- 具有系统容错
- 保证系统的数据一致性
- 有文件加密、文件压缩
2.4.2 磁盘组织
- 以簇为分配单位
- 根据卷的大小,选择相应的簇,卷上簇的大小称为“卷因子”,在磁盘格式化时确定。
- 簇分为 逻辑簇号、虚拟簇号
- 逻辑簇号:以卷为单位对簇编号
- 虚拟簇号:以文件为单位对簇编号
2.4.3 文件组织
- 以卷为单位,将卷中文件信息、目录信息、未分配空间以文件形式记录于主控文件表;
- 每个文件占据一条记录,其中包括MFT自己,每行固定为1KB;
- 每行称为对应文件的元数据或文件控制字;
- 每个元数据将文件的所有信息组织在一组属性中(包括文件内容)
- 文件较小时,属性均记录在元数据中;
- 文件较大时,则将大部分属性记录在卷的其他可用簇中,元数据记录各属性队列的指针
2.5 索引组织方式
2.5.1 单级索引
每个文件分配一个索引块,将所有盘块号记录在该索引块中;
- 在文件的目录项中填入指向索引块的指针
- 对大文件有容量限制不能存储,对小文件则浪费了索引块;
2.5.2 多级索引
大文件的索引块应有多块,对索引块建立一块索引块,形成多级索引;
- 多级索引加快了大文件的查找速度;
- 多级索引对小文件来说效率较低,要多次启动磁盘;
2.5.3 增量式索引
增量式索引融合直接寻址、单次间址、多次间址,兼顾大、中、小型文件;
- 直接寻址:文件盘块的地址直接置于FCB(or索引节点)中,直接获得盘块地址;
- 单次间址:建立单级索引,从索引块中找到盘块地址;
- 多次间址:多级索引;
2.5.3.1 UNIX System V
索引结点设有13个地址项,分别为
- 直接地址10个,存储直接盘块号
- 一次间接地址1个
- 二次间接地址1个
- 三次间接地址1个
经此结构,文件最大长度可达到4T