- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
主要内容
Linux的文件系统简介
基于FLASH的文件系统
基于RAM的文件系统
网络文件系统NFS
Linux根文件系统
Linux系统的引导过程
用BusyBox建立根文件系统
制作yaffs2根文件系统
建立Ramdisk文件系统
Linux的文件系统简介
Linux支持多种文件系统
包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等
Linux引入了虚拟文件系统VFS(Virtual File System)
对各类文件系统进行统一管理
提供统一的操作界面和应用编程接口。
Linux启动时,第一个必须挂载的是根文件系统(若系统不能从指定设备上挂载根文件系统,则系统会出错而退出启动),之后可以自动或手动挂载其它文件系统。
Linux的文件系统简介
Linux下的文件系统结构
Linux的文件系统简介
基于FLASH的文件系统
Flash是嵌入式系统的主要存储媒介
主要有NOR和NAND两种
Flash特性:
写入操作把1修改为0,擦除操作把存储块的内容恢复为1,因此,向Flash写入内容时,需要先擦除,擦除是以块(block)为单位进行的。
Flash存储器的擦写次数是有限的,NAND闪存还有特殊的硬件接口和读写时序,必须针对Flash的硬件特性设计符合应用要求的文件系统。
Linux的文件系统简介
基于FLASH的文件系统
Flash的文件系统基于MTD驱动层
MTD (Memory Technology Device)为硬件和文件系统之间的抽象接口。
MTD专门针对非易失性存储器设计,对Flash有更好的支持、管理和基于扇区的擦除、读/写操作接口。
基于FLASH的文件系统——JFFS/JFFS2
开源的日志文件系统,最适合在Flash芯片上使用。
能够保持文件系统的连续性。
文件系统崩溃或者非正常掉电,重启的时候也不需要执行fsck。
考虑了Flash存储介质的物理特点。
JFFS
JFFS2
基于FLASH的文件系统——JFFS/JFFS2
JFFS
Journaling Flash Filesystem,日志闪存文件系统
瑞典的Axis通讯公司,基于Linux2.0内核为嵌入式系统设计。
文件系统相当于Flash介质上的大量节点列表,每一个节点(jffs_node结构体)包含文件名,还有一些数据
存在数据时,jffs_node包含一个说明数据位置的字段,新数据可以覆盖老数据。
基于FLASH的文件系统——JFFS/JFFS2
JFFS2是JFFS的改进版
RedHat公司基于JFFS开发,最初是针对eCos操作系统,也可以在Linux中使用,改进如下:
①以扇区(Sector)为单位进行擦除操作,利于垃圾回收。
② 能够标记坏块扇区并且继续使用剩余的好扇区。
③ 垃圾回收导致的阻塞时间更少。最小可以只擦除一个扇区。
④ 提供了本地数据压缩。
缺点:当文件系统接近满时,因为垃圾收集使运行速度放慢。
基于FLASH的文件系统——JFFS/JFFS2
JFFSx不适合用于NAND闪存
NAND闪存的容量一般较大,这样导致JFFSx为维护日志节点而占用的内存空间迅速增大。
JFFSx文件系统在挂载时需要扫描整个FLASH的内容,以找出所有的日志节点,建立文件结构,对于大容量的NAND闪存会耗费大量时间。
基于FLASH的文件系统——YAFFS/YAFFS2
YAFFS/YAFFS2是专为NAND型闪存设计的日志型文件系统。
与JFFS2相比,不支持数据压缩,所以速度更快,挂载时间很短,对内存的占用较小
跨平台的文件系统,除了Linux和eCos,还支持WinCE、 pSOS和ThreadX等
自带NAND芯片的驱动
提供直接访问文件系统的API,用户可以不使用Linux中的MTD与VFS,直接对文件系统操作。YAFFS/YAFFS2也可与MTD驱动程序配合使用。
基于FLASH的文件系统——YAFFS/YAFFS2
YAFFS(Yet Another Flash File System)
Charles Manning为Aleph One公司设计开发
为大容量的NAND Flash芯片做了很好的调整
提供磨损平衡和掉电恢复的鲁棒性
对启动时间和RAM的使用做了优化
考虑NAND闪存的特点,将文件组织成固定大小的数据段。
利用NAND闪存提供的每个页面16B的备用空间来存放ECC(Error Checking and Correctinge,Error Correction Code)和文件系统的组织信息。
能够实现错误检测和坏块处理
能够提高文件系统的加载速度
基于FLASH的文件系统——YAFFS/YAFFS2
YAFFS2
支持具有2048B页
文档评论(0)