社区
Linux_Kernel
帖子详情
怎么样理解文件系统呢?
yfl8640
2010-12-29 11:53:02
我最近在看linux的文件系统,但是越看越迷糊,因为我对文件系统没有一个整体的认识。
打个比方说:文件系统应该是和存储介质没有任何关系(硬盘和FLASH),那么不同格式的文件系统到底区别在哪里呢?在linux中,存在VFS,对所有的具体的文件系统提供统一的接口,那么对于windows下面的fat的文件格式怎么能够赋值给VFS中的超级块,索引节点呢,请指教!谢谢
...全文
133
7
打赏
收藏
怎么样理解文件系统呢?
我最近在看linux的文件系统,但是越看越迷糊,因为我对文件系统没有一个整体的认识。 打个比方说:文件系统应该是和存储介质没有任何关系(硬盘和FLASH),那么不同格式的文件系统到底区别在哪里呢?在linux中,存在VFS,对所有的具体的文件系统提供统一的接口,那么对于windows下面的fat的文件格式怎么能够赋值给VFS中的超级块,索引节点呢,请指教!谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
marven
2010-12-31
打赏
举报
回复
这个问题我也弄了很久 还是看了内核前景分析的文件系统一章才基本弄懂了。在内核编译的时候将FAT文件支持选上,就会支持FAT格式的磁盘了,至于这么知道磁盘时FAT文件格式,来源于mount的参数。你问的这个问题最主要的是一个file_system_type和super_block这两个结构体来实现的,你可以着重的看一下。希望对你有点用。
leafsoar
2010-12-29
打赏
举报
回复
仅仅使用文件的时候需要知道是哪个索引节点吗》。。
无非都是资源的分配问题,提供给你可存储数据的地方,这个可以是本地磁盘,网络文件系统
你只需要知道怎么打开这个文件,怎么修改以及操作这个文件就行了
至于节点之类的,就是深入到某一种文件系统的实现去了
“fat的文件格式怎么能够赋值给VFS中的超级块”
所以有些操作是不能跨文件系统的...只从资源分配考虑,接口越简单越好(优化是另一方面了)
leafsoar
2010-12-29
打赏
举报
回复
文件系统的区别
例如一个普通硬盘,一个固态硬盘,那么区别在哪里,相同的地方在哪里?
两种硬盘的本质不一样,操作的驱动也都一定是不一样的,而可以用相同的API,不同的内部实现
普通硬盘对柱面进行了优化,固态硬盘对读写进行了优化,存储使用不同的位置,以便提升使用寿命
这是硬件上的不同导致内部实现不同
好吧在相同的硬盘上,比如zfs是128位的文件系统,FAT32使用的32位,NTFS使用的64位
这样他们的内部处理也都不一样...但你用同一个系统却都能够访问,这就是它们相同的地方(API
,即便少量的不一样,可以进一步封装,对应相对的操作)
例如还有日志文件系统和非日志文件系统,网络文件系统等等》。。
dfysy
2010-12-29
打赏
举报
回复
[Quote=引用 2 楼 yfl8640 的回复:]
谢谢!
不过我还是没有得到我要的答案呢,因为在linux中所有关于文件的操作都是由VFS进行封装,对于用户来讲都是一样的。
那么,不同的文件系统之间的具体区别在哪里呢?
比方说就是说JFFS和ext2的两种不同的文件系统的区别在哪里呢?是储存的格式不一样,还是。。。?
[/Quote]
不同的文件系统肯定存储的格式不一样,其它的包括其中的垃圾回收,如何找到需要的数据的算法,效率等等都是不一样的。比如JFFS的存储格式和回收方式就比较适合FLASH介质,ext2就不太适合,当然ext2也是可以用在Flash上的,只是不太好而已。
至于VFS,只是屏蔽了文件系统的差异,为内核提供一套统一的借口。就像我们在网上买东西,我们的动作都是点鼠标货到付款,但是卖家到底是走公路运输,还是铁路,还是空运,或者从杭州跑到北京亲自送货上门,那是他的事情,我们只管收货就OK了
yfl8640
2010-12-29
打赏
举报
回复
谢谢!
不过我还是没有得到我要的答案呢,因为在linux中所有关于文件的操作都是由VFS进行封装,对于用户来讲都是一样的。
那么,不同的文件系统之间的具体区别在哪里呢?
比方说就是说JFFS和ext2的两种不同的文件系统的区别在哪里呢?是储存的格式不一样,还是。。。?
NFS 网络
文件系统
Re:NFS 网络
文件系统
===================== NFS就是Network File System的缩写,是我们网络存储中较为常用的一种方式,它最大的功能就是可以通过网络,让不同的设备和操作系统可以共享文件的...
文件系统
(
文件系统
目录结构、磁盘分区、虚拟
文件系统
)、linux内核结构框图
什么是
文件系统
? 常规认知就是根目录下那些文件,但其实并不是那样。
文件系统
是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件...
Linux
文件系统
原理 / 虚拟
文件系统
VFS
不仅仅是诸如Ext2、Ext3、Ext4、XFS、windows家族的NTFS和Btrfs等常规意义上的
文件系统
,还可以是比如上图的proc等伪
文件系统
和设备,也可以是诸如NFS、CIFS等网络
文件系统
。VFS 采用标准的Linux系统调用读写位于...
文件系统
的层次结构的
理解
总结
文件系统
的层次结构的
理解
总结通过前面的文章对
文件系统
的逻辑结构总结,到这里再来看
文件系统
的层次结构就非常自然。 首先还是注意辨明一些基础的名词概念: + 用户接口 + 文件目录系统 + 存取控制模块 + 逻辑...
为什么需要
文件系统
为什么需要,这个问题不妨反过来思考如果没有
文件系统
会怎样?以下为转载博客园某个博主精彩论述http://www.cnblogs.com/shangye/p/6177993.html如果没有
文件系统
如果我们不在硬盘本身建立
文件系统
,我们直接面对...
Linux_Kernel
4,441
社区成员
17,460
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章