免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1821 | 回复: 1
打印 上一主题 下一主题

文件系统概念理解 . [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-03 10:54 |只看该作者 |倒序浏览
文件系统概念理解 .












最近一直在学LINUX,但是从没有真正的理解文件系统含义和作用,最近整理了一些关于文件系统的资料:         


来自百度百科:


     VFS是一个异构文件系统之上的软件粘合层(注:有时也把VFS称为可堆叠的文件系统(Stackable Filesystem),因为VFS可以无缝地使用多个不同类型的文件系统,就像把多个文件系统堆叠在一起一样,故而得名)。通过VFS,可以为访问文件系统的系统调用提供一个统一的抽象接口。  VFS最早由Sun公司提出以实现NFS(Network FileSystem,网络文件系统)。但是现在很多Unix系统都采用了VFS(包括Linux、FreeBSD、Solaris等)。  Linux下的VFS:  VFS的作用就是采用标准的Unix系统调用读写位于不同物理介质上的不同文件系统。VFS是一个可以让open()、read()、write()等系统调用不用关心底层的存储介质和文件系统类型就可以工作的粘合层。在古老的DOS操作系统中,要访问本地文件系统之外的文件系统需要使用特殊的工具才能进行。而在Linux下,通过VFS,一个抽象的通用访问接口屏蔽了底层文件系统和物理介质的差异性,每一种类型的文件系统代码都隐藏了实现的细节。因此,对于VFS层和内核的其它部分而言,每一种类型的文件系统看起来都是一样的,在Linux中,VFS采用的是面向对象的编程方法。




以下是来自csdn论坛:


编译进内核,就是直接在vmlinuz里面有代码了。在引导的时候就可以直接使用。

如果是模块的话,在引导的时候需要借助initrd那个虚拟文件进行预加载,然后给内核引导用。


同时模块还可以在内核已经运行了的情况下insmod和modprobe或者进行操作。就如同Windows中的驱动类似,但是免除了重启这个繁琐的步骤。




文件系统这个词理解比较混淆,其实应该分两个部分:一部分是软件,就是如何识别和操作特定的文件系统格式,这部分一般来说是在内核里面,比如你如果要支持FAT32,你就要把FAT32的支持编译到内核里面。

另外一部分是硬件或者说介质,即按照某个文件系统的格式把一些数据放到介质的某个区域,比如以存储在内存里面的cramfs的根文件系统为例,需要在内存的某个区域按照cramfs的格式把根文件系统放在那里,同时通过命令行或者其它方式告诉内核内存的那个区域存储有cramfs的数据,内核就会用cramfs对应的软件(就是第一部分)来解释和操作这些数据。

就整个嵌入式系统而言,可以分为三个部分1.uboot 2.kernel 3.文件系统。其中kernel中以VFS去支持各种文件系统,如yaffs,ext3,cramfs等等。所谓的yaffs,就个人理解为一种管理物理介质的系统,如NAND FLASH,而在内核中以VFS来屏蔽各种文件系统的接口不同,以VFS向kernel提供一个统一的接口。如打开一个文件时统一使用open,写时采用write,而不用去考虑是那种文件系统,也不用去考虑文件系统是如何将数据写入物理介质的。其中 kernel中的配置,只是让VFS支持这种接口。以上是个人理解,如有错误请各位指教。

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
2 [报告]
发表于 2011-12-03 15:45 |只看该作者
扫盲啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP