2022年嵌入式linux文件系统各种类型 .pdf





《2022年嵌入式linux文件系统各种类型 .pdf》由会员分享,可在线阅读,更多相关《2022年嵌入式linux文件系统各种类型 .pdf(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Linux 文件系统比较Linux 支持多种文件系统,包括ext2 、ext3 、vfat 、ntfs 、iso9660 、jffs 、romfs 和 nfs 等,为了对各类文件系统进行统一管理,Linux 引入了虚拟文件系统VFS(Virtual File System),为各类文件系统提供一个统一的操作界面和应用编程接口。Linux 启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会出错而退出启动。之后可以自动或手动挂载其他的文件系统。因此,一个系统中可以同时存在不同的文件系统。不同的文件系统类型有不同的特点,因而根据存储设备的硬件特性、系统需求等有不同的
2、应用场合。在嵌入式 Linux 应用中,主要的存储设备为RAM(DRAM, SDRAM) 和 ROM(常采用 FLASH 存储器 ),常用的基于存储设备的文件系统类型包括:jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs等。1. 基于 FLASH 的文件系统Flash( 闪存 )作为嵌入式系统的主要存储媒介,有其自身的特性。Flash 的写入操作只能把对应位置的1 修改为 0,而不能把0 修改为 1(擦除 Flash 就是把对应存储块的内容恢复为1),因此,一般情况下,向Flash 写入内容时,需要先擦除对应的存储区间,这种擦除是以块(bloc
3、k) 为单位进行的。闪存主要有NOR 和 NAND 两种技术 (简单比较见附录)。Flash 存储器的擦写次数是有限的,NAND 闪存还有特殊的硬件接口和读写时序。因此,必须针对Flash 的硬件特性设计符合应用要求的文件系统;传统的文件系统如 ext2 等,用作Flash 的文件系统会有诸多弊端。在嵌入式Linux 下, MTD(Memory Technology Device,存储技术设备)为底层硬件 (闪存 )和上层 (文件系统 )之间提供一个统一的抽象接口,即Flash 的文件系统都是基于MTD 驱动层的 (参见上面的Linux 下的文件系统结构图)。使用 MTD 驱动程序的主要优点在
4、于,它是专门针对各种非易失性存储器(以闪存为主 )而设计的,因而它对Flash 有更好的支持、管理和基于扇区的擦除、读/ 写操作接口。顺便一提,一块Flash 芯片可以被划分为多个分区,各分区可以采用不同的文件系统;两块Flash 芯片也可以合并为一个分区使用,采用一个文件系统。即文件系统是针对于存储器分区而言的,而非存储芯片。(1) jffs2 JFFS文件系统最早是由瑞典Axis Communications公司基于Linux2.0 的内核为嵌入式系统开发的文件系统。JFFS2 是 RedHat 公司基于JFFS开发的闪存文件系统,最初是针对RedHat 公司的嵌入式产品eCos 开发的嵌
5、入式文件系统,所以JFFS2 也可以用在Linux, uCLinux中。Jffs2: 日志闪存文件系统版本2 (Journalling Flash FileSystem v2) 主要用于NOR 型闪存,基于MTD 驱动层,特点是:可读写的、支持数据压缩的、基于哈希表的日志型文件系统,并提供了崩溃/掉电安全保护,提供“ 写平衡 ” 支持等。缺点主要是当文件系统已满或接近满时,因为垃圾收集的关系而使jffs2 的运行速度大大放慢。目前 jffs3 正在开发中。 关于 jffs 系列文件系统的使用详细文档,可参考 MTD 补丁包中mtd-jffs-HOWTO.txt。jffsx 不适合用于NAND
6、闪存主要是因为NAND 闪存的容量一般较大,这样导致jffs 为维护日志节点所占用的内存空间迅速增大,另外,jffsx 文件系统在挂载时需要扫描整个FLASH 的内容,以找出所有的日志节点,建立文件结构,对于大容量的NAND 闪存会耗费大量时间。(2) yaffs :Yet Another Flash File System yaffs/yaffs2是专为嵌入式系统使用NAND 型闪存而设计的一种日志型文件系统。与jffs2 相比,它减少了一些功能 (例如不支持数据压缩),所以速度更快,挂载时间很短,对内存的占用较小。另外,它还是跨平台的文件系统,除了Linux 和 eCos,还支持WinCE
7、, pSOS 和 ThreadX 等。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 3 页 - - - - - - - - - yaffs/yaffs2自带 NAND 芯片的驱动,并且为嵌入式系统提供了直接访问文件系统的API,用户可以不使用Linux 中的 MTD 与 VFS,直接对文件系统操作。当然,yaffs 也可与 MTD 驱动程序配合使用。yaffs 与 yaffs2 的主要区别在于,前者仅支持小页(512 Bytes) NAND闪存,后者则可支持大页(2KB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年嵌入式linux文件系统各种类型 2022 嵌入式 linux 文件系统 各种 类型

限制150内