嵌入式linux系统中常用的文件系统课件_第1页
嵌入式linux系统中常用的文件系统课件_第2页
嵌入式linux系统中常用的文件系统课件_第3页
嵌入式linux系统中常用的文件系统课件_第4页
嵌入式linux系统中常用的文件系统课件_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嵌入式linux系统中常用的文件系统嵌入式文件系统:Ext2/ Ext3RomfsRamdiskCramfsJffs/jffs2TmpfsYaffs用户可以根据可靠性、健壮性和增强的功能的需求来选择文件系统的类型。 要求文件系统在频繁的文件操作(例如,新建,删除,截断)下能够保持较高的读写性能,要求低碎片化。Linux下的日志文件系统(XFS,ReiserFS,Ext3等)能保持数据的完整性,但消耗过多系统资源的弱点使之不能成为嵌入式系统中的主流应用。并且这些都是专门为硬盘这类的存储设备优化,对于flash这类的存储介质并不适用。因为现有的嵌入式文件系统的碎片化的问题,大部分的嵌入式设备只给用

2、户提供了只读文件系统,给用户带来不便。嵌入式文件系统的载体是以Flash为主的存储介质,所以为了延长Flash的使用寿命,应该尽量减少对Flash的写入操作。文件系统采用Direct I/O的话,使I/O效率明显降低,增加了写入次数;但采用延时写的话,虽然能够降低碎片问题,如果加入日志系统的话,有不能保证数据的安全性。这是一个矛盾。Linux对文件系统的要求:闪存类通常使用以下几种文件系统:CRAMFS、RAMFS、JFFS2、yaffs,有时也用EXT2,不过其效果欠佳。第二版扩展文件系统(Ext2fs)Ext2fs 是 Linux 事实上的标准文件系统,它已经取代了它的前任 扩展文件系统(

3、或 Extfs)。Extfs 支持的文件大小最大为 2 GB,支持的最大文件名称大小为 255 个字符 而且它不支持索引节点(包括数据修改时间标记)。 它的优点是:Ext2fs 支持达 4 TB 的内存。Ext2fs 文件名称最长可以到 1012 个字符。当创建文件系统时,管理员可以选择逻辑块的大小(通常大小可选择 1024、2048 和 4096 字节)。Ext2fs 了实现快速符号链接:不需要为此目的而分配数据块,并且将目标名称直接存储在索引节点(inode)表中。这使性能有所提高,特别是在速度上。Ramdisk 文件系统Ramdisk是通过将计算机的 RAM 用作设备来创建和挂装文件系统

4、的一种机制,它通常用于无盘系统(当然包括微型嵌入式设备,它只包含作为永久存储媒质的闪存芯片)。用 Ramdisk 挂装 Ext2fs通过使用 Ramdisk 的概念,可以在嵌入式设备中创建并挂装 Ext2 文件系统(以及用于这一目的的任何文件系统)。RomFS文件系统uClinux系统多采用Romfs文件系统,Romfs是一种相对简单、占用空间较少的文件系统。空间的节约来自于两个方面:首先内核支持Romfs文件系统比支持ext2文件系统需要更少的代码;其次romfs文件系统相对简单,在建立文件系统超级块(Superblock)需要更少的存储空间。Romfs是只读的文件系统,禁止写操作,因此系统

5、同时需要虚拟盘(RAMDISK)支持临时文件和数据文件的存储。 只读文件系统,可以放在ROM空间,也可以在系统的RAM中,嵌入式linux中常用来作根文件系统。CRAMFS文件系统CRAMFS中的数据已被压缩,属于只读性文件系统,不能在闪存中修改。用户想获取数据时,CRAMFS先把数据送到RAM中,用户从RAM中读取。一般CRAMFS的上层为RAMFS文件系统,经修改过的文件都保存在RAM中。RAMFS和CRAMFS结合的缺陷在于,一旦出现掉电等特殊情况,保存在RAMFS中的修改数据将全部丢失。 为此Linux采用了新的文件系统-JFFS2,它允许在闪存中直接进行修改,在掉电时会自动保存数据。

6、JFFS2的数据压缩方式和CRAMFS一样,其数据可存放在全部的闪存区域中,数据的写入和删除分布在很大一片区域中以防止同样的块会被重复使用。MTD设备与JFFS文件系统JFFS2是比较常用的嵌入式日志文件系统。JFFS2 因为有以下这些优点而在无盘嵌入式设备中越来越受欢迎: JFFS2 在扇区级别上执行闪存擦除写读操作要比 Ext2 文件系统好。 JFFS2 提供了比 Ext2fs 更好的崩溃掉电安全保护。当需要更改少量数据时,Ext2 文件系统将整个扇区复制到内存(DRAM)中,在内存中合并新数据,并写回整个扇区。这意味着为了更改单个字,必须对整个扇区(64 KB)执行读擦除写例程 这样做的

7、效率非常低。要是运气差,当正在 DRAM 中合并数据时,发生了电源故障或其它事故,那么将丢失整个数据集合,因为在将数据读入 DRAM 后就擦除了闪存扇区。JFFS2 附加文件而是重写整个扇区,并且具有崩溃掉电安全保护这一功能。 MTD设备与JFFS文件系统这可能是最重要的一点:JFFS2 是专门为象闪存芯片那样的嵌入式设备创建的,所以它的整个设计提供了更好的闪存管理。除了JFFS2之外,另外一种的嵌入式文件系统的选择是YAFFS2。Yaffs与jffs2文件系统比较Nand上yaffs文件系统的优势 专门为Nand flash设计的日志文件系统,提供磨损平衡和调电恢复的鲁棒性。 Yaffs将文

8、件组织成固定大小(512B)的数据段,在进行文件修改时,总是先写入新的数据块,然后将旧的的数据块从文件中删除。 jffsjffs2文件系统的缺点: 不适合大容量的Nand flash jffs的日志通过jffs_node建立在RAM中,占用RAM空间:对于128MB的Nand大概需要4MB的空间来维护节点 启动的时候需要扫描日志节点,不适合大容量的Nand flash FAT系统没有日志tmpfs文件系统当 Linux 运行于嵌入式设备上时, 设备就成为功能齐全的单元,许多守护进程会在后台运行并生成许多日志消息。另外,所有内核日志记录机制,象 syslogd、dmesg 和 klogd,会在

9、/var 和 /tmp 目录下生成许多消息。由于这些进程产生了大量数据,所以允许将所有这些写操作都发生在闪存是不可取的。由于在重新引导时这些消息不需要持久存储,所以这个问题的解决方案是使用 tmpfs。tmpfs 是基于内存的文件系统,它主要用于减少对系统的不必要的闪存写操作这一唯一目的。因为 tmpfs 驻留在 RAM 中,所以写读擦除的操作发生在 RAM 中而不是在闪存中。因此,日志消息写入 RAM 而不是闪存中,在重新引导时不会保留它们。tmpfs 还使用磁盘交换空间来存储,并且当为存储文件而请求页面时,使用虚拟内存(VM)子系统。tmpfs 的优点包括:a) 动态文件系统大小 文件系统大小可以根据被复制、创建

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论