1、文件系统,文件系统,文件系统的基本概念 文件的逻辑结构与存取方法 文件的物理结构 文件目录 文件的共享与安全 文件操作与文件备份 Linux文件系统,1,文件系统主要内容,2,1. 文件 什么是文件文件是在逻辑上具有完整意义的信息集合,它有一个名字以供标识,文件名是以字母开头的字母数字串。 构成文件的基本单位 信息项、记录 文件的其他描述 文件是具有符号名的信息(数据)项的集合 文件是具有符号名的记录的集合,文件系统文件系统的基本概念,3,文件分类 按文件的性质和用途分类 系统文件 程序库文件 用户文件 按文件保护级别分类 不保护文件 执行文件 只读文件 读写文件 按文件流向分类 输入文件 输
2、出文件 输入输出文件,文件系统文件系统的基本概念,4,文件名与属性 文件名每个文件有一个给定的名字,这个名字是由串描述且由文件内容来表示,包括文件符号名和内部标识符。 用户使用文件符号名进行文件操作 系统使用文件内部标识符管理文件 文件扩展 文件扩展表示文件的使用特征,如:.c .obj .lib 等。 文件属性 文件的属性字,表示文件类别、保护级等信息。,文件系统文件系统的基本概念,5,2. 文件系统 什么是文件系统文件系统是操作系统中负责管理和存取文件信息的软件机构。 管理文件所需的数据结构 (如目录表、文件控制块、存储分配表) 管理程序 一组操作 文件系统的功能 从用户角度看 文件系统实
3、现了“按名存取”的功能 从系统角度看 构造文件结构 提供文件共享功能 辅存空间管理,文件系统文件系统的基本概念,提供存取文件的方法 文件保护 提供一组文件操作命令,6,安全可靠提供防护措施,在文件遭受破坏时,能及时复。全量备份、增量备份、动态备份、远程备份,既能共享,又能保密身份验证、存取权限验证。,文件系统的特点 使用简单使用文件名、一组文件操作命令。,文件系统文件系统的基本概念,7,3. 文件组织的两种结构 文件的逻辑结构 什么是逻辑文件从用户角度看到的文件面貌。即用户对信息进行逻辑组织形成的文件结构。 研究文件逻辑结构的目的 为用户提供一种逻辑结构清晰、使用简便的逻辑文件形式; 用户按文
4、件的逻辑结构形式去存储、检索和加工文件中的信息。,文件系统文件系统的基本概念,8,文件的物理结构 什么是物理文件文件的物理结构是信息在物理存储器上的存储方式,是数据的物理表示和组织。 研究文件物理结构的目的 选择工作性能良好、设备利用率高的物理文件形式; 系统按照文件的物理结构形式和外部设备打交道,控制信息的传输。,文件系统文件系统的基本概念,9,逻辑记录与物理记录(磁盘块) 逻辑记录文件中按信息在逻辑上的独立含义来划分的信息单位,逻辑记录是对文件进行存取操作的基本单位。 物理记录在存储介质上,由连续信息所组成的一个区域称为块,也叫物理记录。 逻辑记录与物理记录的区别与联系 一个是逻辑的概念,
5、一个是物理的概念 逻辑记录最终要存放到物理记录上,文件系统文件系统的基本概念,10,1. 文件的逻辑结构 流式文件 什么是流式文件流式文件是相关的有序字符的集合,是无结构的。 流式文件的存取流式文件是按信息的个数或以特殊字符为界进行存取的。 记录式文件 什么是记录式文件记录式文件是一种有结构的文件。这种文件在逻辑上总是被看成一组连续顺序的记录的集合。,文件系统文件的逻辑结构与存取方法,11,定长记录与变长记录 定长记录,文件系统文件的逻辑结构与存取方法,变长记录,12,2. 文件存取方法 顺序存取后一次存取总是在前一次存取的基础上进行的。顺序存取时不必给出具体的存取位置。 随机存取用户以任意次
6、序请求某个记录。随机存取时要指出起始存取位置(例如记录号)。,文件系统文件的逻辑结构与存取方法,13,常用的文件物理结构:连续文件、串联文件、索引结构 1. 连续文件 什么是连续文件 连续文件结构是由一组分配在磁盘连续区域的物理块组成的。,文件系统文件的物理结构,连续文件结构例 文件有三个记录(逻辑记录与物理块大小相等,都为512),采用连续文件结构,r0存放在块号为100的磁盘块上。,14,文件系统文件的物理结构,连续文件的特点 连续存取时速度较快 文件长度一经固定便不易改变 文件的增生和扩充不易,问题:在连续文件结构下,存取 r i 记录时,应如何操作 ?,15,2. 串联文件 什么是串联
7、文件 串联文件结构是按顺序由串联的块组成的,即文件的信息存于若干块物理块中,每个物理块的最末一个字作为链接字,它指出后继块的物理地址。文件的最后一块的链接字为结束标记“”,它表示文件至本块结束。,文件系统文件的物理结构,串联文件结构例,16,文件系统文件的物理结构,串联文件的特点 能较好地利用辅存空间 易于对文件进行增生和扩充 连续存取时速度较快,问题:在串联文件结构下,存取 r i 记录时,应如何操作 ?,17,3. 索引文件 什么是索引文件 系统为每个文件建立逻辑块号与物理块号的对照表。这张表称为该文件的索引表。文件由数据文件和索引表构成。这种文件称为索引文件。,文件系统文件的物理结构,1
8、8,索引文件结构例,文件系统文件的物理结构,19,索引文件的操作 索引文件在存储区中占两个区 索引区:存放索引表 数据区:存放数据文件 访问索引文件的操作 查文件索引,由逻辑块号查得物理块号 由此磁盘物理块号而获得所要求的信息 索引文件的特点 易于文件的增删 直接读写任意记录,文件系统文件的物理结构,20,4. 索引表的组织多级索引 直接索引,文件系统文件的物理结构,文件目录项中有一组表项用于索引。每一个表项登记的是逻辑记录所在的磁盘块号。,21,一级间接索引,文件系统文件的物理结构,文件目录项中有一组表项,其内容登记的是第一级索引表块的块号。第一级索引表块中的索引表项登记的是文件逻辑记录所在
9、的磁盘块号。,22,二级间接索引,文件系统文件的物理结构,文件目录项中有一组表项,其内容登记的是第二级索引表块的块号。第二级索引表块中的索引表项登记的第一级索引表块的块号,第一级索引表项中登记的是文件逻辑记录所在的磁盘块号。,23,5. UNIX系统的索引文件结构,文件索引节点 目录项 UNIX系统把文件目录项中除了名字以外的信息全部存放到一个数据块上,这种数据块就是文件索引节点(index node),简称i节点。 在目录项中只有文件的名字和对应i节点的编号。,文件系统文件的物理结构,24,索引节点结构,文件所有者标识定义对一个文件具有存取权的用户集合,分为文件所有者、用户组所有者 文件类型
10、分为正规文件、目录文件、字符特殊文件或块特殊文件 文件存取许可权按文件所有者、文件的用户组所有者及其他用户三个类别对文件施行保护。每类都具有读、写、执行该文件的存取权,并且能分别地设置。,文件系统文件的物理结构,25,文件联结数目表示在文件目录结构中,有多少个文件名指向该文件。每当增加一个名字时,i_ilink值加1,减少一个名字时其值减1。当其值减为0时,该文件才能真正删除。 地址索引表文件数据的磁盘地址明细表,即地址索引表,在UNIX 第七版本用 i_addr8来描述。在UNIX system中用i_addr13来描述。,文件系统文件的物理结构,26,索引节点示例,文件系统文件的物理结构,
11、27,UNIX文件索引结构 UNIX系统的文件采用不连续分配,文件所在的磁盘物理块号是不连续的。 UNIX系统采用文件索引结构讨论UNIX第七版本 的文件索引结构UNIX system 的文件索引结构,文件系统文件的物理结构,28,在文件i节点中使用一个具有8个数据项的数组i_addr来描述文件物理结构 构造小型文件时,数组i_addr 作为直接索引表。 文件的大小: 8512B,UNIX第七版本的文件索引结构 小型文件,文件系统文件的物理结构,29,大型文件,数组i_addr 用于一级间接索引,只使用 i_addr0 - addr6 系统支持的文件最大可为: 7256512B,文件系统文件的
12、物理结构,30,巨型文件,文件系统文件的物理结构,31,巨型文件支持的文件大小,i_addr0i_addr6 用于一级间接索引 i_addr7用于二级间接索引 系统支持的文件最大可为(7256 + 2562 )512B,文件系统文件的物理结构,UNIX system 的文件索引结构 UNIX system V 采用 i_addr13地址表来构造文件的索引结构。,文件系统文件的物理结构,32,系统支持的文件最大可为:(10+256+2562+2563)512B,33,1. 文件目录有关概念 什么是文件目录文件目录是记录文件的名字、存放地址及其他有关文件的说明信息和控制信息的数据结构。 文件目录项
13、的内容 文件名 文件逻辑结构说明该文件的记录是否定长、记录长度及记录个数等。,文件系统文件目录及其结构,34,文件物理结构:记录文件的物理结构形式 连续文件指出文件第一块的物理地址、文件所占块数串联文件指出该文件第一块的物理地址 索引文件指出索引表地址 存取控制信息文件主具有的存取权限、核准的其他用户及其相应的存取权限 管理信息文件建立日期、时间,上一次存取时间、要求文件保留的时间等 文件类型文件的类型,例如可分为数据文件、目录文件、块存储设备文件、字符设备文件,文件系统文件目录及其结构,35,2. 一级文件目录 什么是一级文件目录系统将已建立的所有文件的文件名、存放地址及有关的说明信息放在一
14、张表中,这张表称为一级文件目录。表9.2 一级文件目录,文件系统文件目录及其结构,36,一级文件目录的特点 实现了按名存取的功能,比较简单; 要求文件名和文件之间有一一对应的关系,即:不允许两个文件有相同的名字。在多用户环境中,出现了重名问题,或称为命名冲突 重名问题 所谓“重名”,是指不同用户对不同文件起了相同的名字,即两个或多个文件只有一个相同的符号名。又称为命名冲突。为了解决命名冲突、获得更灵活的命名能力,文件系统必须采用多级目录结构,文件系统文件目录及其结构,37,3. 树型文件目录 什么是树型文件目录在多级目录系统中(除最末一级外),任何一级目录的目录项可以描述一个目录文件,也可以描
15、述一个非目录文件(数据文件),而数据文件一定在树叶上。这样,就构成了一个树形层次结构。,文件系统文件目录及其结构,38,树型文件目录结构,文件系统文件目录及其结构,39,文件路径名 多级目录中,文件的路径名是由根目录到该文件的通路上所有目录文件符号名和该文件的符号名组成的字符串,相互之间用分隔符分隔。,文件系统文件目录及其结构,图中id为15的文件的文件路径名为 /b/f/J,40,如何解决重名问题,文件系统文件目录及其结构,图中id为13的文件与id为20的文件有相同的文件名,都为a。id为13的文件的文件路径名 ?id为20的文件的文件路径名 ?,/a/a/a/b/d/a,41,当前目录
16、什么是当前目录又称值班目录。它是当前用户正在使用的文件所在的目录。当指定当前目录后,用户对文件的所有访问都是相对于“当前目录”进行的。这时,文件路径名是由“当前目录”到信息文件的通路上所有各级目录的符号名加上该信息文件的符号名组成。,文件系统文件目录及其结构,例 当指定当前目录为id=3 时,id为20的文件文件路径名为 d/a,42,4. 文件共享与安全 文件共享 什么是文件共享是指某一个或某一部分文件可以让事先规定的某些用户共同使用。 建立“当前目录”实现文件共享系统规定标识文件的通路可以往上“走”,并用“”表示一个给定目录文件的父结点。,文件系统文件共享与安全,43,当前目录id=8,共
17、享子目录c的文件a(id=12),文件系统文件共享与安全,使用文件路径名 /c/a 访问id=12的文件,44,采用“链接技术”实现文件共享所谓“链接”,就是在相应目录表目之间进行链接,即一个目录中的表目直接指向另一个目录表目所在的物理位置。注意,这种链接不是直接指向文件,而是指向相应的目录表目。这种办法也称为连访,被共享的文件称为连访文件。,文件系统文件共享与安全,45,子目录f共享子目录e中的文件j,假定当前目录为id=8,子目录 f 共享子目录e中的文件 j 用文件路径名 k直接存取文件j,id =17,文件系统文件共享与安全,46,子目录d共享子目录c中的文件a,假定当前目录为id=3
18、,子目录b共享子目录c中的文件a 用文件路径名 d/f 存取文件a,id=12,文件系统文件共享与安全,47,文件安全 什么是文件安全所谓文件安全,就是文件的保护问题。 文件的保护是指文件本身不得被未经文件主授权的任何用户存取,而对于授权用户也只能在允许的存取权限内使用文件。 如何进文件的保护需要对用户的权限进行验证。所谓存取权限的验证,是指用户存取文件之前,需要检查用户的存取权限是否符合规定,符合者允许使用,否则拒绝。,文件系统文件共享与安全,48,1. 文件操作 常用的文件操作命令 create 创建一个新文件 delete 从系统目录中撤消一个文件 rename 在系统目录中改变文件的名
19、字 open 打开文件在用户和文件(或设备)之间建立一个逻辑通路 close 关闭文件在用户和文件(或设备)之间撤消一个逻辑通路 write 写到一个文件(或设备)上 read 从一个文件(或设备)读入数据信息,文件系统文件操作和文件备份,49,“打开文件”和“关闭文件”操作操作 打开文件操作所谓打开文件就是把该文件的有关目录表目复制到主存中约定的区域,建立文件控制块,建立用户和这个文件的联系。 关闭文件操作所谓关闭文件就是用户宣布这个文件当前不再使用,系统将其在主存中的文件控制块删去,因而也就切断了用户同这个文件的联系。,文件系统文件操作,50,2. 文件备份 什么是文件备份 为了能在软、硬
20、件失效的意外情况下恢复文件,保证文件的完整性、数据的连续可利用性,文件系统提供适当的机构,以便复制备份。 文件备份的方法 周期性转储 按固定的时间周期把存储器中所有文件的内容转存到某种介质上,通常是磁带或磁盘。在系统失效时,使用这些转存磁盘或磁带,将所有文件重新建立并恢复到最后一次转存时的状态。,文件系统文件操作和文件备份,51,增量性转储 这种技术转储的只是从上次转储以后已经改变过的信息; 增量转储的信息量较小,故转储可在更短的时间周期内进行。 文件备份的发展 动态备份 远程备份技术,文件系统文件操作和文件备份,52,1. 虚拟文件系统(VFS)概述 什么是虚拟文件系统虚拟文件系统也成称为虚
21、拟文件系统转换,它是一个内核软件层,用来处理与UNIX标准文件系统相关的所有系统调用。 虚拟文件系统支持的文件类型 磁盘文件系统 磁盘文件系统管理本地磁盘分区中可用的存储空间或者其它可以起到磁盘作用的设备(如USB闪存)。 Linux使用的文件系统,如Ext2、Ext3和Reiser文件系统; UNIX家族的文件系统,如System文件系统、USF、MINIX文件系统以及ScoUnix Ware; 微软公司的文件系统,如MS-DOS、VFAT及NTFS。,文件系统Linux文件系统,53,网络文件系统 网络文件系统支持对其他网络计算机上文件系统包含文件的访问。 虚拟文件系统支持的网络文件系统有
22、NFS、AFS、CIFS等。 特殊文件系统 特殊文件系统不管本地或远程磁盘空间,包含操作系统内核的数据结构,它提供一种便利的方式让系统程序员可以访问这些数据结构 。 其例子是/proc文件系统。,文件系统Linux文件系统,54,2. VFS通用文件系统模型与VFS对象 VFS通用文件系统模型 VFS提供了一个通用的文件系统模型 该模型包括了所有不同类型的文件系统常用的功能和操作,它定义了所有文件系统都支持的基本的、概念上的接口和数据结构。 VFS提供了一个抽象层该抽象层提供的统一接口隐藏了实际文件系统的具体的实现细节。,文件系统Linux文件系统,55,VFS使用的例用户程序中的写操作的实施
23、过程 一个用户程序中的写操作请求通过VFS的映射、实际文件系统的具体实施,最终将信息写到物理介质上。,文件系统Linux文件系统,56,VFS对象类型 超级块对象(superblock object) 代表已安装的文件系统,存放已安装文件系统的所有信息。 索引节点对象(inode object) 代表一个文件,描述一个具体文件的所有信息。 目录项对象(dentry object) 代表一个目录项,是路径名的一个组成部分 。 文件对象(file object) 它代表由进程打开的文件。,文件系统Linux文件系统,57,3. 与进程相关的数据结构每个进程都有当前目录(或根目录),进程活动期间都要
24、打开各种文件。Linux系统使用fs_struct和file_struct结构体描述以上信息。 fs_struct结构体 描述进程的当前目录(或根目录)的信息; 每个进程描述符的fs字段就指向该进程的fs_struct结构体,文件系统Linux文件系统,表9.13 fs_struct结构的主要字段,58,file_struct结构体 描述与每个进程所有相关的信息,如打开的文件及文件描述符等; 该结构的地址存放在进程描述符的file字段中。,文件系统Linux文件系统,表9.14 fs_struct结构的主要字段,59,4. VFS系统调用的实现 路径名的查找路径名查找的实质是从文件路径名查找相
25、应的索引节点。 若路径名的第一个字符是“/”,那么这个路径名是绝对路径,因此从currentfsroot(进程的根目录)所标识的目录开始搜寻;否则路径名是相对路径,因此应从currentfspwd(进程的当前目录)所标识的目录开始搜寻; 内核检查与第一个名字匹配的目录项,以获得相应的索引节点,然后从磁盘中读出索引节点的目录文件; 然后,检查与与第二个名字匹配的目录项,以获得相应的索引节点。对于包含在路径名中的每一个名字,这个过程反复执行。 Linux系统使用了目录项高速缓存,以加快路径名查找的速度。,文件系统Linux文件系统,60,open( )系统调用的实现 调用形式open()系统调用的
26、服务例程为sys_open()函数,该函数接受的参数:filename:要打开的文件路径名fiags :访问模式的标志mode :该文件被创建时所需要的许可权若该系统调用成功,返回文件描述符(即为fd表中的索引号);否则返回1。,文件系统Linux文件系统,61,sys_open()函数的主要工作 调用getname()函数,从进程地址空间中读取文件路径名; 在currentfilefd中查找一个空位置,获得在fd表中的索引号,即为该打开文件的描述符; 调用file_open()函数,传递参数,包括路径名、访问模式标志、许可权位掩码,检查操作的合法性,并设置相应的标志;分配一个新的文件对象,设
27、置相应的f_flags和f_mode字段;将f_op字段设置为相应索引节点对象i_fop字段的内容,为进一步的文件操作建立所有的方法;返回文件对象地址; 调用getname()函数,从进程地址空间中读取文件路径名; 将currentfilefdfd置为返回的文件对象的地址; 返回fd(文件描述符)。,文件系统Linux文件系统,62,read( )和write()系统调用的实现 调用形式read( )和write()系统调用非常相似,所需参数都为3:fd: 文件描述符;buf: 主存区地址,该缓存区包含要传送的数据;count:指定的应传送的字节数。返回:成功传送的字节数;或发送一个错误条件的
28、信号并返回1。 read( )系统调用的访问例程称为sys_read() write()系统调用的访问例程称为sys_write() 这两个系统调用几乎执行相同的步骤,文件系统Linux文件系统,63,sys_read()和sys_write()函数的主要工作 调用形式从fd获取相应文件对象的地址file; 若filef_mode中的标志不允许读(或写)则返回一个错误码(EBADF); 若文件对象没有read() (或write()文件操作,则返回一个错误码(EINVAL); 检查buf和count参数,进行验证; 调用filef_opread() (或filef_opwrite()方法传送数
29、据。执行完成返回实际传送的字节数,同时文件指针被更新; 释放文件对象; 返回调用者,实际传送的字节数。,文件系统Linux文件系统,64,close( )系统调用的实现 close( )系统调用接受的参数为要关闭文件的文件描述符fd,其服务例程为sys_ close( ) 。 sys_ close( )函数的主要工作 获取存放在currentfilefdfd中的文件对象地址; 将currentfilefdfd置为NULL,释放文件描述符fd; 调用filp_close(),释放文件上的所有锁,释放文件对象; 返回0或一个出错码(出错码可能由文件中的前一个写操作产生)。,文件系统Linux文件系
30、统,65,5. Ext2文件系统概述Ext2是Linux系统所固有的,它运行稳定且高效。 Ext2文件系统的特征 可选择最佳块大小,提高系统性能 块大小可以从1024B到4096B字节之间选择; 根据预测的文件平均长度来选择最佳块大小,可以减少磁盘传送次数,从而减轻系统开销。,文件系统Linux文件系统,66,可选择分区上的索引节点数,有效地利用磁盘空间 根据给定的分区大小来预测可存放的文件数,以此来确定该分区上可分配的索引节点数; 这样可以有效地利用磁盘空间 。 以块组结构减少磁盘的平均寻道时间 Ext2文件系统将磁盘块分组,每组包含存放在相邻磁道上的数据块和索引节点。这种块组结构使得对存放
31、在一个单独块组中的文件进行访问时,减少了磁盘的平均寻道时间。,文件系统Linux文件系统,67,Ext2文件类型 Ext2文件类型如下表所示,文件系统Linux文件系统,表9.16 Ext2文件类型,68,普通文件 普通文件是最常见的,它在刚创建时是空白的,并不需要磁盘数据块,只有在开始有数据时才分配数据块。 目录文件 目录文件是一种特殊文件,它由Ext2目录项组成; Ext2目录项是一个类型为ext2_dir_extry_2的结构,它将文件名和索引节点号存放在一起。 ext2_dir_extry_2结构的主要字段和说明如表9.17所示。,文件系统Linux文件系统,69,设备文件、命名管道文
32、件和套接字 这类文件不需要数据块,所有必要的信息都存放在索引节点中。 符号链接 当符号链接的路径名小于60个字符时,它就存放在索引节点上的i_blocks字段中,这样就不需要数据块。,文件系统Linux文件系统,表9.17 ext2_dir_extry_2的结构,70,6. Ext2磁盘数据结构 Ext2文件系统在磁盘上的分布 磁盘的第一块为引导扇区,包括一个分区表和初始引导程序,用来引导操作系统; 磁盘的其余部分分成为块组,从块组0到块组n,所有块组大小相同并顺序存放。 Ext2文件系统在磁盘上的分布如图9.19所示。,文件系统Linux文件系统,71,Ext2文件系统在磁盘上的分布,文件系
33、统Linux文件系统,一个磁盘上可建立多少个块组决定于分区的大小和块的大小,主要限制在于数据块位图。 数据块位图用来标识一个组中块的占用/空闲状况,并存放在一个单独的块中。,72,Ext2磁盘块组结构Ext2磁盘块组包括超级块、组描述符、数据块位图、索引节点位图、索引节点表和数据块。 超级块 每个块组中的超级块存放在一个称为ext2_super_block的结构中。 组描述符 每个块组都包含一个组描述符,它是一个ext2_group_desc结构。 索引节点表 索引节点表由若干个连续的块组成,索引节点表的第一块的块号存放在组描述符的bg_inode_table字段中。,文件系统Linux文件系
34、统,73,7. Ext2磁盘空间管理 从文件的偏移量f 确定相应数据块在磁盘上的块号需要的操作 从偏移量f导出文件的逻辑块号(逻辑记录) f/文件系统的逻辑块大小(结果取整) 将文件的逻辑块号(逻辑记录)转化为相应的磁盘块号 磁盘索引节点上的i_block字段包含Ext2_n_blocks (通常为15)个指针元素,这些元素中包含已分配给文件的磁盘块号。 在 Linux系统中,这15个元素组成的数组按如下方式使用0 11用作直接索引;12用作一级间接索引;13用作二级间接索引;14用作三级间接索引。,文件系统Linux文件系统,74,Ext2文件系统的索引结构 直接索引 0 11个数组单元内存
35、放的是文件的逻辑记录所在的磁盘块号; 直接索引可登记逻辑记录号从0到11范围内的映射关系。 一级间接索引 第12个数组单元内存放的是一级间接索引表所占用的磁盘块号; 一级间接索引表中每一个表项的内容是文件的逻辑记录所在的磁盘块号。 设 b = 4KB(磁盘块的大小),每个逻辑记录号占4B字节,这样一个磁盘块用作索引表时,可有n个表项:n = b/4 = 1K个; 可登记逻辑记录号从12 (b/4+11) 范围内的映射关系。,文件系统Linux文件系统,75,二级间接索引 第13个数组单元内存放的是二级间接索引表所占用的磁盘块号; 二级间接索引表共有n个表项,每一个表项都分别指向一个一级间接索引
36、表,即每一个表项的内容分别是各一级间接索引表所在的磁盘块号; 在每个一级间接索引表中的每一个表项中存放的是逻辑记录所在的磁盘块号。 二级间接索引表可有(b/4)2个表项; 可登记逻辑记录号从(12+1024) (12+1024) +(102421)范围内的映射关系。,文件系统Linux文件系统,76,三级间接索引 第14个数组单元内存放的是三级间接索引表所占用的磁盘块号; 按以上方法类推。 三级间接索引表可有(b/4)3个表项; 可登记逻辑记录号从(12+1024+10242) (12+1024+10242)+(102431) 范围内的映射关系。,文件系统Linux文件系统,77,Ext2文件
37、系统的索引结构图示,文件系统Linux文件系统,78,文件系统基本概念 文件、文件系统 定义 文件结构 文件的逻辑结构 流式文件 记录式文件 文件的存取方法 顺序存取 随机存取,文件系统小结,79,文件的物理结构 连续文件定义、结构、特点 串联文件定义、结构、特点 索引文件定义、结构、特点 UNIX系统的文件索引结构 UNIX第七版本的文件索引结构 UNIXsystem 的文件索引结构,文件系统小结,80,文件目录 文件目录项内容 重名问题,解决办法 树型文件目录 文件路径名,当前目录 文件共享与安全 文件共享 文件共享定义 文件共享的实现方法 文件安全的定义,文件系统小结,81,文件操作 常用的文件操作命令 “打开文件”与“关闭文件” 定义 目的 Linux文件系统 VFS虚拟文件系统、支持的文件系统类型 VFS通用的文件系统模型包含的内容 fs_struct结构体和file_struct结构体的作用 open( )系统调用的主要工作 Ext2文件系统的特征 Ext2的类型 Ext2文件系统在磁盘上的分布 Ext2文件索引结构,文件系统小结,