Linux的文件系统

来源:互联网 发布:淘宝网怎么打好评 编辑:程序博客网 时间:2024/05/22 01:26

       文件系统为 Linux提供了从硬盘中存取的0和1到你的应用中用到的文件和目录的桥梁。Linux支持多种类型的文件系统来管理文件和目录,每种文件系统都在存储设备上实现了虚拟目录结构,只是特性略有不同。

        Linux最早引入的文件系统叫做扩展文件系统(extended filesystem,简记ext),它为Linux提供了一个基本的类Unix文件系统:使用虚拟目录来操作硬件设备,在物理设备上按定长的块来存储数据。ext文件系统采用称作索引节点的系统来存放虚拟目录中所存储文件的信息,索引节点系统在每个物理设备中创建一个单独的表来存储这些文件的信息。Linux通过唯一的数值(称作索引节点号)来引用索引节点表中的每个索引节点,这个值是创建文件时由文件系统分配的,文件系统通过索引节点号而不是文件全名及路径来标示文件,此文件系统的文件大小不得超过2GB,

       ext2是ext文件系统基本功能的扩展,但维护着同样的结构,ext2文件系统扩展了索引节点表的格式来保存系统上每个文件的更多信息。ext2的索引节点表为文件添加了创建时间值,修改时间值和最后访问时间值来帮助管理员追踪文件的访问情况。ext2文件系统还文件大小限制增加到了2TB,后期增加到了32TB,还改变了文件在数据块中存储的方式。ext文件系统的碎片化特别严重。ext2通过按组分配磁盘块来减轻碎片化。通过将数据块分组,文件系统不需要为了数据块查找整个物理设备来读取文件。文件系统每次存储或更新文件,它都要用新信息来更新索引节点表,如果在存储文件和更新索引节点表的过程中,计算机系统发生了什么事情,这二者就不同步了。ext2文件系统由于容易在系统崩溃或断电时损坏而臭名昭著,这样,即使文件数据正常地保存到了物理设备上,如果索引节点表记录没完成更新,ext2文件系统甚至都不知道那个文件存在。

       日志文件系统取代了之前先将数据直接写入存储设备再更新索引节点表的做法,日志文件系统先将文件的更改写入到临时文件,然后在数据成功写到存储设备和索引节点表之后,再删除对应的日志条目。如果系统再数据被写入到存储设备之前崩溃了或断电了,日志文件系统下次会读取日志文件并处理上次留下的未写入数据。ext3和ext4就是基于ext2文件系统的两个独立的日志文件系统。

       ext3虽然为文件系统添加了基本的日志功能,但是无法恢复误删的文件,没有任何内建的数据压缩功能,也不支持加密文件。ext3在2001年被加入Linux内核中。

       ext4支持数据压缩和加密,还支持一个称为区段的特性,区段在存储设备上按块分配空间,但再索引节点表只保存起始块的位置,ext4在2008年被Linux内核官方支持,现在已经是大多数流行的Linux发行版的默认文件系统。

0 0
原创粉丝点击