文件系统 FAT/FAT32/NTFS/ufs/ext3/reiserfs介绍

FAT16/FAT32

FAT(File Allocation Table)是“文件分配表”的意思。顾名思义,就是用来记录文件所在位置的表格,它对于硬盘的使用是非常重要的,假若丢失文件分配表,那么硬盘上的数据就会因无法定位而不能使用了。

在推出FAT32文件系统之前,通常PC机使用的文件系统是FAT16。像基于MS-DOS,Win 95等系统都采用了FAT16文件系统。在Win 9X下,FAT16支持的分区最大为2GB。我们知道计算机将信息保存在硬盘上称为“簇”的区域内。使用的簇越小,保存信息的效率就越高。在FAT16的情况下,分区越大簇就相应的要增大,存储效率就越低,势必造成存储空间的浪费。并且随着计算机硬件和应用的不断提高,FAT16文件系统已不能很好地适应系统的要求。在这种情况下,推出了增强的文件系统FAT32。同FAT16相比,FAT32主要具有以下特点:1. 同FAT16相比FAT32最大的优点是可以支持的磁盘大小达到2TB(2047GB),但是不能支持小于512MB的分区。基于FAT32的Win 2000可以支持分区最大为32GB;而基于FAT16的Win 2000支持的分区最大为4GB。2. 由于采用了更小的簇,FAT32文件系统可以更有效率地保存信息。如两个分区大小都为2GB,一个分区采用了FAT16文件系统,另一个分区采用了FAT32文件系统。采用FAT16的分区的簇大小为32KB,而FAT32分区的簇只有4KB的大小。这样FAT32就比FAT16的存储效率要高很多,通常情况下可以提高15%。3. FAT32文件系统可以重新定位根目录和使用FAT的备份副本。另外FAT32分区的启动记录被包含在一个含有关键数据的结构中,减少了计算机系统崩溃的可能性。

NTFS1. NTFS 支持文件加密和分别管理功能(也就是著名的EFS加密格式),可为用户提供更高层次的安全保证。2. NTFS 具有更好的磁盘压缩性能,可进一步满足小硬盘用户的需要(读取会慢一些)。3. NTFS 最大支持高达2TB(1TB=1024GB)的大硬盘,而且它的性能不会随着磁盘容量的增大而降低。由此可见,NTFS格式具有许多独特的优点不过,呵呵,它也有一个缺点,那就是该磁盘文件格式不能被除它自己之外的其他操作系统所识别(NT 4.0也不例外),这就对数据交流造成了一定的影响,也就不支持DOS操作系统了,不过还是值得支持。

UFS

ufs现在有freebsd和solaris在使用。创建 UFS文件系统时,磁盘片被分成若干个柱面组。柱面组由一个或多个连续的磁盘柱面组成。柱面组又进一步分成若干个可寻址的块,以控制和组织柱面组中文件的结构。在文件系统中,每种类型的块都具有特定的功能。UFS文件系统具有以下四种类型的块。

块类型

所存储信息的类型

引导块

在引导系统时使用的信息

超级块

有关文件系统的详细信息

Inode

有关文件的所有信息

存储块或数据块

每个文件的数据

UFS 文件系统的地址链

典型的 UFS 文件系统

UFS 文件系统的最大大小约为16 TB的可用空间减去约1%的开销。稀疏文件可以具有1 TB的逻辑大小。但是,由于文件系统开销所致,可以存储在文件中的实际数据量比1 TB大约小1%。

UFS 文件系统中每目录的最大子目录数为32,767。此限制是预定义的,不能进行更改。

ext3文件系统

Linux ext2/ext3文件系统使用索引节点来记录文件信息,作用像windows的文件分配表。索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引节点数组中的唯一一个元素对应。系统给每个索引节点分配了一个号码,也就是该节点在数组中的索引号,称为索引节点号。

linux文件系统将文件索引节点号和文件名同时保存在目录中。所以,目录只是将文件的名称和它的索引节点号结合在一起的一张表,目录中每一对文件名称和索引节点号称为一个连接。 对于一个文件来说有唯一的索引节点号与之对应,对于一个索引节点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问它。

Ext3文件系统是直接从Ext2文件系统发展而来,目前ext3文件系统已经非常稳定可靠。它完全兼容ext2文件系统。用户可以平滑地过渡到一个日志功能健全的文件系统中来。这实际上了也是ext3日志文件系统初始设计的初衷。

