Presentation is loading. Please wait.

Presentation is loading. Please wait.

文件系统 第8章 文件系统.

Similar presentations


Presentation on theme: "文件系统 第8章 文件系统."— Presentation transcript:

1 文件系统 第8章 文件系统

2 文件系统——主要内容 文件系统的基本概念 文件的逻辑结构与存取方法 文件的物理结构 文件目录 文件的共享与安全 文件操作与文件备份 1

3 文件系统——文件系统概述 文件系统概述

4 1. 文件 (1) 什么是文件 (2) 构成文件的基本单位 (3) 文件的其他描述 文件系统——文件系统概述
1. 文件 (1) 什么是文件 文件是在逻辑上具有完整意义的信息集合,它有一个名 字以供标识,文件名是以字母开头的字母数字串。 (2) 构成文件的基本单位 信息项、记录 (3) 文件的其他描述 ① 文件是具有符号名的信息(数据)项的集合 ② 文件是具有符号名的记录的集合 2

5 (4) 文件分类 文件系统——文件系统概述 ① 按文件的性质和用途分类 ② 按文件保护级别分类 不保护文件 执行文件 只读文件 读写文件
系统文件 程序库文件 用户文件 ② 按文件保护级别分类 不保护文件 执行文件 只读文件 读写文件 ③ 分类按文件流向分类 输入文件 输出文件 输入输出文件 3

6 (5) 文件名与属性 文件系统——文件系统概述 ① 文件名 每个文件有一个给定的名字,这个名字是由串描述且由
文件内容来表示,包括文件符号名和内部标识符。 用户使用文件符号名进行文件操作 系统使用文件内部标识符管理文件 ② 文件扩展 文件扩展表示文件的使用特征,如:.c .obj .lib 等。 ③ 文件属性 文件的属性字,表示文件类别、保护级等信息。 4

7 2. 文件系统 (1) 什么是文件系统 (2) 文件系统的组成 (3) 文件系统的功能 文件系统——文件系统概述 ① 管理文件所需的数据结构
2. 文件系统 (1) 什么是文件系统 文件系统是操作系统中负责管理和存取文件信息的软件机构。 (2) 文件系统的组成 ① 管理文件所需的数据结构 如目录表、文件控制块、存储分配表 ② 管理程序 ③ 一组操作 (3) 文件系统的功能 ① 从用户角度看 —— 文件系统实现了“按名存取”的功能。 5

8 (4) 文件系统的特点 文件系统——文件系统概述 ② 从系统角度看 —— ① 使用简单 使用文件名、一组文件操作命令。 ② 安全可靠
辅存空间管理 构造文件结构 提供文件共享功能 提供存取文件的方法 文件保护 提供一组文件操作命令 (4) 文件系统的特点 ① 使用简单 使用文件名、一组文件操作命令。 ② 安全可靠 提供防护措施,在文件遭受破坏时,能及时复。 全量备份、增量备份、动态备份、远程备份 ③ 既能共享,又能保密 身份验证、存取权限验证。 6

9 3. 文件组织的两种结构 (1) 文件的逻辑结构 文件系统——文件系统概述 ① 什么是逻辑文件
3. 文件组织的两种结构 (1) 文件的逻辑结构 ① 什么是逻辑文件 从用户角度看到的文件面貌。即用户对信息进行逻辑 组织形成的文件结构。 ② 研究文件逻辑结构的目的 ⅰ 为用户提供一种逻辑结构清晰、使用简便的逻辑文件 形式。 ⅱ 用户按文件的逻辑结构形式去存储、检索和加工文件 中的信息。 7

10 (2) 文件的物理结构 文件系统——文件系统概述 ① 什么是物理文件 文件的物理结构是信息在物理存储器上的存储方式,是
数据的物理表示和组织。 ② 研究文件物理结构的目的 ⅰ 选择工作性能良好、设备利用率高的物理文件形式。 ⅱ 系统按照文件的物理结构形式和外部设备打交道,控 制信息的传输。 8

11 (3) 逻辑记录与物理记录 (磁盘块) 文件系统——文件系统概述 ① 逻辑记录 文件中按信息在逻辑上的独立含义来划分的信息单位,逻
辑记录是对文件进行存取操作的基本单位。 ② 物理记录 在存储介质上,由连续信息所组成的一个区域称为块,也 叫物理记录。 ③ 逻辑记录与物理记录的区别与联系 ⅰ 一个是逻辑的概念,一个是物理的概念。 ⅱ 逻辑记录最终要存放到物理记录上。 9

12 文件系统——文件的逻辑结构与存取方法 文件的逻辑结构与存取方法

