操作系统的文件管理

文件的逻辑结构

◆ 逻辑结构的文件类型
文件可以分为有结构文件和无结构文件
有结构文件:文本文件,文档,媒体文件。
无结构文件:二进制文件,链接库
有结构文件
1>内容由定长记录和可变长记录组成
2>定长记录存储文件格式,文件描述等结构化数据项。
3>可变长记录存储文件具体内容
无结构文件
1>也称为流式文件
2>文件内容长度以字节为单位,如exe,dll,so文件
◆ 顺序文件
顺序文件指的是按顺序存放在存储介质中的文件。
如磁带的特性使得磁带文件只能存储顺序文件。
顺序文件是所有逻辑文件当中存储效率最高的。
◆ 索引文件
可变长文件不适合使用顺序文件格式存储,索引文件是为了解决可变长文件存储而发明的一种文件格式。
索引文件需要配合索引表完成存储的操作。
索引表

 

 key-->value结构,value是实际存储的内容。

辅存的存储空间分配

◆ 辅存的分配方式
主要分三种分配方式:连续分配,链接分配,索引分配
链接分配又分为隐式和显式。
 
1>连续分配
 

 

 如图所示123456这些连续的扇区分配给文件去存储。

优势:顺序读取文件内容非常容易,速度很快

劣势:但是对存储的要求高,要求满足容量的连续存储空间

 

2>链接分配

 链接分配可以将文件存储在离散的盘块中,但是需要额外的存储空间存储文件的盘块链接顺序。

 

如果是隐式分配,那么当前盘块会单独存储指向下一个盘块的链接。

非常适合顺序访问,随机访问效率很低。同时可靠性很差,某一个链接出问题,影响整个文件存储。

如果是显式分配

会单独使用一个显式分配用到的表(file allocation table)即FAT,存储物理盘块和下一盘块。

 

不支持高效的随机存储(FAT记录项比较多)

检索时FAT表占用较大的存储空间(需要将整个FAT表加载到内存)

3>索引分配

把文件的所有盘块集中存储(索引), 读取某个文件时,将文件索引读取进内存即可。

 

 如图所示,12是文件的索引,这里面存储了文件所使用到的盘块。

每个文件拥有一个索引块,记录所有盘块信息
索引分配方式支持直接访问盘块
文件较大时,索引分配方式具有明显优势
 
存储空间管理
空闲表,空闲链表,位示图
空闲表

 

( 以空间大小作为标准)

◆ 空闲盘区的分配与内存分配类似
◆ 首次适应算法、循环适应算法等
◆ 回收过程也与内存回收类似
 
空闲链表
◆ 空闲链表法把所有空闲盘区组成一个空闲链表
◆ 每个链表节点存储空闲盘块和空闲的数目
 
位示图

 

 

◆ 位示图维护成本很低
◆ 位示图可以非常容易找到空闲盘块
◆ 位示图使用0/1比特位,占用空间很小
 
目录管理
目录通过目录树管理,使得任何文件或目录都只有唯一路径。
 
posted @ 2022-05-06 20:58  wangao96  阅读(106)  评论(0编辑  收藏  举报