文件系统
文件分类
在操作系统看来都是比特流的二进制,以人能否看懂区分为:
- 二进制文件
- 文本文件
open 指令
- 需要文件路径和权限信息
文件怎么存储
- 连续分配
- 常见于光盘
- File-Allocation Table:FAT
- 适用于小文件
- 文件分配表
- 类链表结构,存储文件
- 可靠性差,FAT 表一般存 2 份
- 为了速度,FAT 会缓存在内存中
- Indexed Allocation:inode
- 索引表,自身也需要开销
- 每个文件至少需要一个 inode,小文件越多,inode 越多
- 使用分级索引:Multilevel index
- 使用组合方式:Combined scheme
inode 中的硬链接、软连接
磁盘分为三个区域:目录区,inode区,数据区
- 硬链接
当两个目录指向的 inode 是同一个时,硬链接实现,有一个计数器,记录指向该 inode 的记录数,为 0 时,回收 inode 和数据。
- 软链接
文件系统结构
文件系统实现
删除文件时只删除目录
- Log Structured File Systems:日志文件系统
- NTFS,Ext3/4,ZFS,Reiserfs
- 将所有操作记录到 log 区,并不立即执行,定时地执行操作,所以意外断电时,不会影响数据区
- 写到 log 区时,因为是顺序的区域,性能很高,是同步写
- 写到数据区时,较慢,是异步写
FAT32 比 FAT16 更大的进步在于支持长文件名
目录实现
分配方式
空闲管理
没有修不好的电脑