13 1. 文件的逻辑结构 (1) 流式文件 (2) 记录式文件 文件系统——文件的逻辑结构与存取方法 ① 什么是流式文件
1. 文件的逻辑结构 (1) 流式文件 ① 什么是流式文件 流式文件是相关的有序字符的集合,是无结构的。 ② 流式文件的存取 流式文件是按信息的个数或以特殊字符为界进行存取的。 (2) 记录式文件 ① 什么是记录式文件 记录式文件是一种有结构的文件。这种文件在逻辑上总是 被看成一组连续顺序的记录的集合。 10

14 文件系统——文件的逻辑结构与存取方法 ② 定长记录与变长记录 定长记录 变长记录 r0 r1  ri RPTR 定长记录文件 1L 2L
1L 2L l0 r0 ri RPTR 变长记录文件 L0+1 li 定长记录文件和变长记录文件 11

15 2. 文件存取方法 (1) 顺序存取 (2) 随机存取 文件系统——文件的逻辑结构与存取方法 后一次存取总是在前一次存取的基础上进行的。
2. 文件存取方法 (1) 顺序存取 后一次存取总是在前一次存取的基础上进行的。 顺序存取时不必给出具体的存取位置。 (2) 随机存取 用户以任意次序请求某个记录。 随机存取时要指出起始存取位置 (例如记录号)。 12

16 文件系统——文件的物理结构 文件的物理结构

17 1. 连续文件 (1) 什么是连续文件 (2) 连续文件结构例 文件系统——文件的物理结构 常用的文件物理结构:连续文件、串联文件、索引结构
1. 连续文件 (1) 什么是连续文件 连续文件结构是由一组分配在磁盘连续区域的物理块组 成的。 (2) 连续文件结构例 文件A有三个记录 (逻辑记录与物理块大小相等,都为 512B),采用连续文件结构,r0存放在块号为100的磁盘 块上。 13

18 (3) 连续文件的特点 文件系统——文件的物理结构 ① 连续存取时速度较快 ② 文件长度一经固定便不易改变 ③ 文件的增生和扩充不易
文件A r r r2 磁盘块号 100 101 102 文件目录 文件A 目录项 串联文件结构 问题:在连续文件结构下,存取 r i 记录时,应如何操作 ? (3) 连续文件的特点 ① 连续存取时速度较快 ② 文件长度一经固定便不易改变 ③ 文件的增生和扩充不易 14

19 2. 串联文件 (1) 什么是串联文件 (2) 串联文件结构例 文件系统——文件的物理结构 串联文件结构是按顺序由串联的块组成的,即文件的信
2. 串联文件 (1) 什么是串联文件 串联文件结构是按顺序由串联的块组成的,即文件的信 息存于若干块物理块中,每个物理块的最末一个字作为 链接字,它指出后继块的物理地址。文件的最后一块的 链接字为结束标记“”,它表示文件至本块结束。 (2) 串联文件结构例 15

20 (3) 串联文件的特点 文件系统——文件的物理结构 ① 能较好地利用辅存空间 ② 易于对文件进行增生和扩充 ③ 连续存取时速度较快
文件A r1 57 r2 r0 150 磁盘块号 100 文件目录 文件A 目录项 串联文件结构例 问题:在串联文件结构下,存取 r i 记录时,应如何操作 ? (3) 串联文件的特点 ① 能较好地利用辅存空间 ② 易于对文件进行增生和扩充 ③ 连续存取时速度较快 16

21 3. 索引文件 (1) 什么是索引文件 文件系统——文件的物理结构 系统为每个文件建立逻辑块号与物理块号的对照表。这
3. 索引文件 (1) 什么是索引文件 系统为每个文件建立逻辑块号与物理块号的对照表。这 张表称为该文件的索引表。文件由数据文件和索引表构 成。这种文件称为索引文件。 17

22 (2) 索引文件结构例 文件系统——文件的物理结构 文件索引表 逻辑块号 物理块号 磁盘块号 r0 23 0 23 1 19 文件A
索引表指针 目录项 r0 r1 文件目录 r2 r3 磁盘块号 23 19 26 29 文件索引表 逻辑块号 物理块号 索引文件结构例 18

23 (3) 索引文件的操作 (4) 索引文件的特点 文件系统——文件的物理结构 ① 索引文件在存储区中占两个区 ⅰ 索引区:存放索引表
ⅱ 数据区:存放数据文件 ② 访问索引文件的操作 ⅰ 查文件索引,由逻辑块号查得物理块号 ⅱ 由此磁盘物理块号而获得所要求的信息 (4) 索引文件的特点 ① 易于文件的增删 ② 直接读写任意记录 19

