欢迎来到天天文库
浏览记录
ID:479928
大小:55.00 KB
页数:6页
时间:2017-08-09
《EXT2文件系统跟踪程序的设计与实现文献综述》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、文献综述EXT2文件系统跟踪程序的设计与实现一、前言部分写作目的:介绍在Linux系统背景下对第二扩展文件系统(EXT2)相关知识的了解,并且介绍了其他几种主流的Linux文件系统的优势与不足。熟悉EXT2文件系统的应用,以加深对EXT2文件系统这方面知识的理解,为文件系统跟踪程序的开发提供一定的启发性和指导性。相关概念:Linux操作系统,是一套自由使用(一般可以免费使用)和自由传播的类Unix操作系统。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约、全世界都能自由使用的Unix兼容产品。而所谓的文件系统,就是在操作系统中负责管理和存储文
2、件信息的软件机构。文件系统由三部分组成:与文件管理有关的软件、被管理的文件以及实施文件管理所需的数据结构。从系统角度来看,文件系统是对文件存储器空间进行组织和分配,负责文件的存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。其中TheSecondExtendedFileSystem(ext2)文件系统是Linux系统中的标准文件系统[14],是通过对Minix的文件系统进行扩展而得到的,其存取文件的性能极好。 在ext2文件系统中,文件由inode(包含文件的所有信息)进行唯一标识。一个文件
3、可能对应多个文件名,只有在所有文件名都被删除后,该文件才会被删除。此外,同一文件在磁盘中存放和被打开时所对应的inode是不同的,并由内核负责同步。ext2文件系统采用三级间接块来存储数据块指针,并以块(block,默认为1KB)为单位分配空间[14]。其磁盘分配策略是尽可能将逻辑相邻的文件分配到磁盘上物理相邻的块中,并尽可能将碎片分配给尽量少的文件,以从全局上提高性能。ext2文件系统将同一目录下的文件(包括目录)尽可能的放在同一个块组中,但目录则分布在各个块组中以实现负载均衡。在扩展文件时,会尽量一次性扩展8个连续块给文件(以预留空间的形式实现)。一、磁盘组织 在ext2系统中,
4、所有元数据结构的大小均基于“块”,而不是“扇区”。块的大小随文件系统的大小而有所不同。而一定数量的块又组成一个块组,每个块组的起始部分有多种多样的描述该块组各种属性的元数据结构。ext2文件系统中对各个结构的定义都包含在原始的include/linux/ext2_fs.h文件中。 1、超级块[8] 每个ext2文件系统都必须包含一个超级块,其中存储了该文件系统的大量基本信息,包括块的大小、每块组中包含的块数等。同时,系统会对超级块进行备份,备份被存放在块组的第一个块中。超级块的起始位置为其所在分区的第1024个字节,占用1KB的空间。 2、块组描述符 一个块组描述符用来描述一个块
5、组的属性。块组描述符组由若干块组描述符组成,描述了文件系统中所有块组的属性,存放于终极块所在块的下一个块中。 3、块位图和inode位图 块位图和inode位图的每一位分别指出块组中对应的那个块或inode是否被使用。 4、inode表 inode表用于跟踪定位每个文件,包括位置、大小等(但不包括文件名),一个块组只有一个inode表。 5、数据块数据块中存放文件的内容,包括目录表、扩展属性、符号链接等。二、目录结构在ext2文件系统中,目录是作为文件存储的。根目录总是在inode表的第二项,而其子目录则在根目录文件的内容中定义。 三、文件扩展属性 文件的属性大多数是位于该文件的
6、inode结构中的标准属性,也还包含其他一些扩展属性(与系统中所有的inode相关,通常用于增加额外的功能)。 inode的i_file_acl字段中保存扩展属性的块的块号。属性头部项位于属性块的起始位置,其后为属性入口项,而属性值能根据属性入口项找到所在位置。二、主题部分Linux是一种类Unix操作系统,它最初是以Minix为基础开发的,所以早期的Linux引进的是Minix文件系统[8]。但是Minix有两个重要的限制:其文件名最长不能超过14个字符且块地址最多只能存放16位整数(2个字节),因此最大的文件不超过64MB。为了解决这些限制,并把它们加入新的Linux内核中,于是
7、提出VFS(虚拟文件系统)。VFS最初是由ChrisProvenzano编写,然后被LinusTorvalds的改写整合嵌入Linux内核。VFS使得Linux可以支持多个不同的文件系统,每个表示一个VFS的通用接口。由于软件将Linux文件系统的所有细节进行了转换,所以Linux核心的其它部分及系统中运行的程序将看到统一的文件系统。Linux的虚拟文件系统允许用户同时能透明地安装许多不同的文件系统。在VFS被加人内核,并于1992年4月开发出
此文档下载收益归作者所有