现代操作系统笔记——第四章文件系统
第四章文件系统(找不到重点……)
文件:进程创建的信息逻辑单元。存储在文件里的信息必须持久。
文件系统:操作系统中处理文件的部分
文件存储信息的基本要求
文件系统结构
- 字节序列
为操作系统提供最大灵活性
- 固定长度记录序列
- 记录树
可用快速查找
文件访问
- 顺序访问
- 随机访问
文件属性
名称、类型、位置、大小、保护、时间……
文件操作
Create,Write,Open,Read,Delete,append……
目录
目录是一个包含若干文件属性信息的节点集合。
组织目录的目标:高效、命名、分组
层次(树形)目录的优点:高效搜索,分组能力
如何保证无环
- 只允许连接到文件
- 垃圾收集
- 建立新连接时进行循环检测
文件的实现
- 连续分配
优点:实现简单,读操作性能好。
缺点:磁盘变得零碎,存在空洞,要么要锁磁盘,要么维护空洞列表,后者在新建文件时可能会填满空洞,出现问题。
- 链表分配
优点:不会因为磁盘碎片浪费空间
缺点:随机访问相当缓慢
- 索引分配
- i节点
文件打开时i节点才在内存中,大小正比于打开文件的数目,而与磁盘大小无关。最后一个磁盘地址不指向数据块而是指向包含额外磁盘块地址的块的地址。
目录的实现
- 文件属性放在目录项中
- 文件属性放在i节点
LFS日志结构文件系统
磁盘空间管理
块大小太小,会使大多数文件跨越多个块,读文件变得很慢,太大会造成空间浪费。
记录空闲块
- 磁盘块链表
- 位图