24 4. 索引表的组织——多级索引 (1) 直接索引 文件系统——文件的物理结构 逻辑记录所在的磁盘块号。
4. 索引表的组织——多级索引 (1) 直接索引 文件A 目录项 r0 r1 文件目录 r2 r3 磁盘块号 23 89 126 229 直接索引文件结构 文件目录项中有一组表项用于索引。每一个表项登记的是 逻辑记录所在的磁盘块号。 20

25 (2) 一级间接索引 文件系统——文件的物理结构
文件A 目录项 文件目录 52 66 126 229 r0 块号 23 23 89 r1 块号 89 r256 块号 178 178 49 r511 块号 49 一级间接索引表 磁盘块号 52 磁盘块 一级间接索引文件结构 文件目录项中有一组表项,其内容登记的是第一级索引表块的块号。第一级索引表块中的索引表项登记的是文件逻辑记录所在的磁盘块号。 21

26 (3) 二级间接索引 文件系统——文件的物理结构
文件A 目录项 文件目录 二级间接索引 磁盘块 一级间接索引 二级间接索引文件结构 文件目录项中有一组表项,其内容登记的是第二级索引表块的块号。第二级索引表块中的索引表项登记的第一级索引表块的块号,第一级索引表项中登记的是文件逻辑记录所在的磁盘块号。 22

27 文件系统——文件目录及其结构 文件目录及其结构

28 1. 文件目录有关概念 (1) 什么是文件目录 (2) 文件目录项的内容 文件系统——文件目录及其结构
1. 文件目录有关概念 (1) 什么是文件目录 文件目录是记录文件的名字、存放地址及其他有关文件 的说明信息和控制信息的数据结构。 (2) 文件目录项的内容 ① 文件名 ② 文件逻辑结构 说明该文件的记录是否定长、记录长度及记录个数等。 23

29 文件系统——文件目录及其结构 ③ 文件物理结构:记录文件的物理结构形式 ④ 存取控制信息 ⑤ 管理信息 ⑥ 文件类型
连续文件——指出文件第一块的物理地址、文件所占块数 串联文件——指出该文件第一块的物理地址 索引文件——指出索引表地址 ④ 存取控制信息 文件主具有的存取权限、核准的其他用户及其相应的存取权限 ⑤ 管理信息 文件建立日期、时间,上一次存取时间、要求文件保留的时间等 ⑥ 文件类型 文件的类型,例如可分为数据文件、目录文件、块存储设备文件、 字符设备文件 24

30 2. 一级文件目录 (1) 什么是一级文件目录 文件系统——文件目录及其结构 明信息放在一张表中,这张表称为一级文件目录。
2. 一级文件目录 (1) 什么是一级文件目录 系统将已建立的所有文件的文件名、存放地址及有关的说 明信息放在一张表中,这张表称为一级文件目录。 一级文件目录 文 件 名 物 理 地 址 其 他 信 息 pa test compiler assembler abc wang 25

31 (2) 一级文件目录的特点 (3) 重名问题 文件系统——文件目录及其结构 实现了按名存取的功能,比较简单;
要求文件名和文件之间有一一对应的关系,即:不允许两个文件有相同的名字。 在多用户环境中,出现了重名问题,或称为命名冲突 (3) 重名问题 所谓“重名”,是指不同用户对不同文件起了相同的名字, 即两个或多个文件只有一个相同的符号名。又称为命名冲 突。 为了解决命名冲突、获得更灵活的命名能力,文件系统 必须采用多级目录结构 26

32 3. 树型文件目录 (1) 什么是树型文件目录 文件系统——文件目录及其结构 在多级目录系统中 (除最末一级外),任何一级目录的目
3. 树型文件目录 (1) 什么是树型文件目录 在多级目录系统中 (除最末一级外),任何一级目录的目 录项可以描述一个目录文件,也可以描述一个非目录文 件 (数据文件),而数据文件一定在树叶上。这样,就构 成了一个树形层次结构。 27

33 (2) 树型文件目录结构 文件系统——文件目录及其结构 a b c f e d h j m r g id=13 id=21 id=14
根目录 / 子目录 a 子目录 b 子目录 c 子目录 f 子目录 e 子目录 d 多级文件目录结构 28

34 (3) 文件路径名 文件系统——文件目录及其结构 多级目录中,文件的路径名是由根目录到该文件的通路上所有目录文
件符号名和该文件的符号名组成的字符串,相互之间用分隔符分隔。 a b c f e d h j m r g id=13 id=21 id=14 id=15 id=16 id=17 id=18 id=19 id=20 id=1 id=2 id=3 id=4 id=11 id=12 id=5 id=8 id=9 id=10 id=6 id=7 根目录 / 子目录 a 子目录 b 子目录 c 子目录 f 子目录 e 子目录 d 图中id为15的文件的文件路径名为 /b/f/J 29