Ext3日志文件系统的特点

1、高可用性

系统使用了ext3文件系统后,即使在非正常关机后,系统也不需要检查文件系统。宕机发生后,恢复ext3文件系统的时间只要数十秒钟。

2、数据的完整性:

ext3文件系统能够极大地提高文件系统的完整性,避免了意外宕机对文件系统的破坏。在保证数据完整性方面,ext3文件系统有2种模式可供选择。其中之一就是“同时保持文件系统及数据的一致性”模式。采用这种方式,你永远不再会看到由于非正常关机而存储在磁盘上的垃圾文件。

3、文件系统的速度:

尽管使用ext3文件系统时,有时在存储数据时可能要多次写数据,但是,从总体上看来,ext3比ext2的性能还要好一些。这是因为ext3的日志功能对磁盘的驱动器读写头进行了优化。所以,文件系统的读写性能较之Ext2文件系统并来说,性能并没有降低。

4、数据转换

由ext2文件系统转换成ext3文件系统非常容易,只要简单地键入两条命令即可完成整个转换过程,用户不用花时间备份、恢复、格式化分区等。用一个ext3文件系统提供的小工具tune2fs,它可以将ext2文件系统轻松转换为ext3日志文件系统。另外,ext3文件系统可以不经任何更改,而直接加载成为ext2文件系统。

5、多种日志模式

Ext3有多种日志模式,一种工作模式是对所有的文件数据及metadata(定义文件系统中数据的数据,即数据的数据)进行日志记录(data=journal模式);另一种工作模式则是只对metadata记录日志,而不对数据进行日志记录,也即所谓data=ordered或者data=writeback模式。系统管理人员可以根据系统的实际工作要求,在系统的工作速度与文件数据的一致性之间作出选择。

实际使用Ext3文件系统

创建新的ext3文件系统,例如要把磁盘上的hda8分区格式化ext3文件系统,并将日志记录在/dev/hda1分区,那么操作过程如下:

[root@serverroot]# mke2fs -j /dev/hda8

mke2fs 1.24a (02-Sep-2001)

Filesystem label=

OS type: Linux

Block size=1024 (log=0)

.. .. ..

Creating journal (8192 blocks): done

Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 30 mounts or

180 days, whichever comes first. Use tune2fs -c or -i to override.

在创建新的文件系统时,可以看到,ext3文件系统执行自动检测的时间为180天或每第31次被mount时,实际上这个参数可以根据需要随意调节。

以下将新的文件系统mount到主分区/data目录下:

[root@stionxx root]# mount -t ext3 /dev/hda8 /data

说明:以上将已格式化为ext3文件系统的/dev/hda8分区加载到/data目录下。

ext3 基于ext2的代码,它的磁盘格式和ext2的相同;这意味着,一个干净卸装的ext3文件系统可以作为ext2文件系统重新挂装。Ext3文件系统仍然能被加载成ext2文件系统来使用,你可以把一个文件系统在ext3和ext2自由切换。

这时在ext2文件系统上的ext3日志文件仍然存在,只是ext2不能认出日志而已

将ext2文件系统转换为ext3文件系统

将linux系统的文件系统由ext2转至ext3,有以下几处优点:第一系统的可用性增强了,第二数据集成度提高,第三启动速度提高了,第四ext2与ext3文件系统之间相互转换容易。

以转换文件系统为例,将ext2文件系统转换为ext3文件系统,命令如下:

[root@stationxx root]# tune2fs -j /dev/hda9

tune2fs 1.24a (02-Sep-2001)

Creating journal inode: done

This filesystem will be automatically checked every 31 mounts or

180 days, whichever comes first. Use tune2fs -c or -i to override.

这样,原来的ext2文件系统就转换成了ext3文件系统。注意将ext2文件系统转换为ext3文件系统时,不必要将分区缷载下来转换。

转换完成后,不要忘记将/etc/fstab文件中所对应分区的文件系统由原来的ext2更改为ext3。

ext3日志的存放位置

可以将日志放置在另外一个存储设备上,例如存放到分区/dev/hda8。例如要在/dev/hda8上创建一个ext3文件系统,并将日志存放在外部设备/dev/hda2上,则运行以下命令:

[root @stationxx root]#mke2fs -J device=/dev/hda8 /dev/hda2

