文件系统
概念:
数据存放基本要求:大量、长期、共享
文件:数据存储和访问单位
文件:信息项序列
文件:文件体+文件说明
文件:抽象,单独的连续的逻辑地址空间,与进程地址空间无关
文件:通过操作系统管理
目录管理
目录:由文件说明索引组成的用于文件检索的特殊文件
文件目录分类:
单级文件目录
两级目录:根目录+用户目录
多级目录(层次目录):
绝对路径名:根目录/.../.../ 唯一
相对路径:
当前目录(工作目录)
上一级目录
文件控制块
基本信息
文件名、物理位置、文件逻辑结构、文件物理结构
访问控制信息
文件所有者、访问权限
使用信息
创建时间、上一次修改时间、当前使用信息
文件逻辑结构(文件组织)
文件物理结构:
连续(顺序)结构
串联(链接)结构
每个物理块最后一个字作为链接字,指出后续物理块的物理地址,链首指针放在文件目录。
索引结构
每个文件对应一个索引表
连续文件:不需要额外空间开销,顺序访问效率高,但动态增长和缩小系统开销大,一开始就要求文件大小
串联文件:文件随机访问开销大
索引文件:随机访问、顺序访问。 索引表空间开销
目录的实现
直接法:目录项=文件名+FCB
间接法:目录项=文件名+FCB地址
长文件名的解决
固定:浪费空间
可变:不好回收利用
目录项本身查高度固定,把长度可变的文件名统一放在目录文件末尾
符号文件目录的查询
顺序查询法/Hash法
硬连接:
硬链接的实质就是通过文件的inode节点进行连接。我们都知道,Linux下每个文件都对应一个inode结点,都 有一个单独的inode编号
软连接:
软链接与硬链接不同,若文件用户数据块中存放的内容是另一文件的路径名的指向,则该文件就是软连接。
保护文件的方法
建立副本
定时转储
文件的一致性检查:
磁盘块一致性:文件中出现次数/空闲块中出现的次数
文件的一致性:其i结点被引用次数/文件目录中引用它的次数
文件系统的性能问题
磁盘服务:减少磁盘访问次数
块高速缓存
LFS
从磁盘角度:主要是写操作,磁头移动