35 (4) 如何解决重名问题 /a/a/a 文件系统——文件目录及其结构 图中id为13的文件与id为20的文件有相同的文件名,都为a。
b c f e d h j m r g id=13 id=21 id=14 id=15 id=16 id=17 id=18 id=19 id=20 id=1 id=2 id=3 id=4 id=11 id=12 id=5 id=8 id=9 id=10 id=6 id=7 根目录 / 子目录 a 子目录 b 子目录 c 子目录 f 子目录 e 子目录 d 图中id为13的文件与id为20的文件有相同的文件名,都为a。 id为13的文件的文件路径名 id为20的文件的文件路径名 /a/a/a /b/d/a 30

36 文件系统——文件共享与安全 文件共享与安全

37 4. 文件共享与安全 (1) 文件共享 (2) 文件安全 文件系统——文件共享与安全 文件共享是指某一个或某一部分文件可以让事先规定的
4. 文件共享与安全 (1) 文件共享 文件共享是指某一个或某一部分文件可以让事先规定的 某些用户共同使用。 (2) 文件安全 ① 什么是文件安全 所谓文件安全,就是文件的保护问题。 文件的保护是指文件本身不得被未经文件主授权的任何用 户存取,而对于授权用户也只能在允许的存取权限内使用 文件。 31

38 所谓存取权限的验证,是指用户存取文件之前,需要检 查用户的存取权限是否符合规定,符合者允许使用,否 则拒绝。
文件系统——文件共享与安全 ② 如何进文件的保护 需要对用户的权限进行验证。 所谓存取权限的验证,是指用户存取文件之前,需要检 查用户的存取权限是否符合规定,符合者允许使用,否 则拒绝。 ③ 验证用户存取权限的方法 ⅰ 访问控制矩阵 ⅱ 存取控制表 ⅲ 用户权限表 ⅳ 口令 ⅴ 密码 32

39 (3) 用文件路径名加快文件的查找 文件系统——文件共享与安全 ① 当前目录 ⅰ 什么是当前目录 (又称值班目录)
当前目录是当前用户正在使用的文件所在的目录。 当指定当前目录后,用户对文件的所有访问都是相对 于 “当前目录”进行的。 这时,文件路径名是由“当前目录”到信息文件的通路 上所有各级目录的符号名加上该信息文件的符号名组成。 ⅱ 例1:当指定当前目录为id=3 时,id为20的文件,其文 件路径名为 d/a 33

40 ⅲ 例2:当前目录id=8,共享子目录c的文件a(id=12)
文件系统——文件共享与安全 ⅲ 例2:当前目录id=8,共享子目录c的文件a(id=12) a b c f e d h j m r g id=13 id=21 id=14 id=15 id=16 id=17 id=18 id=19 id=20 id=1 id=2 id=3 id=4 id=11 id=12 id=5 id=8 id=9 id=10 id=6 id=7 根目录 / 子目录 a 子目录 b 子目录 c 子目录 f 子目录 e 子目录 d 使用文件路径名 //c/a 访问id=12的文件 34

41 所谓“链接”,就是在相应目录表目之间进行链接,即一
文件系统——文件共享与安全 ② 链接技术 所谓“链接”,就是在相应目录表目之间进行链接,即一 个目录中的表目直接指向另一个目录表目所在的物理位 置。 注意,这种链接不是直接指向文件,而是指向相应的目 录表目。这种办法也称为连访,被共享的文件称为连访 文件。 35

42 文件系统——文件共享与安全 ⅰ 例1:子目录f共享子目录e中的文件j 假定当前目录为id=8,子目录 f 共享子目录e中的文件 j
a b c f e d h j m r g id=13 id=21 id=14 id=15 id=16 id=17 id=18 id=19 id=20 id=1 id=2 id=3 id=4 id=11 id=12 id=5 id=8 id=9 id=10 id=6 id=7 根目录 / 子目录 a 子目录 b 子目录 c 子目录 f 子目录 e 子目录 d k 假定当前目录为id=8,子目录 f 共享子目录e中的文件 j 用文件路径名 k直接存取文件j,id =17 36

43 文件系统——文件共享与安全 ⅱ 例2:子目录d共享子目录c中的文件a 假定当前目录为id=3,子目录b共享子目录c中的文件a
f e d h j m r g id=13 id=21 id=14 id=15 id=16 id=17 id=18 id=19 id=20 id=1 id=2 id=3 id=4 id=11 id=12 id=5 id=8 id=9 id=10 id=6 id=7 根目录 / 子目录 a 子目录 b 子目录 c 子目录 f 子目录 e 子目录 d f 假定当前目录为id=3,子目录b共享子目录c中的文件a 用文件路径名 d/f 存取文件a,id=12 37

