当前位置: 技术问答>linux和unix
怎么样理解文件系统呢?
来源: 互联网 发布时间:2016-10-31
本文导语: 我最近在看linux的文件系统,但是越看越迷糊,因为我对文件系统没有一个整体的认识。 打个比方说:文件系统应该是和存储介质没有任何关系(硬盘和FLASH),那么不同格式的文件系统到底区别在哪里呢?在linux中,...
我最近在看linux的文件系统,但是越看越迷糊,因为我对文件系统没有一个整体的认识。
打个比方说:文件系统应该是和存储介质没有任何关系(硬盘和FLASH),那么不同格式的文件系统到底区别在哪里呢?在linux中,存在VFS,对所有的具体的文件系统提供统一的接口,那么对于windows下面的fat的文件格式怎么能够赋值给VFS中的超级块,索引节点呢,请指教!谢谢
打个比方说:文件系统应该是和存储介质没有任何关系(硬盘和FLASH),那么不同格式的文件系统到底区别在哪里呢?在linux中,存在VFS,对所有的具体的文件系统提供统一的接口,那么对于windows下面的fat的文件格式怎么能够赋值给VFS中的超级块,索引节点呢,请指教!谢谢
|
不同的文件系统肯定存储的格式不一样,其它的包括其中的垃圾回收,如何找到需要的数据的算法,效率等等都是不一样的。比如JFFS的存储格式和回收方式就比较适合FLASH介质,ext2就不太适合,当然ext2也是可以用在Flash上的,只是不太好而已。
至于VFS,只是屏蔽了文件系统的差异,为内核提供一套统一的借口。就像我们在网上买东西,我们的动作都是点鼠标货到付款,但是卖家到底是走公路运输,还是铁路,还是空运,或者从杭州跑到北京亲自送货上门,那是他的事情,我们只管收货就OK了
|
文件系统的区别
例如一个普通硬盘,一个固态硬盘,那么区别在哪里,相同的地方在哪里?
两种硬盘的本质不一样,操作的驱动也都一定是不一样的,而可以用相同的API,不同的内部实现
普通硬盘对柱面进行了优化,固态硬盘对读写进行了优化,存储使用不同的位置,以便提升使用寿命
这是硬件上的不同导致内部实现不同
好吧在相同的硬盘上,比如zfs是128位的文件系统,FAT32使用的32位,NTFS使用的64位
这样他们的内部处理也都不一样...但你用同一个系统却都能够访问,这就是它们相同的地方(API
,即便少量的不一样,可以进一步封装,对应相对的操作)
例如还有日志文件系统和非日志文件系统,网络文件系统等等》。。
例如一个普通硬盘,一个固态硬盘,那么区别在哪里,相同的地方在哪里?
两种硬盘的本质不一样,操作的驱动也都一定是不一样的,而可以用相同的API,不同的内部实现
普通硬盘对柱面进行了优化,固态硬盘对读写进行了优化,存储使用不同的位置,以便提升使用寿命
这是硬件上的不同导致内部实现不同
好吧在相同的硬盘上,比如zfs是128位的文件系统,FAT32使用的32位,NTFS使用的64位
这样他们的内部处理也都不一样...但你用同一个系统却都能够访问,这就是它们相同的地方(API
,即便少量的不一样,可以进一步封装,对应相对的操作)
例如还有日志文件系统和非日志文件系统,网络文件系统等等》。。