1.文件系统基础
1.1 文件的概念
- 文件的定义
- 文件是以计算机硬盘为载体的存储在计算机上的信息集合,可以是文本文档、图片、程序等
- 文件的属性
- 名称、标识符、类型、位置、大小、保护等
- 文件的基本操作
- 创建文件、写文件、读文件、文件重定位、删除文件、截断文件
- 文件的打开与关闭
1.2 文件的逻辑结构
- 文件内部的逻辑结构,文件内部有一条条记录
- 文件的逻辑结构是从用户观点出发看到的文件的组织形式
- 文件的物理结构是从实现观点出发看到的文件在外存上的存储组织形式
- 按逻辑结构,文件可分为无结构文件、有结构文件
- 无结构文件(流式文件)
- 有结构文件(记录式文件)
- 按记录的组织形式分为:顺序文件、索引文件、索引顺序文件、直接文件或离散文件
1.3 目录结构
- 多个文件之间在逻辑上是如何组织的,即文件外部的逻辑结构
- 文件控制块和索引结点
- 目录结构
- 单级目录结构
- 两级目录结构
- 多级目录结构(树形目录结构)
- 无环图目录结构
1.4 文件共享
- 基于索引结点的共享方式(硬链接)
- 利用符号链实现文件共享(软链接)
1.5 文件保护
- 实现方式:口令保护、加密保护、访问控制
2.文件系统实现
2.1 文件系统层次结构
2.2 目录实现
- 线性列表
- 存储文件名和数据块指针的线性表
- 优点:实现简单
- 缺点:费时
- 哈希表
- 根据文件名得到一个值,并返回一个指向线性列表中元素的指针
- 优点:查找迅速
- 缺点:需要一些预备措施来避免冲突
2.3 文件实现-文件分配方式
- 文件分配对应于文件的物理结构,是指如何为文件分配磁盘块
- 常用的磁盘空间分配方法:连续分配、链接分配、索引分配
- 连续分配
- 优点:实现简单、存取速度快
- 缺点:文件长度不宜动态增加、反复增删文件后会产生外部碎片
- 适用场景:长度固定的文件
- 链接分配
- 分类:隐式链接、显式链接
- 隐式链接
- 显式链接
- 优点:解决了连续分配的外部碎片、文件大小管理的问题
- 缺点:链接分配不能有效支持直接访问(FAT除外)
- 索引分配
- 实现
- 小索引块支持大文件机制:链接方案、多层索引、混合索引
- 三种分配方式的比较
2.4 文件实现-文件存储空间管理
- 文件存储器空间的划分与初始化:一般来说,一个文件存储在一个文件卷中,文件卷可以是物理盘的一部分,可以是一整个物理盘,也可以由多个物理盘组成,如图:
- 文件存储器空间管理:对空闲块的组织和管理
-
空闲表法
-
空闲链表法
根据构成链所用的基本元素的不同,链表分为:空闲盘块链、空闲盘区链
-
位示图法
-
成组链接法
-
3. 磁盘组织与管理
3.1 磁盘的结构
磁盘地址 = 柱面号 * 盘面号 * 扇区号
3.2 磁盘调度算法
- 一次磁盘读写操作的时间
- 寻找(寻道)时间Ts:与磁盘调度算法相关
- 旋转延迟时间Tr:与磁盘旋转速度线性相关
- 传输时间Tt:与磁盘旋转速度线性相关
- 磁盘调度算法
-
常用算法
- 先来先服务算法FCFS
- 最短寻找时间优先算法(Shortest Seek Time First,SSTF)
- 扫描算法(SACN,又称电梯调度算法)
- 循环扫描算法(Circular SCAN)
-
磁盘调度算法比较
-
除减少寻找时间外,减少延迟时间也是提高磁盘传输效率的重要因素。可以对盘面扇区进行交替编号,对磁盘片组中的不同盘面错位命名
-
3.3 磁盘的管理
- 磁盘初始化
- 引导块
- 坏块