44 和软连接,软连接又称符号链接 (Symbolic link)。 符号链接文件中并不包括实际的文件数据,而只是包括
文件系统——文件共享与安全 ③ UNIX/Linux的链接文件 ⅰ 硬链接和软链接 UNIX/Linux下的链接文件有两种,硬连接 (Hard Link) 和软连接,软连接又称符号链接 (Symbolic link)。 符号链接文件中并不包括实际的文件数据,而只是包括 了它指向文件的路径。它可以链接到任意的文件和目 录,包括处于不同文件系统的文件以及目录。当用户对 链接文件操作时,系统会自动的转到对源文件的操作, 但是删除链接文件时,并不会删除源文件。 下图是文件的软链接示意图。 38

45 文件系统——文件共享与安全 ⅱ UNIX/Linux的链接文件  foo bar /usr/joc /usr/sue 文件的软链接示意图
引用计数 = 1 文件描述 /usr/sue bar /usr/joc /foo 文件的软链接示意图 39

46 文件系统——文件操作和文件备份 文件操作与文件备份

47 1. 文件操作 (1) 常用的文件操作命令 文件系统——文件操作和文件备份 create 创建一个新文件
1. 文件操作 (1) 常用的文件操作命令 create 创建一个新文件 delete 从系统目录中撤消一个文件 rename 在系统目录中改变文件的名字 open 打开文件 在用户和文件(或设备)之间建立一个逻辑通路 close 关闭文件 在用户和文件(或设备)之间撤消一个逻辑通路 write 写到一个文件(或设备)上 read 从一个文件(或设备)读入数据信息 40

48 (2) “打开文件”和“关闭文件”操作操作 文件系统——文件操作和文件备份 ① 打开文件操作
所谓打开文件就是把该文件的有关目录表目复制到主存中 约定的区域,建立文件控制块,建立用户和这个文件的联 系。 ② 关闭文件操作 所谓关闭文件就是用户宣布这个文件当前不再使用,系统 将其在主存中的文件控制块删去,因而也就切断了用户同 这个文件的联系。 41

49 2. 文件备份 (1) 什么是文件备份 (2) 文件备份的方法 文件系统——文件操作和文件备份
2. 文件备份 (1) 什么是文件备份 为了能在软、硬件失效的意外情况下恢复文件,保证文件 的完整性、数据的连续可利用性,文件系统提供适当的机 构,以便复制备份。 (2) 文件备份的方法 ① 周期性转储 按固定的时间周期把存储器中所有文件的内容转存到某种 介质上,通常是磁带或磁盘。在系统失效时,使用这些转 存磁盘或磁带,将所有文件重新建立并恢复到最后一次转 存时的状态。 42

50 (3) 文件备份的发展 文件系统——文件操作和文件备份 ② 增量性转储 这种技术转储的只是从上次转储以后已经改变过的信息;
增量转储的信息量较小,故转储可在更短的时间周期内进 行。 (3) 文件备份的发展 ① 动态备份 ② 远程备份技术 43

51 文件系统——UNIX文件系统的主要结构及实现
及实现技术

52 1. UNIX文件系统的特点 (1) UNIX文件的特点 文件系统——UNIX文件系统的主要结构及实现 ① 树型文件目录结构
② 可安装拆卸的文件系统 ③ 文件是无结构的字符流式文件 ④ 将外部设备与文件一样对待 44

53 (2) UNIX文件的类型 文件系统——UNIX文件系统的主要结构及实现 ① 普通文件 用户程序、数据文件 ② 目录文件
用于组织和形成树型目录结构中的一个单位,由若干目录 项组成。 ③ 特别文件 与硬设备有关的文件称为特别文件。 包括块设备文件、字符设备文件。与计算机连接每一种输 入输出设备都有一个特别文件。它是操作系统核心用于存 取输入输出设备的通道,是用户与硬件设备联系的桥梁。 45

54 2. UNIX系统的索引文件结构 (1) 文件索引节点 文件系统——UNIX文件系统的主要结构及实现 ① 什么是文件索引节点
① 什么是文件索引节点 UNIX系统把文件目录项中除了名字以外的信息全部存放 到一个磁盘的数据块上,这种数据块就是文件索引节点 (indexnode),简称i节点,又称为磁盘索引节点。 在目录项中只有文件的名字和对应i节点的编号。 46

