无忧启动论坛

 找回密码
 注册
搜索
WEPE笔记本电脑手机维修小包 IT发烧友的必备工具最纯净的「微PE装机优盘」UEPON大师作品卡瑞飞系统和装机二合一超级U盘
广告位出租系统gho:最纯净好用系统下载站广告联系 QQ:184822951 微信:wuyouceo
楼主: 不点

最简单的 Linux 文件系统是哪个?

  [复制链接]
发表于 2019-3-8 22:04:28 | 显示全部楼层
还有几个我认为比较好的文件系统,JFS,XFS,综合实际使用比较,最终停留在EXT4和XFS上,整体觉得XFS更优秀一些,前辈有空可以研究一下,另外一个复杂的文件系统我个人并不喜欢,比如ZFS也很好。

对于个人而言,能可靠,稳定,快速,安全的保存和读写数据就是最本质的需求,过多的特性增加复杂度,有时实用价值也不大。

点评

一楼给出的那个 IBM 教程,比较了各个文件系统的代码量,发现 XFS 的代码量是最大的,达到 7 万行。ext3 是最小的,只有 1 万行。因此,XFS 不是一个简单的文件系统。  详情 回复 发表于 2019-3-9 01:08
回复

使用道具 举报

 楼主| 发表于 2019-3-9 01:08:11 | 显示全部楼层
2011os_defend 发表于 2019-3-8 22:04
还有几个我认为比较好的文件系统,JFS,XFS,综合实际使用比较,最终停留在EXT4和XFS上,整体觉得XFS更优秀 ...

一楼给出的那个 IBM 教程,比较了各个文件系统的代码量,发现 XFS 的代码量是最大的,达到 7 万行。ext3 是最小的,只有 1 万行。因此,XFS 不是一个简单的文件系统。

点评

同意前辈的看法,xfs更新得算比较频繁,功能也越来越多。 另外ext3对手应该是ntfs吧?  详情 回复 发表于 2019-3-11 20:51
回复

使用道具 举报

 楼主| 发表于 2019-3-10 15:38:57 | 显示全部楼层
本帖最后由 不点 于 2019-3-10 15:43 编辑

Unix 传统的 user-group-other 权限设置,被认为是不够用的,因此发展了 POSIX ACL(访问控制列表),我理解为 “附加的(或辅助的)权限控制”。相应地,在 inode 结构里面,也增加了 ACL 域。ACL 只用在特殊场合,传统的权限控制仍是基本的。如果我们为每个文件都预留很多 ACL 空间,浪费太严重。如果预留的空间少了,又可能不够用。这就看到,固定大小的 inode,暴露出了缺点。解决办法是,改进文件系统的设计,让 inode 结构长度可变。

既然 inode 结构长度都可以不固定了,那么,考虑干脆把它与文件内容放在一起。比如,将它放在文件簇链的尾部,不占用额外的空间。当然了,如果尾部剩余的空间不够用,那就多分配一簇的空间。通常 1 簇至少有 4K,足够用了。无论是否额外分配一簇,inode 结构都存放在链的最后一簇。最后一簇的簇号,就当成 inode 号码。簇尾部的 inode 结构,可以设置成倒序的,即,从后向前记录每个结构成员。当然,要有个 inode 合法标志之类的东西,放在簇的末尾几个字节中。结构中也有一个字段,记录着文件的起始簇号。

上述讨论,适用于普通文件以及目录。对于特殊文件,例如设备、软链接等,它们占用的信息很少,可以考虑将它们的 inode 信息记录在目录项里面,不放在簇链中(若放在簇链中,就太浪费了)。这些特殊文件,由于存放在目录项中,因此,它们的 inode 号可以无定义,或者说,不存在。

长度为 1K 的小文件(这里是指普通文件,不考虑目录),也可以直接放在目录项中(这种情况无 inode 号)。对于无 inode 号的文件,它们是无法用来进行硬链接的。

回复

使用道具 举报

 楼主| 发表于 2019-3-10 16:00:50 | 显示全部楼层
嗯,得补充一个重要的理念。一个文件系统用起来是否简单,与它设计起来是否简单,是不同的概念。操作系统会让差别变得不可见,用户无法从直觉上感知文件系统是否简单。

然而,一个复杂的文件系统,有可能被高手、黑客隐藏用户不知道的某些东西,比如,偷窃用户的资料。你可能是在某个安全保密部门工作,你的电脑可能没有上网(只在安全的内部网工作),但是,你有可能用你的 U 盘跟外界交流文件,在外面上网。这个 U 盘里面的文件系统,就可能充当间谍,在你不知情的情况下,把重要的秘密信息带出去。文件系统越简单,就越不容易隐藏那些对你不利的东西。一个高手,可以混进开源队伍里面,在操作系统以及文件系统里面制造隐蔽的后门。
回复

使用道具 举报

发表于 2019-3-10 21:33:25 | 显示全部楼层
不点大师又在钻研新领域了啊。。。
文件系统么,没研究,只会用。反正gnux下首选ext2/3/4/5,  win下当然ntfs,优盘和移动硬盘用fat和exfat。。。

