操作系统第七章:文件系统

文件系统基本概念

数据如何存放?
操作系统第七章:文件系统

文件是什么?
所谓文件是指一组带标识(标识即为文件名)的,在逻辑上有完整意义的信息项的序列。
文件包括两部分:
• 文件体:文件本身的内容;
• 文件说明:文件存储和管理的相关信息,如:文件名、文件内部标识、文件存储地址、访问权限、访问时间等;

  • 文件是一种抽象机制,它提供了一种把信息保存在磁盘等存储设备上,并且便于以后访问的方法。抽象性体现在用户不必关心具体的实现细节。
  • 可以视为一个单独的连续的逻辑地址空间,其大小即为文件的大小,与进程的地址空间无关。
  • 文件是通过操作系统管理的

文件的分类方式
操作系统第七章:文件系统

文件的逻辑结构

操作系统第七章:文件系统

操作系统第七章:文件系统

多级目录特点
操作系统第七章:文件系统

文件系统实现方法

操作系统第七章:文件系统

操作系统第七章:文件系统

1、连续结构
优点:
• 结构简单,实现容易,不需要额外的空间开销
• 支持顺序存取和随机存取,顺序存取速度快
• 连续存取时速度较快,
缺点:
• 文件长度一经固定便不易改变;
• 不利于文件的动态增加和修改;
适用于变化不大的顺序访问的文件

2、串联/链接文件结构
• 串联文件结构是按顺序由串联的块组成的,即文件的信息按存储介质的物理特性存于若干块中。
• 每个物理块的最末一个字(或第一个字)作为链接字,它指出后继块的物理地址。链首指针存放在该文件目录中。文件的结尾块的指针为“∧”,表示文件至本块结束。
• 对于记录式文件一块中可包含一个逻辑记录或多个逻辑记录,也可以若干物理块包含一个逻辑记录。

优劣势
优点:
• 空间利用率高;能较好的利用辅存空间。
• 文件动态扩充和修改容易。
• 顺序存取效率高
类似于存储管理中的页式
缺点:
• 随机存取效率太低,如果访问文件的最后的
内容,实际上是要访问整个文件。
• 可靠性问题,如指针出错;
• 链接指针占用一定的空间。

3、索引结构
• 一个文件的信息存放在若干个不连续物理块中
• 系统为每个文件建立一个专用数据结构:索引表,并将这些物理块的块号存放在该索引中。
• 索引表就是磁盘块地址数组,其中第i个目录指向文件的第i块。

索引表应该存放在何处?
• 这里必须知道每个文件的索引表长度是不一样的,不能存放在FCB中,因此FCB中只记录索引表的地址。

优劣势
优点:
保持了链接结构的优点,又回避了其缺点:
• 即能顺序存取,又能随机存取
• 满足了文件动态增长、插入删除的要求
• 能充分利用外存空间
缺点:
索引表本身带来了系统开销
如:内外存空间,存取时间

索引表的组织

操作系统第七章:文件系统

文件系统三种物理结构的比较
操作系统第七章:文件系统

文件系统的性能问题

操作系统第七章:文件系统
重点技术:块高速缓存
块高速缓存(BLOCK CACHE)又称为文件缓存、磁盘高速缓存、缓冲区高速缓存。是指在内存中为磁盘块设置的一个缓冲区,保存了磁盘中某些块的副本。当对文件系统进行操作的时候:
• 检查所有的读请求,看所需块是否在块高速缓冲中
• 如果在,则可直接进行读操作;否则,先将数据块读入块高速缓存,再拷贝到所需的地方。
• 由于访问的局部性原理,当一数据块被读入块高速
缓存以满足一个IO请求时,和可能将来还会再次访问到这一数据块。