55 文件系统——UNIX文件系统的主要结构及实现
② 磁盘索引节点结构 ⅰ 文件所有者标识 定义对一个文件具有存取权的用户集合,分为文件所有者、用户组所有者 ⅱ 文件类型 分为正规文件、目录文件、字符特殊文件或块特殊文件 ⅲ 文件存取许可权 按文件所有者、文件的用户组所有者及其他用户三个类别对文件施行保护。每类都具有读、写、执行该文件的存取权,并且能分别地设置。 文件所有者标识 i_uid,i_gid 地址索引表   i_addr[13] 文件类型 i_type 文件存取许可权 i_mode 联接计数   i_ilink 文件存取时间  i_time 文件长度    i_size 磁盘索引节点的结构 47

56 文件系统——UNIX文件系统的主要结构及实现
ⅳ 文件联结数目 表示在文件目录结构中,有多少个文 件名指向该文件。每当增加一个名字 时,i_ilink值加1,减少一个名字时其 值减1。当其值减为0时,该文件才能 真正删除。 ⅴ 地址索引表 文件数据的磁盘地址明细表,即地址 索引表,在UNIX 第七版本用 i_addr[8] 来描述。在UNIX systemⅤ中用 i_addr[13]来描述。 文件所有者标识 i_uid,i_gid 地址索引表   i_addr[13] 文件类型 i_type 文件存取许可权 i_mode 联接计数   i_ilink 文件存取时间  i_time 文件长度    i_size 磁盘索引节点的结构 48

57 文件系统——UNIX文件系统的主要结构及实现
③ 磁盘索引节点示例 所有者 mjb 用户组 os 类 型 正规文件 许可权 wrx_rx__x 最后一次读文件 1023下午1∶45 最后一次写文件 1022 上午10∶30 最后一次改变索引节点 20131023下午1∶30 文件长度 字节 磁盘地址 i_addr[13] 磁盘索引节点示例 49

58 (2) UNIX文件索引结构 文件系统——UNIX文件系统的主要结构及实现 UNIX系统采用文件索引结构,文件所在的磁盘物理块号
可以不连续。 讨论 UNIX第七版本 的文件索引结构 UNIX system ⅴ的文件索引结构 50

59 文件系统——UNIX文件系统的主要结构及实现
ⅰ 小型文件 在文件i节点中使用一个具 有8个数据项的数组i_addr[] 来描述文件物理结构 构造小型文件时,数组 i_addr[ ]作为直接索引表。 文件的大小: 8×512B i_addr[0] i_addr[1] i_addr[2] i_addr[3] i_addr[4] i_addr[5] i_addr[6] i_addr[7] 100 57 200 UNIX 7 版本的小型文件结构 51

60 文件系统——UNIX文件系统的主要结构及实现
ⅱ 大型文件 i_addr[0] i_addr[1] i_addr[2] i_addr[3] i_addr[4] i_addr[5] i_addr[6] i_addr[7] 387 97 200 100 58 37 322 UNIX 7 版本的大型文件结构 数组i_addr[ ]用于一级间接索引, 只使用 i_addr[0] - addr[6] 系统支持的文件最大可为: 7×256×512B 52

61 文件系统——UNIX文件系统的主要结构及实现 ⅲ 巨型文件
296 466 i_addr[0] i_addr[1] i_addr[2] i_addr[3] i_addr[4] i_addr[5] i_addr[6] i_addr[7] 387 139 200 100 58 482 768 389 87 93 37 108 UNIX 7 版本的巨型文件结构 53

62 文件系统——UNIX文件系统的主要结构及实现
巨型文件支持的文件大小 i_addr[0]——i_addr[6] 用于一级间接索引 i_addr[7] 用于二级间接索引 系统支持的文件最大可为 (7× )×512B 54

63 文件系统——UNIX文件系统的主要结构及实现 ② UNIX system ⅴ的文件索引结构
UNIX system V 采用 i_addr[13]地址表来构造文件的索引结构。 一级间接索引 二级间接索引 三级间接索引 i_addr[0] i_addr[1] i_addr[2] i_addr[3] i_addr[4] i_addr[5] i_addr[6] i_addr[7] i_addr[8] i_addr[9] i_addr[12] i_addr[11] i_addr[10] 系统支持的文件最大可为:( )×512B 55

64 3. UNIX系统文件目录结构 (1) 目录项与目录文件 文件系统——UNIX文件系统的主要结构及实现 ① 目录文件
每个目录表为一个目录文件。目录文件由目录项组成。 ② 目录项 每个目录项包含16个字节 (UNIX系统老版本)。在目录项 中,第1、2字节为相应文件的辅存i节点号;后14个字节 为文件名。一个辅存磁盘块 (512B)包含32个目录项。 文件目录项结构 i节点号 文件名 1 2 3 15 56

