文件系统基础
文件标识符:用户不可见。操作系统内部名称。



流式文件(无结构)
有结构文件,又称为 记录式文件。


定长记录、变长记录。

1.顺序文件。

链式存储无法实现 随机存取。

2.索引文件, 为变长记录建立索引表。

3.索引顺序文件。
一组记录建立一个索引表项。

检录多级索引



文件目录

目录是一种特殊的文件,文件控制块 FCB

文件名不存在文件本身,只是在 FCB 控制块中


设置当前目录,使用相对路径

无环图目录结构,在这种结构向,不同用户拥有不同的 目录表, 两个目录表指向同一文件可能 是 不同的 文件名。但删除就会比较复杂,主要设置 共享计数器, 为0时才删除。

FCB 的改进 索引改进。
文件目录表 只存放 文件名和索引地址,这样方便按照文件名瘦身 查找,索引项记录了 该文件的其他更多的详细信息。


软件共享
- 基于索引结点的共享方式
让不同用户的目录项 指向同一个索引结点。

- 基于符号的软连接方式
软连接也会建立一个新文件,只不过包含新地址的路径。


文件保护
1.口令保护

-
加密保护

-
访问控制

在FCB 中增加一个访问控制表


文件系统的实现
操作系统对内存的管理。磁盘分块 和内存分块 一般一样,比较方便 4K
逻辑块 转换为 物理块
-
连续分配


优点:访问速度快。
缺点:文件需要连续,扩展不方便。没有连续的空间。 且有碎片 。
- 链接分配 -- 隐式链接
链接分配是离散的分配方式。 起始块 -> 结束块

优点:方便扩展。
链接分配 -- 显式链接 (File Allocation Table) (FAT)

下一块的信息是统一被管理的。 开机时, FAT 被读入内存。 磁盘只有唯一的 FAT 表。
FAT 支持随机访问,因为 FAT 直接被读入内存,获取下一块地址时不需要再从磁盘读取。


索引分配
文件表-》索引节点 -》索引表 (按顺序查询)
可以随机访问。

如果索引表太大:
1.链接方案:
多个索引表链接起来, FCB 只记录第一个索引块。
缺点:如果文件很长,查找次数太多,IO 效率低下。

2.多层索引。
2 及索引 256x256x1 = 64k 访问 3 次 (k+1)次。

缺点:小文件不友善
- 混合索引
这种索引表 同时指向 数据块 和 第n级 索引表,

小文件比较合适。


文件存储空间管理

1.空闲表法:

2.空闲链:
空闲盘块 vs 空闲盘区


3.位示图法:
用二进制位表示。

- 成组链接法 unix
目录区有,超级块,启动时载入内存,并时刻保持一致。



文件系统的层次结构