ext3文件系统修复

新的e2fsprogs中的e2fsck支持ext3文件系统。当一个ext3文件系统被破坏时,先卸载该设备,在用

e2fsck修复:

[root @stationxx root] # umount /dev/hda8

[root @stationxx root] #e2fsck -fy /dev/hda8

总而言之,ext3日志文件系统是目前linux系统由ext2文件系统过度到日志文件系统最为简单的一种选择,实现方式也最为简洁。由于是直接从ext2文件系统发展而来,系统由ext2文件系统过渡到ext3日志文件系统升级过程平滑,可以最大限度地保证系统数据的安全性。目前linux系统要使用日志文件系统,最保险的方式就是选择ext3文件系统。

ReiserFS文件系统

ReiserFS是一种新型的文件系统,它通过一种与众不同的方式--完全平衡树结构来容纳数据,包括文件数据,文件名以及日志支持。ReiserFS还以支持海量磁盘和磁盘阵列,并能在上面继续保很快的搜索速度和很高的效率。

ReiserFS的特点(与ext2的对比):

ReiserFS相对于Linux上传统的文件系统--ext2有很多优点,在下面一一介绍。

搜寻方式

ReiserFS是基于平衡树(STree)的文件系统结构,尤其对于大量文件的巨型文件系统,如服务器上的文件系统,搜索速度要比ext2快;ext2使用局部的二分查找法,综合性能比不上ReiserFS。

在Reiser4中还运用了文件即是目录的设计来管理meta-data,并且运用了Hans Reiser自己发明的Dancing B-tree,效率提升非常明显。

空间分配和利用情况