65 (2) UNIX系统树型目录结构 文件系统——UNIX文件系统的主要结构及实现 ① 每个文件系统都有一个根目录文件,它的辅存i节点是相
应文件存储设备上辅存索引区中的第一个。 ② 打开某个文件时,从根目录的i节点可以找到根目录文件 的索引结构,得到根目录文件的每个数据块。 ③ 将待打开文件的路径信息与目录文件中的目录项逐一比 较,可以得到下级目录的i节点号,并最终得到目标文件 的i节点号。从i节点号中的索引表,得到数据文件的存储 块号,实现对目标文件的随机存取。 57

66 文件系统——UNIX文件系统的主要结构及实现
根目录文件 i节点 i_addr[0] i_addr[1] A0目录文件 A31目录文件 i_addr[5] 文件名 i节点号 A0 A31 B2 B31 BX0 BX31 B2数据文件 B31,BX0数据 文件i节点 i_addr[6] BX31数据 UNIX树型目录结构 磁盘块 58

67 (3) 文件目录结构中的勾链 文件系统——UNIX文件系统的主要结构及实现 UNIX文件目录结构中带有交叉勾链。用户可以用不同的
文件路径名共享一个文件。 文件勾链在用户看来是为一个已存在的文件另起一个路径 名。 文件勾链的结果表现为一个文件由多个目录项所指向。 UNIX只允许对非目录文件实行勾链。 59

68 文件系统——UNIX文件系统的主要结构及实现
例:一个文件有两个名字 /a/b/file /c/d/file2 两个文件的目录项同时指向一个数据文件i节 点,如下图所示。 目录文件/a/b 文件名 i节点号 file1 目录项 i节点 i_nlink: 2 i_addr[5] i_addr[0] 目录文件/c/d file2 文件存储块 目录结构中的勾链 60

69 4. UNIX系统的打开文件机构 (1) 活动i节点表 文件系统——UNIX文件系统的主要结构及实现
为了提高系统效率,减少主存空间的占用,系统设置了打开 文件和关闭文件操作。当打开一个文件时,建立用户与该文 件的联系。 文件系统中管理这一工作的机构称为打开文件机构。打开文 件机构由活动i节点表、打开文件表和用户文件描述符表组成。 (1) 活动i节点表 当执行打开文件操作时,将文件辅存i节点的有关信息拷贝 到主存,形成活动i节点表,他由若干个活动i节点组成。 活动i节点 (主存索引节点)的结构如下 61

70 文件系统——UNIX文件系统的主要结构及实现
主存索引节点状态 i_flag 设备号 i_dev 索引节点号 i_number 引用计数 i_count 文件所有者标识号 i_uid,i_gid 文件类型 i_type 文件存取许可权 i_mide 文件联结数目 i_nlink 文件长度 i_size 文件地址索引表 i_addr[13] 主存i节点结构 62

71 (2) 系统打开文件表 文件系统——UNIX文件系统的主要结构及实现 一个文件可以被同一进程或不同进程,用同一或不同路径
名,相同的或互异的操作要求 (读、写)同时打开。为了记 录打开文件所需的附加信息,文件系统设置了一个全程核 心结构—系统打开文件表。 系统打开文件表结构 读写标志 f_flag 引用计数 f_count 指向主存索引节点的指针 f_inode 读/写位置指针 f _offset 系统打开文件表结构 63

72 (3) 用户文件描述符表 (4) 实例 文件系统——UNIX文件系统的主要结构及实现
用户进程扩充控制块user中的一个数组u_ofile[NOFILE] 称为用户文件描述符表,其中的每一项 (指针)指向系统打 开文件表的一个表项。一个打开文件在用户文件描述表中 所占的位置就是它的文件描述符 (或称打开文件号)。 进程可以打开不同的文件,也可以对同一文件以不同的操 作方式打开。 (4) 实例 ① 假定一个进程执行下列代码 fd1=open (“/etc/passwd”,O_RDONLY); fd2=open (“loca”,OWR_ONLY); fd3=open (“/etc/passwd”,O_RDWR); 64

73 文件系统——UNIX文件系统的主要结构及实现
② 该进程打开文件后的数据结构 用户文件 描述符表 系统打开文件表 14 1 2 3 4 5 f_flag: 读 f_count=1 inode f_flag: 写 f_flag: 读-写 引用数 i_count=2 i_count=1 主存索引节点表 文件 /edc/passwd load 打开文件后的数据结构 65

