linux 浅谈文件系统的挂载和文件创建

本文深入探讨Linux操作系统中文件创建与文件系统挂载的区别,解释了inode与block对照表的作用,以及分区在MBR与GPT格式下的表现。文章还分析了文件系统的顶级inode值现象,帮助读者理解Linux底层机制。
摘要由CSDN通过智能技术生成

很庆幸自己学习了操作系统,现在在读鸟哥的私房菜不会觉得很困难,其实学习linux如果只是学习其中的一些命令而不懂得linux 的一些底层机制,是不能算入门的linux的,因为linux是真正的一个开源操作系统,私房菜和大学教材操作系统的结合将会使得我对操作系统的认识逐渐加深。好了,下面来谈谈文件创建和文件系统的挂载,它们的区别是什么:

操作系统中,为了屏蔽磁盘的使用细节,让客户能轻松使用磁盘工作,采用了逻辑上的文件系统视图,让一切细节由操作系统来执行,用户可以点击或者使用write等系统调用直接使得磁盘工作。

在现在,文件以一种索引的数据结构存放在磁盘中,操作系统要维护这种索引表数据结构(其实学过操作系统理论就会知道,内存管理,进程管理,IO设备管理统统都会使用一种类似索引表或者线性表的数据结构),那么结合鸟哥私房菜具体体现就是inode与block对照表,inode和block是记录数据的盘块,操作系统通过读inode找block这种形式进行树状形式地查找文件数据。

然后再谈谈分区,分区在MBR(主引导)格式的分区表会有逻辑上的主分区和延伸分区,但在GPT格式中,一块特定的盘块群就叫做一个分区(block groups)对应一个文件系统(大部分情况是一个分区对应一个文件系统)

所以现在来谈谈文件创建和文件系统挂载。挂载是一定要和目录树结合才可以使用的,也就是说在目录树中,有一个空目录挂载了一个文件系统,意思就是这个目录是进入该文件系统对应的分区的入口,访问的所有数据是该分区下的数据(block groups)。

至于细心的人可能会发现顶层的inode值为什么都一样,具体规定的机制我不清楚,但可以知道的是,一般一个文件系统的最顶层的那个目录的indoe值都是一样的,只是所在分区不一样,也就是说不是同一个文件,只是inode号相同。比如,/ /home  /boot是三个不同的文件系统,但它们值都是128(inode一样但文件属性不一样,同时它们都是三个文件系统的最顶层)。

而文件创建就是在当前的文件系统下(当前分区下),使用那些未被使用的盘块来存储数据,具体体现就是使用未使用的inode和block。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值