9.1 Ext文件系统族简介

来源:互联网 发布:好听的网络名字女生 编辑:程序博客网 时间:2024/05/20 22:28
9.1 简介


Ext2和Ext3的特征可以简要地如下概述:
Ext2文件系统:该文件系统一直伴随着Linux,它已经成为许多服务器和桌面系统的支柱,工作及其出色。Ext2文件系统的设计利用了与虚拟文件系统非常类似的结构,因为开发Ext2时,目标就是要优化与Linux的互操作,但它也可以用于其他的操作系统。
Ext3文件系统: 这是Ext2的演化和发展。它仍然与Ext2兼容,但提供了扩展日志功能,这对系统崩溃的恢复特别有用。
首先讨论Ext2,由于其代码没有实现任何日志功能,与Ext3的时间相对比较简单,因而容易理解其基本原理。


    在管理基于磁盘文件系统的存储空间时,会遇到一个特殊的问题:碎片。随着文件的移动和新文件增加,可用空间变得越来越支离破碎,特别是在文件很小的情况下。由于这对访问速度有负面影响,文件系统必须尽可能减少碎片产生。


    另一个重要的需求是有效利用存储空间,在这里文件系统必须做出折中,要完全利用空间,必须将大量管理数据存储在磁盘上。这抵消了更紧凑的数据存储带来的好处,甚至可能使情况更糟。此外,我们还要避免浪费磁盘容量。如果空间未能有效使用,那么就失去了减少管理数据带来的好处。各个文件系统实现处理该问题的方法均有所不同。通常会引入由管理员配置的参数,以便针对预期的使用模式来优化文件系统。(例如,预期使用大量的大文件或小文件)


    维护文件内容的一致性也是一个关键问题。需要在规划和实现文件系统期间审慎考虑。即使最稳定的内核也可能猝然停工,可能是软件错误,也可能是由于断电,硬件故障等其他原因。即使此类事故造成不可恢复的错误(例如,如果修改被缓存在物理内存中,没有写回磁盘,那么修改会丢失),文件系统的实现必须尽可能快速、全面地纠正可能出现的损坏。在最低限度上,它必须能够将文件系统还原到一个可用状态。


最后,在评价文件系统的质量时,速度也是一个重要的因素。即使硬盘与CPU或物理内存相比极其很慢,但糟糕的文件系统会进一步降低系统的速度。