74 5. 文件存储器空闲块的管理 (1) 文件卷和卷管理块 文件系统——UNIX文件系统的主要结构及实现
一个文件系统就是逻辑设备,每个逻辑设备占用一片连续 的磁盘存储空间。 文件卷上存放UNIX文件系统。文件卷 结构图如下。 数据区 索引节点区 引导块 管理块 文件系统磁盘存储区分配图 ① 引导块 大小为一个磁盘块,包含引导程序。 ② 索引节点区 索引节点结构组成。 ③ 数据区 数据文件占用的区域。 66

75 文件系统——UNIX文件系统的主要结构及实现
④ 管理块 记录文件系统各种数据,如:文件系统大小、空闲块数目等。 struct filsys { int s_isize; /* i节点区总块数 */ int s_fsize; /* 文件卷总块数 */ int s_nfree; /* 直接管理的空闲块数 */ int s_free[100]; /* 空闲块号栈 */ int s_ninode; /* 直接管理的空闲i节点数 */ int s_inode[100]; /* 空闲i节点号栈 */ char s_flock; /* 空闲块操作封锁标记 */ char s_ilock; /* 空闲i节点分配封锁标记 */ char s_fmod; /* 文件卷修改标记 */ char s_ronly; /* 文件卷只读标记 */ int s_time; /* 文件卷最近修改时间 */ } 67

76 (2) 空闲磁盘块的管理 文件系统——UNIX文件系统的主要结构及实现 ① 空闲磁盘块的组织方法
空闲磁盘块管理采用成组链接法,即将空闲表和空闲链两 种方法相结合。系统初启时,文件存储区是空闲。将空闲 块从尾倒向前,每100块分为一组 (注:最后一组为99块), 每一组的最后一块作为索引表,用来登记下一组100块的物 理块号和块数。那么,最前面的一组可能不足100块,这一 组的物理块号和块数存放在管理块的s_free[100]和s_nfree中。 ② 空闲磁盘块分组链接索引结构 68

77 文件系统——UNIX文件系统的主要结构及实现
③ 空闲磁盘块分组链接索引结构图示 第四组空闲块 (共77块) s_nfree: 100 s_free[0] s_free[1] s_free[99] 第三组空闲块 (共100块) 第二组空闲块 s_nfree: 77 s_free[76] 空闲块分组链接索引结构 69

78 文件系统——小结 第8章 文件系统 小结

79 文件系统——小结 文件系统基本概念 文件结构 文件的逻辑结构 文件的存取方法 文件、文件系统 定义 流式文件 记录式文件 顺序存取 随机存取
文件、文件系统 定义 文件结构 文件的逻辑结构 流式文件 记录式文件 文件的存取方法 顺序存取 随机存取 70

80 文件系统——小结 文件的物理结构 文件目录 文件目录项内容 重名问题,解决办法 树型文件目录 文件路径名,当前目录 连续文件定义、结构、特点
串联文件定义、结构、特点 索引文件定义、结构、特点、 一级间接索引结构、二级间接索引结构 文件目录 文件目录项内容 重名问题,解决办法 树型文件目录 文件路径名,当前目录 71

81 文件系统——小结 文件共享与安全 文件共享 文件安全的定义 用文件名加快文件的查找 文件共享定义 存取权限验证方法 建立当前目录 链接技术
72

82 文件系统——小结 文件操作与文件备份 文件操作 文件备份 常用的文件操作命令 文件备份的必要性 “打开文件”与“关闭文件” 定义、目的
“打开文件”与“关闭文件” 定义、目的 文件备份 文件备份的必要性 常用的两种文件备份方法:周期性备份、增量转储 73

83 文件系统——小结 UNIX文件系统的主要结构及实现 UNIX文件系统的特点 UNIX系统的索引文件结构 文件目录项组成
文件索引节点(磁盘索引节点)的结构 UNIX 7 版本文件索引结构 小型文件结构、大型文件结构、巨型文件结构 在此三种结构下,系统能支持的文件最大的字节数的计算 UNIX system V的文件索引结构 74

84 文件系统——小结 UNIX系统文件目录结构 UNIX系统的打开文件结构 文件存储器空闲块的管理 UNIX树型目录结构
便于随机存取的文件目录结构 目录结构中的勾链,支持不同文件路径名共享一个文件 UNIX系统的打开文件结构 设置打开文件机构的必要性 打开文件机构的组成: 活动i节点表、系统打开文件表、用户文件描述符表 文件存储器空闲块的管理 UNIX文件系统磁盘存储区(文件卷)的结构 空闲磁盘块的管理:成组链接法 75


Download ppt "文件系统 第8章 文件系统."

Similar presentations


Ads by Google