- 文件系统基础
- 文件基本概念
- 文件是以硬盘载体存储在计算机上的信息集合;可以是文本文档、图片、程序等;用户输入输出中以文件为基本单位;文件结构(自底向上):数据项、记录、文件(有结构文件和无结构文件)。
- 文件属性:名称、类型、创建者、所有者、标识符(唯一)、位置、大小、保护权限、创建时间、最近修改时间
- 文件分类
- 根据性质和用途:系统文件、用户文件、库文件
- 根据数据形式:源文件、目标文件、库文件;
- 根据存取控制属性:可执行文件、只读文件、读/写文件
- 根据形式和处理方式:普通文件、目录文件、特殊文件
- 文件控制块和索引结点
- 文件控制块FCB
- 用来存放控制文件需要的各种信息的数据结构以实现按名存取;一个FCB就是一个文件目录项,FCB的有序集合称为文件目录,一个文件目录被视为一个文件称为目录文件;
- FCB主要包括文件的基本信息、文件的存取控制信息、文件的使用信息
- 索引结点
- 采用文件名和文件描述信息分离的的方法,使文件描述信息单独形成一个索引节点,文件目录仅由文件名和相应的索引节点构成;
- 磁盘索引节点
- 存放在磁盘上的索引节点,每个文件由唯一的磁盘索引节点;包括文件主标识符:拥有该文件的个人获小组的标识符、文件类型、文件存取权限、文件物理地址、文件长度、文件链接计数、存取时间
- 内存索引节点
- 存放在内存上的节点,打开文件时,需要将磁盘索引节点复制到内存索引节点中;包括:索引节点号、状态、访问计数、逻辑设备号、链接指针
- 文件控制块FCB
- 文件的操作
- 创建文件
- 为新文件分配外存空间->在目录中创建一个目录项->目录项记录文件信息
- 删除文件
- 根据文件名查找目录找到指定文件->删除对应目录项和文件控制块->回收文件所在的存储空间(包括磁盘空间和内存缓冲区)
- 读文件
- 根据文件名找到目录项->根据目录项找到文件在外存中的地址->目录项中的读操作进行读文件
- 写文件
- 根据文件名找到目录项->根据目录项找到文件在外存中的地址->目录项中的文件写操作对文件进行写,实时更新写指针
- open
- 文件未打开时使用open打开文件将文件信息存入打开文件信息表,再次发出操作时便直接在文件表内搜索
- 创建文件
- 文件保护
- 访问类型
- 读、写、执行、添加、删除、列表清单
- 复制文件可用读来完成、拥有读权限就等于拥有复制和打印的权限
- 读、写、执行、添加、删除、列表清单
- 访问控制
- 访问控制列表:可采用拥有者、组、其他三种用户类型
- 口令;用户创建文件时提供一条口令,访问文件时提供口令;不够安全
- 密码:对文件进行加密
- 访问类型
- 文件逻辑结构
- 无结构文件:由字符流组成又称流式文件:长度以字节为单位
- 有结构文件:由一个以上的记录组成,又称记录式文件
- 根据记录长度是否相等
- 定长记录:所有记录长度相同
- 变长记录:各记录长度不一定相等
- 根据按记录组织形式
- 顺序文件
- 串结构(通常按存入时间进行排序与关键字无关)、顺序结构(按关键字排序)定长记录可进行折半查找
- 索引文件
- 可根据索引号进行搜索,定长记录可随机查找,定长必须顺序查找
- 索引顺序文件
- 是顺序文件和索引文件的结合,将变长记录分成若干组,每组的第一个记录建立一个索引项
- 直接文件/散列文件
- 通过散列函数转换的键值决定记录的物理地址
- 顺序文件
- 根据记录长度是否相等
- 文件物理结构
- 连续分配
- 每个文件在磁盘上占有一组连续的块,连续分配时,逻辑文件中的记录也顺序存储在相邻的物理块中
- 优点:支持顺序访问和直接访问;顺序访问容易且速度快,文件所占用的块可能位于一条或几条相邻的磁道上,磁头的移动距离最小
- 缺点:会产生很多外部碎片;无法动态增长文件;需要对相邻的记录做物理上的移动
- 链接分配
- 采用离散分配的方式
- 隐式链接
- 目录项中含有文件的第一块的指针(盘块号)和最后一块的指针,每个盘块都存有指向下一个盘块的指针,这些指针对用户是透明的。
- 缺点:只支持顺序访问;任何一个指针出问题都会导致文件数据的丢失;指针也要消耗一定的存储空间
- 簇可以改善算法的磁盘访问时间
- 显示链接
- 将各物理块的指针显式的存放在内存的一张链接表中,表称为文件分配表(FAT)
- 优点:支持顺序访问,也可直接访问;FAT在系统启动时就被读入内存,检索记录是在内存中,显著的提高了检索速度,减少了访问磁盘的次数
- 缺点:FAT需要占用一定的内存
- 隐式链接
- 优点:消除了外部碎片,提高磁盘的利用率;便于动态的为文件分配盘块;插入删除很方便.
- 采用离散分配的方式
- 索引分配
- 单极索引分配方式
- 每个文件分配一个索引表,将分配给文件的所有盘块号都记录在索引块中
- 优点:支持直接访问;不会产生外部碎片
- 缺点:索引块增加了额外的存储空间的开销
- 多级索引分配
- 将文件太大而索引块太多时建立多级索引
- 优点:加快了对大型文件的查找速度
- 缺点:访问磁盘的次数随着索引的级数增加而增加
- 混合索引分配
- 全面照顾了小型,中型,大型和特大型文件
- 直接地址:小型文件
- 一级间接地址:中大型文件
- 多级间接地址:特大型文件
- 单极索引分配方式
- 连续分配
- 文件基本概念
操作系统文件管理
于 2024-07-16 11:04:27 首次发布