[关闭]
@WillireamAngel 2018-06-10T16:08:32.000000Z 字数 1013 阅读 1313

文件系统

操作系统


文件系统和文件

数据存储和访问
文件:符号名,由字节系列构成的数据项集合
文件系统功能:
- 分配文件磁盘空间:管理文件块(位置和顺序)、管理空闲空间(位置)、分配算法(策略)
- 管理文件集合:定位、命名、文件系统结构
- 数据可靠和安全

文件头:文件属性,文件存储位置和顺序

文件描述符

打开文件的标识
- 文件指针(最后一次读写位置)
- 文件打开计数(当前打开文件的次数)
- 文件磁盘位置
- 访问权限

视图
- 用户视图:文件是持久的数据结构
- 系统视图:系统访问接口字节的集合
- 文件视图:数据块(逻辑存储单元,访问单位)集合(扇区,物理存储单元)

目录、文件别名和文件系统种类

只允许内核修改目录,哈希表,文件目录循环(只允许文件链接,循环检测,限制遍历长度)

访问模式

顺序访问
随机访问
索引访问(数据库)

文件内部结构

无结构:单词,字节序列
简单记录结构:分列,定长/可变长度
复杂结构:格式化文档,可执行文件(程序行为)

文件共享和访问控制

多用户文件共享
访问控制
ACL列表
Unix模式

语义一致性

程序管理
会话语义
读写锁

名字解析(路径遍历)

逻辑名称转换为物理名称:当前工作目录+相对路径

文件系统种类

磁盘文件系统
数据库文件系统(文件寻址)
日志文件系统
网络/分布式文件系统
特殊/虚拟文件系统

虚拟文件系统VFS

分层机构,对多有不同系统抽象
接口、数据结构、例程、交互
- 文件卷控制块:文件系统挂载
- 文件控制块:访问文件
- 目录项:遍历文件路径

存储到外存

文件缓存和打开文件

文件缓存

read预读,缓存和延迟写入,包括数据块缓存和页缓存

打开文件

文件描述符,打开文件表,打开文件锁(强制、劝告)

文件分配

文件数据块的位置和顺序:连续分配、链式分配、索引分配

性能:存储效率,读写性能
大文件索引分配:多级索引块UFS,链式索引块

空闲空间管理和冗余磁盘阵列RAID

空间管理

跟踪未分配(数据结构):位图、链表、链式索引

RAID

文件卷,多磁盘管理(并行、冗余)
存储格式:
数据块:RAID 0/4/5
位:RAID 3

RAID0:条带化
RAID1:磁盘镜像
RAID4:单磁盘故障
RAID5:分布式校验:允许一个错误
RAID6:两个冗余块:允许两个错误

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注