《华中科技大学 操作系统全集PPT课件.ppt》由会员分享,可在线阅读,更多相关《华中科技大学 操作系统全集PPT课件.ppt(76页珍藏版)》请在金锄头文库上搜索。
1、第11章文件系统 信息是计算机系统中的重要资源 操作系统中的一个重要组成部分 文件系统 就负责信息的组织 存储和访问 文件系统的功能就是提供高效 快速和方便的信息存储和访问功能 本章的主要内容就是信息的组织 1 掌握 基本概念 文件系统 文件 目录文件系统实现文件逻辑结构文件物理结构存储空间管理了解文件系统举例 2 文件管理的目的 所有的计算机应用程序都要 存储信息 检索信息对信息管理有三个基本要求 能够存储大量的信息长期保存信息可以共享信息解决方法 把信息以一种单元 即文件的形式存储在磁盘或其他外部介质上 通过操作系统来管理文件 包括 文件的结构 命名 存取 使用 保护和实现方法 3 文件管
2、理的目的 方便的文件访问和控制 以符号名称作为文件标识 便于用户使用 并发文件访问和控制 在多道程系统中支持对文件的并发访问和控制 统一的用户接口 在不同设备上提供同样的接口 方便用户操作和编程 多种文件访问权限 在多用户系统中的不同用户对同一文件会有不同的访问权限 优化性能 存储效率 检索性能 读写性能 差错恢复 能够验证文件的正确性 并具有一定的差错恢复能力 4 文件 定义 文件是具有符号名的数据项的集合 文件名是文件的标识符号 文件的组成 包括两部分 文件体 文件本身的信息 文件说明 文件存储和管理信息 如 文件名 文件内部标识 文件存储地址 访问权限 访问时间等 5 文件的命名 文件名
3、根据文件的定义 每个文件必须有一个唯一的文件名 不论是系统管理 还是用户使用文件都使用文件名 文件名是一个有限长度的字符串 DOS WINDOWS系统中文件名 文件名 文件扩展名 不同的操作系统对文件名的字符长度限制可能不同 不同的操作系统对文件名的英文字母的大小写处理可能不同 6 文件的命名 文件扩展名 不大于3个字符 一般用来表示文件的类型 例如 CC语言源程序文件COM可执行文件 小模式 EXE可执行文件 大模式 BAT批处理文件OBJ目标文件ll exechapter11 ppt 7 文件的类型 按用途分为 系统文件 库文件 用户文件按文件中数据分为 源文件相对地址形式文件可执行的目标
4、文件按操作保护分为 只读文件 读写文件 不保护文件管理方式 普通文件 目录文件和特别文件普通文件 一般的正文文件 目录文件 把文件目录看成文件 特殊文件 允许用户把每个输入输出设备看成一个特殊文件 由操作系统把对它的文件操作转化成对不同设备的I O操作 8 定义 文件系统是操作系统中负责存取和管理辅存储器上文件信息的机构 提供文件存储和访问功能 通用文件系统应具有以下功能 提供用户对文件操作的命令 提供用户共享文件的机制 管理文件的存储介质 提供文件的存取控制的机制 保障文件及文件系统的安全性 提供文件及文件系统的备份和恢复功能 提供对文件的加密和解密功能 文件系统 9 文件系统的结构 10
5、文件的逻辑结构 文件逻辑结构的设计要求 访问性能 便于检索 便于修改 存储性能 向物理存储转换方便 节省空间 文件的不同组织层次 域 记录 文件 文件的逻辑结构是指从用户观点出发讨论文件内部的逻辑结构 logicalstructure 或用户访问模式 它可以独立于在外存上的物理存储 也称文件的结构 11 文件的逻辑结构类型 1 顺序文件又称为无结构文件或流式文件 文件体为字节流 不划分记录 顺序访问 每次读写访问可以指定任意数据长度 当前操作系统中常用的文件组织 UNIX DOS WINDOWS系统中的普通文件都是流式文件 12 2 索引顺序文件 indexed sequentialfile
6、在顺序文件 主文件mainfile 的基础上 另外建立索引 index 和溢出文件 overflowfile 这样做的目的是加快顺序文件的检索速度 在索引文件中 可将关键字域中的取值划分若干个区间 如A Z可以划分为A到Z共26个区间 每个区间对应一个索引项 后者指向该区间的开头记录 新记录暂时保存在溢出文件中 定期归并入主文件 通过划分层次 在记录数量较大时 比顺序文件大大缩短检索时间 顺序文件是N 2 这时可使用折半查找 而索引顺序文件 一级索引 是i 2 N 2 i 其中i为索引长度 索引还可以是多级的 如 有1000 000条记录的顺序文件的平均检索长度为500 000 而在添加一个有
7、1000条索引项的索引文件后 平均检索长度为1000 文件的逻辑结构类型 续 13 索引顺序文件 14 3 索引文件 indexedfile 记录大小不必相同 不必排序 存放在主文件 primaryfile 中 索引文件与索引顺序文件的区别在于主文件不排序 另外建立索引 每个索引项指向一个记录 索引项按照记录中的某个关键字域排序 对同一主文件 可以针对不同的关键字域相应建立多个索引 索引文件的记录项通常较小 查找速度快 便于随机访问 randomaccess 文件的逻辑结构类型 续 15 4 哈希文件或直接文件 hashedfileordirectfile 记录大小相同 由主文件和溢出文件组成
8、 记录位置由哈希函数确定 检索时给出记录编号 通过哈希函数计算出该记录在文件中的相对位置 访问速度快 但在主文件中有空闲空间 文件的逻辑结构类型 续 16 文件目录 目录是由文件说明索引组成的用于文件检索的特殊文件 文件目录的内容主要是文件访问的控制信息 不包括文件内容 17 目录内容 1 基本信息文件名 字符串 通常在不同系统中允许不同的最大长度 可以修改 有些系统允许同一个文件有多个别名 alias 文件类型 可有多种不同的划分方法 如 有无结构 记录文件 流式文件 内容 二进制 文本 用途 源代码 目标代码 可执行文件 数据 属性attribute 如系统 隐含等 文件组织 如顺序 索引
9、等 目录的内容是文件属性信息 properties 其中的一部分是用户可获取的 18 2 地址信息存放位置 包括哪个设备或文件卷volume 以及各个存储块位置 文件长度 当前和上限 以字节 字或存储块为单位 可以通过写入或创建 打开 关闭等操作而变化 3 访问控制信息文件所有者 属主 通常是创建文件的用户 或者改变已有文件的属主 访问权限 控制各用户可使用的访问方式 如读 写 执行 删除等 4 使用信息创建时间最后一次读访问的时间和用户最后一次写访问的时间和用户 目录内容 续 19 目录结构类型 目录结构讨论目录的组织结构 设计目标是检索效率 一个典型的目录结构都包含一定数量的目录项 每个目
10、录项指向一个文件 使用整体目录结构还是分体式目录结构 整体目录结构 在每个目录项中包含了文件目录的全部内容 包括 文件名 文件属性以及文件在磁盘上的物理地址 分体式目录结构 每个目录项包含文件名以及一个指针 该指针指向一个存储文件有关信息数据结构 该数据结构包含了文件目录的其他全部内容 层次的树形目录 一级目录 二级目录 多级目录 20 21 目录结构类型 一级目录 整个目录组织是一个线性结构 系统中的所有文件都建立在一张目录表中 它主要用于单用户操作系统 它具有如下的特点 结构简单 文件多时 目录检索时间长 有命名冲突 如重名 多个文件有相同的文件名 或别名 一个文件有多个不同的文件名 二级
11、目录 在根目录下 每个用户对应一个目录 第二级目录 在用户目录下是该用户的文件 而不再有下级目录 适用于多用户系统 各用户可有自己的专用目录 22 目录结构类型 多级目录 或称为树状目录 tree like 在文件数目较多时 便于系统和用户将文件分散管理 适用于较大的文件系统管理 目录级别太多时 会增加路径检索时间 目录名 可以修改 目录树 中间结点是目录 叶子结点是目录或文件 目录的上下级关系 当前目录 currentdirectory workingdirectory 父目录 parentdirectory 子目录 subdirectory 根目录 rootdirectory 等 路径 p
12、ath 每个目录或文件 可以由根目录开始依次经由的各级目录名 加上最终的目录名或文件名来表示 23 24 改进的多级目录 为了提高目录检索速度 可把目录中的文件说明 文件描述符 信息分成两个部分 符号文件目录 由文件名和文件内部标识组成的树状结构 按文件名排序 基本文件目录 索引节点目录 由其余文件说明信息组成的线性结构 按文件内部标识排序 25 基本文件目录 26 符号文件目录的层次结构 27 文件的物理结构 一个文件存储介质 格式化后就分成许多大小相等的单位 存储块 物理盘块 在现代计算机系统中 一般来说 每个物理块是一个磁盘的扇区 512字节 并给每个存储块有个编号 称为物理块号 28
13、文件的物理结构 文件的物理结构 指一个逻辑结构的文件存放在存储介质 外存中 的结构关系 即文件的存储结构 实现文件存储的关键问题在于怎样记录文件与磁盘上每一块 Block 之间的对应关系 在不同的操作系统中 采取不同的方法 大致有以下几种 连续分配 链接分配 索引分配 29 连续分配 实现 把一个由逻辑上连接的记录构成的文件分配到依次连续的物理块中 P244 优点 实现起来非常简单 系统只需知道文件在磁盘中第一块的地址就能够找到该文件 存取效率很高 因为只需要一个操作就能够将整个文件从磁盘中读取出来 缺点 不适合文件随时间动态增长和收缩的情况 以及事先不能够确定文件的大小的情况 会带来碎片问题
14、 30 31 链接分配 实现 把每个文件以链接块的形式存储起来 文件分配表中给出文件的起始块号和文件长度 P244 有两种方式 以扇区为单位以区段 或簇 为单位优点 文件不再需要存储于连续的物理块中 解决了碎片问题 缺点 不利于随机存取 每一块中要有一个字用来存储地址信息 32 33 索引分配 实现 每个文件有一个文件分配表和一个文件索引表 通过索引表来管理文件的存储块 文件索引表中的每个表目对应分给文件的每一个物理块 优点 随机存取 缺点 索引表占磁盘空间 34 35 文件的存储空间组织 空闲文件项和空闲区表把每个空闲区看成一个文件 并登记在文件目录中 目录中各表目按文件起始地址从小到大排列
15、 分配 系统依次扫描整个目录表 找寻标志为空闲的表目 比较其大小是否满足要求 如符合则分配 缺点 增加了目录的尺寸 增加了目录管理的复杂性 适用 系统中只有少量的大空闲区时 36 文件的存储空间组织 37 文件存储空间的组织 空闲块链所有空闲块链接在一起 空闲块链 头指针 第一个空闲块的位置 物理块 10101526711161217131518191150优点 节省了空闲区映象表所占的空间 分配和释放时不需查目录表 38 文件的存储空间组织 位示图若干连续字节构成表 表中每一位对应一个物理块 依次顺序为0 1 2 用 位 的取值表示相应物理块是否分配 1 该对应物理块已分配 0 该对应物理块
16、为空闲 特点 位图尺寸固定 可以放在内存中 39 文件系统举例 MSDOS的文件系统WindowsNT的文件系统UNIX的文件系统 40 MSDOS的文件系统 多级目录 不支持文件别名 无用户访问权限控制 1 磁盘文件卷结构 41 文件卷 volume 信息 记录在引导记录的扇区中 包括 簇大小 根目录项数目 FAT表大小 磁盘参数 每道扇区数 磁头数 文件卷中的扇区总数 簇编号长度等逻辑扇区号 三元组 柱面号 磁头号 扇区号 一个文件卷中从0开始对每个扇区编号 优点 屏蔽了物理磁盘参数的不同允许同时访问的文件卷数目上限可以由config sys文件中的LASTDRIVE 语句指定簇 cluster 由若干个扇区组成 在一个文件卷中从0开始对每个簇编号 42 每个FAT表项所占位数是簇编号的位数 其值是 以FAT12为例 0 表示该簇空闲FF7h 物理坏扇区FF8h FFFh 表示该簇是文件的最后一个簇其他值 表示该簇被文件占用 而且表项中的值是文件下一个簇的编号 FAT表 两个镜像 互为备份 文件卷中的每个簇均对应一个FAT表项 文件分配采用链式分配方法 43 目录 是目录项的顺序文