论文部分内容阅读
EXT2(第二代扩展文件系统)是早期GNU/Linux操作系统标准文件系统,是一个功能强大、易扩展的、性能上进行了全面优化的、支持长文件名的文件系统。它是Linux文件系统类型中使用最多的格式,在速度和CPU利用率上都有较为突出的优点。它很好地继承了Unix文件系统的主要特色,如普通文件的三级索引结构、目录文件的树型结构和把设备作为特别文件等。目前最新的Linux版本支持EXT3文件系统,它和EXT2文件系统在硬盘布局上是一样的,其差别仅是EXT3文件系统在硬盘上多出了一个特殊的索引节点(可以理解为一个特殊文件),用来记录文件系统的日志。
目前,Linux的应用已经从以个人用户为主体,迅猛地向产业化方向发展。随着成熟的内核2.6版本的推出,Linux这一通用操作系统集成了大量的应用程序和硬件配置,系统变得越来越庞大。但Linux的微内核结构使其应用不仅仅限于桌面和服务器,在嵌入式系统中更具潜力。嵌入式系统是用来控制或监视机器、装置或工厂等的大规模系统的设备,它是面向用户、面向产品、面向特定应用的。然而文件系统是操作系统一个重要的组成部分,因此我们首先对文件系统进行微型化改造。
随着嵌入式系统技术的飞速发展,在Linux的内核裁减方面已经取得了令人注目的成绩,但在文件系统微型化方面的研究还仍然停留在做一些功能的删除,没有深入到内部的结构。
本文首先介绍了EXT2文件系统的发展历史,并且阐述了文件系统对操作系统的重要性;其次对Linux操作系统的VFS文件系统和EXT2文件系统进行详细分析,着重介绍了EXT2文件系统的数据结构,以及对文件/目录基本操作的实现。
最后,根据EXT2文件系统的原理,编写了一个类EXT2文件系统——在实现文件系统基本功能的前提下,最大限度的压缩和裁减,使其容量尽可能小,完成了对EXT2文件系统的微型化,完善了《Linux操作系统原理》文件系统部分实验平台,也为文件系统的安全性研究提供一个精巧的运行平台,同时为实时系统和嵌入式系统的研究做准备。