reactOS新版氏同时支持fat和btrfs的,或许以后btrfs也有可能成为win和lin之间都能较好工作的文件系统选择呢。。。

点评

没什么目的,谈不上钻研,闲着没事,碰上啥就想啥。btrfs 的体积比 ext4 大,翻倍还多。 在 linux kernel 源代码中, squashfs 164K fat 207K ext2 265K ntfs 967K ext4  详情 回复 发表于 2019-3-10 22:43
回复

使用道具 举报

 楼主| 发表于 2019-3-10 22:43:48 | 显示全部楼层
gnuxwy 发表于 2019-3-10 21:33
不点大师又在钻研新领域了啊。。。
文件系统么,没研究,只会用。反正gnux下首选ext2/3/4/5,  win下当然nt ...

没什么目的,谈不上钻研,闲着没事,碰上啥就想啥。btrfs 的体积比 ext4 大,翻倍还多。

在 linux kernel 源代码中,

squashfs   164K
fat           207K
ext2         265K
ntfs          967K
ext4       1.44M
btrfs       3.35M
xfs         3.64M

回复

使用道具 举报

 楼主| 发表于 2019-3-11 16:52:11 | 显示全部楼层
在百度上搜 “硬链接的用途”,大都在讲硬链接和软链接的差别,而提到具体应用场景的,却很少很少。根据搜到的结果,总结一下,硬链接大致有两个作用:

1、节省磁盘空间,省去一个复制的操作。
2、保护重要文件,以防误删(相当于多备份了一份)。

如果就只有这两个作用的话,那也太寒碜了吧?

自从使用 Linux 以来,20 多年了,我还真没用过硬链接,连一次都没用过。软链接倒是用过,也经常见到系统中有很多软链接。

猜测一下硬链接很少被人使用的原因:

1、习惯问题。人们习惯于拷贝,不习惯于使用硬链接。
2、海量磁盘空间用不完,没必要节省那么一点空间。
3、硬链接不能跨文件系统,用起来感到生疏。用软链接更自由。
4、不能对目录进行硬链接,使用范围狭窄,加剧了“生疏感”和 “不习惯”。软链接没这问题。
5、(继续上述第 4 条的讨论)由于硬链接在人们正想用它(对目录进行操作)的时候却不行,它也就失去关键的吸引力了。大家无奈去寻找别的替代方法,比如,mount --bind (或 mount -o bind)就是这样一种替代方法,这种方法用于软链接失效的场合。
回复

使用道具 举报

发表于 2019-3-11 20:51:01 | 显示全部楼层
不点 发表于 2019-3-9 01:08
一楼给出的那个 IBM 教程,比较了各个文件系统的代码量,发现 XFS 的代码量是最大的,达到 7 万行。ext3  ...

同意前辈的看法,xfs更新得算比较频繁,功能也越来越多。

另外ext3对手应该是ntfs吧?

点评

ext2/3/4之类的,属于 Linux/Unix 阵营;FAT/NTFS 类的属于微软阵营。阵营不同,谈不上 “对手”。FAT/NTFS 类的文件系统,只能在 Linux 中作为辅助文件系统,不能作为主文件系统。而 ext2/3/4 在 Linux 中是“主”  详情 回复 发表于 2019-3-12 08:36
回复

使用道具 举报

 楼主| 发表于 2019-3-11 22:00:10 | 显示全部楼层
前面谈到硬链接的使用频度不高。假如不支持硬链接的话,文件系统可以设计得更简单一些。

没有了硬链接,也就不需要记录 link-count 了,甚至 inode 也不需要了。不知我理解得是否正确:我觉得这个 inode 就是为硬链接准备的。如果不要硬链接了,也就不需要 inode 号码了。既然 inode 号码都不要了,那么 inode 也就不需要了。把 inode 结构里面的信息直接放在目录项中即可(正如微软的 FAT、exFAT 那样)。前面说了,目录项本来就不是固定长度的,因此,再添加一些 inode 成员信息,也不影响大局。

微软 exFAT 的目录项,光是 255 个 unicode 字符,都要消耗 17×32=544 字节,再加上其他信息,总共会超过 600 字节。现在在 ext4 的目录项中添加 inode 信息,最多也只有 263+256=519 字节而已。我们可以更灵活地处理,将目录项的最大长度尽量放宽一些,比如说,必要的时候,它可以达到 4K,甚至也可以完全不封顶(不封顶其实是说可以达到双字节整数的自然上限 64K,这不会带来什么问题,因为实际的目录项长度平均都会很小的,低于 100 字节)。
回复

使用道具 举报

发表于 2019-3-11 22:38:42 | 显示全部楼层
真氏不懂这些底层文件系统的实现细节,看到不点大师的分析,真的有不明觉厉的感觉。。。

点评

真人不露相,您太客气了。文件系统是旧领域,不是新领域。万事万物,都有一个发展过程。每个发展的阶段,也都有其缺点或局限性,都有改进的余地,都可以加入新的思想在里面。在新思想渗透进去之后,或许也可看成是进  详情 回复 发表于 2019-3-12 09:45
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2019-6-18 17:38

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表