ReiserFS里的目录是完全动态分配的,因此不存在ext2中常见的无法回收巨型目录占用的磁盘空间的情况。ReiserFS里小文件(

先进的日志机制

ReiserFS有先进的日志(Journaling/logging)机制,在系统意外崩溃的时候,未完成的文件操作不会影响到整个文件系统结构的完整性。ext2虽然健壮性很强,但一旦文件系统被不正常地断开,在下一次启动时它将不得不进行漫长的检查系统数据结构的完整性的过程,这是为了防止数据丢失而必需的操作。对于较大型的服务器文件系统,这种"文件系统检查"可能要持续好几个小时,在很多场合下这样长的时间是无法接受的。解决这个问题的一种技术"日志文件系统"。在日志的帮助下,每个对数据结构的改变都被记录下来,日志在机制保证了在每个实际数据修改之前,相应的日志已经写入硬盘。正因为如此,在系统突然崩溃时,在下次启动几秒钟后就能恢复成一个完整的系统,系统也就能很快的使用了。

在ext2的升级版本ext3中也运用了journaling机制。

支持海量磁盘和优秀的综合性能

ReiserFS是一个相当现代化的文件系统,相比之下,ext2虽然性能已经很好了,但其设计还只是20世纪80年代的水准。ReiserFS的出现,使Linux拥有了像Irix/AIX那样的高档商用Unix才有的高级文件系统。ReiserFS可轻松管理上百G的文件系统,在企业级应用中有其用武之地,由于它的高效存储和快速小文件I/O特点,它在桌面系统上也表现出色:启动X窗口系统的时间ReiserFS比ext2少1/3。

3.缺点

出现异常断电的时候,会出现大量的未写入完全的数据。ReiserFS会在恢复的时候进行rebuild-tree。而这个过程是非常慢的。在ReiserFS的升级版本Reiser4中有所改观。

鸿蒙支持ntfs,文件系统 FAT/FAT32/NTFS/ufs/ext3/reiserfs介绍相关推荐

  1. fat,fat32,ntfs,ext2,ext3等 文件系统说明

    A.FAT16(最大分区2GB,最大文件2GB ,最大容量) 在说明FAT16文件系统之前,我们必须清楚FAT是什么?FAT(File Allocation Table)是"文件分配表&qu ...

  2. FAT,FAT32,NTFS单目录文件数量限制

    FAT32FAT32 标称为65534,实际到2万+时已不稳定. NTFS 似乎没有明确限制单目录文件数量,但有人反应在生成10万+ 文件的目录时遇到报错,想来应该是和文件属性(文件名等).磁盘使用状 ...

  3. ntfs文件系统服务器版,NTFS文件系统基本介绍

    NTFS文件系统是随着Windows NT操作系统的诞生而产生的,并随着Windows NT 4跨入主力文件系统的行列.它的优点是安全性和稳定性极其出色,在使用中不易产生文件碎片:同时它还提供了容错结 ...

  4. linux下挂载ntfs文件,Linux 下使用 NTFS 文件系统(linux挂载ntfs数据盘)

    背景:NTFS 为 Windows 操作系统下常用的文件系统.在使用Linux 系统时可能会需要读取 NTFS 文件系统中的数据. 方法1 Windows 系统更换为 Linux 系统后,比如更换为 ...

  5. FAT和NTFS文件系统的区别

    何为文件系统? 文件系统是数据在磁盘上面的逻辑组织形式,也就是说,文件系统是管理数据如何在磁盘上存储和访问的. 所以说,文件系统是整个操作系统的基础.  常见的文件系统: FAT(FAT12\FAT1 ...

  6. MBR磁盘和GPT磁盘的基本磁盘和动态磁盘,FAT和NTFS文件系统——小结

    一.(针对一个分区)文件系统FAT和NTFS的结构区别 FAT文件系统:DBR-FAT1-FAT2-根目录-数据区(-剩余扇区) ->winhex查看FAT ,一般比较依赖boot templa ...

  7. NTFS、FAT、ExFAT的优缺点

    FAT32文件系统 FAT32文件系统优点:突破了FAT对每一个分区的容量只有2GB的限制,可以支持大到2TB(2048G)的分区.在不超过8GB的分区容量下,每个簇的容量都固定为4KB,与FAT16 ...

  8. NTFS文件系统详解(三)NTFS元文件解析

    NTFS文件系统详解(三)NTFS元文件解析 一. 分析$Boot文件 二.分析文件记录 1. MFT偏移地址计算 2. 文件记录的结构 3. 属性的属性头分析 4. 属性的属性体分析 NTFS文件系 ...

  9. 详解NTFS文件系统

    上篇在详解FAT32文件系统中介绍了FAT32文件系统存储数据的原理,这篇就来介绍下NTFS文件系统.NTFS,用过的的Windows系统的人都知道,它是一个很强大的文件系统,支持的功能很多,存储的原 ...

最新文章

  1. 小程序门店自提功能开启,酷客多带你玩转O2O模式
  2. CEPH添加MDS操作
  3. MQTT在Windows下搭建MQTT服务器
  4. C++知识点记录(C++ primer)
  5. 开源 免费 java CMS - FreeCMS1.2-标签 userList
  6. mysql求表中年龄同张三,mysql子查询与连接查询
  7. 1360E. Polygon
  8. 【PAT甲级最新题解】PAT甲级2020.7月春季考试满分题解(附代码)
  9. 如何减小电压跟随器输出电阻_补课贴 | 关于运算放大器和比较器的异同,那些你不得不知道的小知识!...
  10. connection对象的参数
  11. C语言序列求和epa,Altera Innovateasia
  12. 计算机代数与数论pdf,计算机代数和数论(maple).pdf
  13. 计算机用户名,账户名更改
  14. Matlab加矩形窗程序,基于MATLAB结合矩形窗设计FIR滤波器
  15. pythonpath环境变量pth_.pth 文件扩展python环境路径
  16. 基于ubuntu系统的HEVC视频编码与解码
  17. powerdesigner设置 name to comment
  18. C语言动态申请内存空间之malloc(),calloc(),realloc()函数
  19. Jmeter 之 Beanshell 用法
  20. tensorflow2.0基础操作-手写数字识别实战

热门文章

  1. mysql 子查询的排序问题
  2. 社交媒体营销策略——如何病毒式传播:增加受众范围的9个技巧
  3. 2022电工(中级)特种作业证考试题库模拟考试平台操作
  4. 口红会染唇是什么意思_唇釉口红染唇液区别_染唇液和唇釉的区别及哪个好
  5. hadoop集群搭建出现的一些问题总结
  6. 【无标题】OrientDB Java连接操作
  7. 福利!囤书正当时——
  8. 机器学习:基于XGBoost对信用卡欺诈行为的识别
  9. 这几个苹果手机的实用小技巧分享给你
  10. Jquery TimePicker时间箭头无法加载的问题(http://localhost:8080/css/images/ui-icons_444444_256x240.png)...