目录
1、文件
概念:
UNIX文件分类:
2、文件系统
3、文件的访问方式
顺序访问
随机访问
4、文件的组织
逻辑组织
物理组织
5、倒排结构(了解)
5、文件目录
文件控制块(FCB)
编辑
目录项
单级目录
二级目录
多级目录
6、文件目录的改进
7、文件存储空间的管理
空闲块表
空闲块链
位图
8、内存所需表目
1、文件
概念:
具有符号名而且在逻辑上具有完整意义的信息项的序列。
UNIX文件分类:
1、普通文件
内容可以是程序、数据、图象等,保存在磁盘块中
2、目录文件
(文件名,文件号)序列,保存在磁盘块中
3、特殊文件
设备
2、文件系统
文件与管理信息资源的程序集合
3、文件的访问方式
顺序访问
分类:
1、从文件头开始顺序访问
2、从文件中间某处开始顺序访问
随机访问
分类:
1、按记录编号随机访问,相当于数组访问索引。
2、按关键字(key)随机访问,相当于Map通过键访问键值。
4、文件的组织
逻辑组织
定义:用户看到的文件组织形式
分类:
流式文件:字节的序列(UNIX, Windows, etc),文件的基本单位是字节。
记录式文件:
等长记录(优点:处理方便,速度快;缺点:空间浪费)
不等长记录(优点:省空间;缺点:处理不便,速度慢)
文件的基本单位是记录。
一条记录可能包含多个域,域指的是信息的一个特定类别或字段。
例如:一条员工记录可能包含姓名、职位、部门、入职日期等域。
当记录的域只有一个,且域的类型为字符型,则记录式文件便退化为流式文件。
流式文件是记录式文件的特例。
物理组织
定义:逻辑组织(文件)到磁盘块的映射
1、顺序结构
定义:一个文件占有若干连续的磁盘块。
2、链接结构:
定义:一文件可存于不连续块中,块间以指针相连。
3、索引结构
定义:一文件可存于不连续块中,块号记在索引块中。
4、散列结构(重点):
杂凑结构,适用于定长记录和按键随机查找的访问方式。一个文件由若干个记录构成,一个记录由若干个域。散列结构是通过给键key计算哈希值,从而计算出记录在磁盘中或文件中的存储位置。
hash(key)=addr (记录在磁盘或文件中的存放位置)
对于哈希函数的冲突碰撞问题,采用顺序探查法,如发生冲突,则从冲突位置开始顺序探查第一个空闲的存储位置。
要给记录增加两个域,一个是冲突计数,一个是空闲标记。冲突计数主要是记录与当前地址发生冲突的个数,也就是说记录位置=addr+冲突计数往回找。而空闲标志是来标志当前记录空间是否被占用。以下是查找过程
5、倒排结构(了解)
定义:以键值和记录地址构成的索引结构称为倒排结构。以键值和记录地址构成的索引结构称为倒排结构。倒排结构以多个键和多个索引作为特征的。
优点:速度快
缺点:索引会带来较大的系统开销。
5、文件目录
文件控制块(FCB)
定义:文件存在的标志,其中保存系统管理文件需要的全部信息。每个文件都有一个文件控制块。
目录项
定义:目录文件中的一项,内容为FCB。
单级目录
定义:一个系统只有一个目录。
二级目录
定义:每个用户都有一个自己的专有目录。
多级目录
定义:从根节点出发的目录系统
6、文件目录的改进
FCB次部(文件名,文件号)保存在目录文件(内存)中。
FCB主部(其他,标识该主部与多少次部相对应的链接记数)保存在外存inode区域。
提示:当链接计数为0时,表示空闲未用的FCB主部。
7、文件存储空间的管理
引入:用于保存文件的外存空间是被划分为块的,需要对外存块进行管理。
空闲块表
定义:所有空闲块记录同一个表中,表中包括两栏目:首空闲块号和空闲块数。
空闲块链
定义:所有空闲块连成一条链。
位图
定义:使用1bit表示外存储器中一块的状态,1表示占用,0表示释放。位图需要永久保存在外存空间中。
8、内存所需表目
用户打开文件表:用于记录进程所打开的文件,其长度决定该进程可以同时开多少个文件,每个进程一个。
系统打开文件表: 存放在内存中,用来保存已打开文件的文件控制块,其长度决定整个系统可以同时开多少个文件,整个系统一个。