- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux内核分析与驱动编程期中报告
Linux内核分析与驱动编程期中报告
几种嵌入式Linux文件系统应用介绍
江玉棠,石宝华,杨开轶,王亚伟
(北京大学软件与微电子学院 北京 102600)
摘 要 本文介绍了几种常用于嵌入式Linux的文件系统。。。
关键词 嵌入式,Linux,文件系统
An introduction of some embedded Linux file application system
JIANG Yu-Tang, SHI Bao-Hua, YANG Kai-Yi, WANG Ya-Wei
(School of Software and Microelectronics, Peking University, Beijing 102600)
Abstract This article discusses come embedded Linux file system.
Keywords embedded; Linux; file system
编写注意:initrd,sysfs,ramdisk应当属于文件系统相关的机制,具体怎么写和整理或者去掉再考虑一下。cramfs,yaffs2,jffs2才是文件系统,这方面的资料相对也多一些,各自分工主要是弄一下这三个文件系统的介绍和应用资料。建议内容分别包含:介绍,特点,应用,源文件中的主要函数和结构等等。把各自整理出来的资料中与其他文件系统相比较的部分单独列出来,最后合并的时候放到后边[几种文件系统的比较]部分;各自整理的时候一并将术语列表也整理出来,最后一起合并。编写的时候尽量多画些图表来占用篇幅!!!尽快整理出来然后想办法把整理的文件系统能挂到开发板或者在虚拟机上实现,把具体的操作步骤也添加到文档中去,这样更有说服力!!!
分工如下:
江玉棠:initrd,sysfs,ramdisk
石宝华:cramfs
杨开轶:yaffs2
王亚伟:jffs2
1. 引言
这里写引言。。。
2. initrd
initrd。。。
3. sysfs
sysfs。。。
4. ramdisk
ramdisk。。。
5. cramfs
5.1cramfs介绍
在嵌入式的环境之下,内存和外存资源都需要节约使用。如果使用RAMDISK方式来使用文件系统,那么在系统运行之后,首先要把外存(Flash)上的映像文件解压缩到内存中,构造起RAMDISK环境,才可以开始运行程序。但是它也有很致命的弱点。在正常情况下,同样的代码不仅在外存中占据了空间(以压缩后的形式存在),而且还在内存中占用了更大的空间(以解压缩之后的形式存在),见图5-1。这违背了嵌入式环境下尽量节省资源的要求。
使用cramfs就是一种解决这个问题的方式。cramfs是一个压缩式的文件系统,它并不需要一次性地将文件系统中的所有内容都解压缩到内存之中,而只是在系统需要访问某个位置的数据的时侯,马上计算出该数据在cramfs中的位置,将其实时地解压缩到内存之中,然后通过对内存的访问来获取文件系统中需要读取的数据。cramfs中的解压缩以及解压缩之后的内存中数据存放位置都是由cramfs文件系统本身进行维护的,用户并不需要了解具体的实现过程,因此这种方式增强了透明度,对开发人员来说,既方便,又节省了存储空间。
CramFS是Linus Torvalds在Transmeta任职时,所参与开发的档案系统,笔者在本篇文章中所采用的Linux Kernel版本为2.4.3,把Linux Kernel原始码解开后,各位可以在”linux/fs/cramfs”中找到CramFS的原始码。不过目前CramFS为一个只读的档案系统,也就是说使用CramFS的话,如果我们的嵌入式环境需要储存暂时性的数据,就必须另外保留一个Flash空间做为储存数据之用。
5.2特点
采用实时解压缩方式,但解压缩的时侯有延迟。
cramfs的数据都是经过处理、打包的,对其进先写操作有一定困难。所以cramfs不支持写操作,这个特性刚好适合嵌入式应用中使用Flash存储文件系统的场合。
在cramfs中,文件最大不能超过16MB。最大文件系统大小可超过256M(最后一个文件)
支持组标识(gid),但是mkcramfs只将gid的低8位保存下来,因此只有这8位是有效的。
支持硬链接。但是cramfs并没有完全处理好,硬链接的文件属性中,链接数仍然为1.
cramfs的目录中,没有“.”和“..”这两项。因此,cramfs中的目录的链接数通常也仅有一个。
cramfs中,不会保存文件的时间戳(timestamps)信息。当然,正在使用的文件由于inode保存在内存中,因此其时间可以暂时地变更为最新时间,但是不会保存到cramfs文件系统中去,只是当inode节点在内存中时存在。
当前版
文档评论(0)