BUAA-OS-Theory-Chapter7
第七章 文件系统
文件系统基本概念
为了解决计算机中数据无法长期保存、共享困难等问题,人们提出了文件的概念,把数据组织成文件的形式,用文件作为数据的存储、访问单位。
文件是一组带标识的、在逻辑上有完整意义的信息项的序列。信息项是构成文件内容的基本单位(字节/多字节)
所有的 I/O 设备、文本等资源都可以看成文件
典型的文件结构
- 流式文件:构成文件的基本单位是字符。文件是字符的串构成的集合。
- 记录式文件:文件由若干条记录组成,可以按照记录进行读写等操作
文件系统的定义:操作系统中与文件管理有关的软件、文件与需要的数据结构的总称。
文件系统模型的三个层次
文件系统的接口
- 命令行接口:用户(Shell)和文件系统交互的接口
- 程序接口:用户程序与文件系统的接口,通过系统调用的形式获取文件系统的服务
对象操作管理的软件集合
- 对文件存储空间的管理
- 对文件目录的管理
- 文件逻辑地址 → 物理地址
- 文件读写管理
- 文件共享与保护功能
对象及其属性
- 文件:管理的直接对象
- 目录:包含文件的指针,组织管理文件
- 磁盘存储空间
文件系统的实现
文件编排的结构
- 逻辑结构:文件组织,逻辑地址连续,但是实际上不连续
- 物理结构:文件在存储介质上的位置,同一个文件可能物理地址不连续
连续结构
单个文件所占据的空间是先后连续的,即物理结构相邻
结构简单易实现,支持顺序和随机存取;但不利于文件长度的动态变化
串联结构
文件的信息存于若干块中,并且这些块不一定连续
每个物理块的最后一个字作为链接字,指向后继块的物理地址,直至指向 NULL 代表文件结束。
当访问文件块时需要遍历该文件的所有前驱块,通过链接字进行访问
空间利用率高,动态修改文件大小;随机存取效率低,通过指针链接易出问题
索引结构
- 一个文件的信息存放在若干个不连续的物理块中。
- 系统以文件为单位创建了专用数据结构:索引表,索引表就是磁盘块的地址数组,是逻辑块号和物理块号的对照表
文件若采用索引结构存储,则需要分索引区和数据区。索引区存放索引表,数据区存放数据文件本身。访问时:索引区查表 → 数据区获取磁盘块的信息
- 顺序、随机存取效率高,也能满足地址动态地要求;但本身带来了空间(索引表结构占空间)和时间(访问索引表)的开销
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 sin!