Linux嵌入式文件系统横向对比分析

如对此感兴趣,请拨打电话02l-228l84l9,QQ微信,微博
诚招各地区市场各行业应用推广合作伙伴。查看详细联系方式
欢迎提出产品建议,思路,合作信息,我们计入产品股份,享有对应的分红权。

每一种Linux嵌入式系统文件系统都有其不同的作用和特点,特别是系统文件,它承载着系统是否可以安全运行,如果出现错误,那么将导致系统退出,严重影响我们的使用。嵌入式系统文件系统比较jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs,Linux 支持多种文件系统,包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统VFS(Virtual File System),为各类文件系统提供一个统一的操作界面和应用编程接口。

Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会出错而退出启动。之后可以自动或手动挂载其他的文件系统。因此,一个系统中可以同时存在不同的文件系统。

不同的嵌入式系统文件系统类型有不同的特点,因而根据存储设备的硬件特性、系统需求等有不同的应用场合。在嵌入式Linux应用中,主要的存储设备为 RAM(DRAM, SDRAM)和ROM(常采用FLASH存储器),常用的基于存储设备的文件系统类型包括:jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs等。

1. 基于FLASH的Linux嵌入式文件系统

Flash(闪存)作为嵌入式系统的主要存储媒介,有其自身的特性。Flash的写入操作只能把对应位置的1修改为0,而不能把0修改为1(擦除Flash就是把对应存储块的内容恢复为1),因此,一般情况下,向Flash写入内容时,需要先擦除对应的存储区间,这种擦除是以块(block)为单位进行的。

闪存主要有NOR和NAND两种技术(简单比较见附录)。Flash存储器的擦写次数是有限的,NAND闪存还有特殊的硬件接口和读写时序。因此,必须针对Flash的硬件特性设计符合应用要求的文件系统;传统的嵌入式系统文件系统如ext2等,用作Flash的文件系统会有诸多弊端。

在嵌入式Linux 下,MTD(Memory Technology Device,存储技术设备)为底层硬件(闪存)和上层(文件系统)之间提供一个统一的抽象接口,即Flash的文件系统都是基于MTD驱动层的(参见上面的Linux下的文件系统结构图)。使用MTD驱动程序的主要优点在于,它是专门针对各种非易失性存储器(以闪存为主)而设计的,因而它对Flash有更好的支持、管理和基于扇区的擦除、读/写操作接口。顺便一提,一块Flash芯片可以被划分为多个分区,各分区可以采用不同的文件系统;两块Flash芯片也可以合并为一个分区使用,采用一个文件系统。即文件系统是针对于存储器分区而言的,而非存储芯片。

(1) jffs2

JFFS嵌入式系统文件系统最早是由瑞典 Axis Communications公司基于Linux2.0的内核为嵌入式系统开发的文件系统。JFFS2是RedHat公司基于JFFS开发的闪存文件系统,最初是针对RedHat公司的嵌入式产品eCos开发的嵌入式文件系统,所以JFFS2也可以用在Linux, uCLinux中。

Jffs2: 日志闪存嵌入式系统文件系统版本2 (Journalling Flash FileSystem v2)

主要用于NOR型闪存,基于MTD驱动层,特点是:可读写的、支持数据压缩的、基于哈希表的日志型文件系统,并提供了崩溃/掉电安全保护,提供“写平衡”支持等。缺点主要是当文件系统已满或接近满时,因为垃圾收集的关系而使jffs2的运行速度大大放慢。目前jffs3正在开发中。关于jffs系列文件系统的使用详细文档,可参考MTD补丁包中mtd-jffs-HOWTO.txt。

jffsx不适合用于NAND闪存主要是因为NAND闪存的容量一般较大,这样导致jffs为维护日志节点所占用的内存空间迅速增大,另外,jffsx文件系统在挂载时需要扫描整个FLASH的内容,以找出所有的日志节点,建立文件结构,对于大容量的NAND闪存会耗费大量时间。

(2) yaffs:Yet Another Flash File System

yaffs/yaffs2是专为嵌入式系统使用NAND型闪存而设计的一种日志型文件系统。与jffs2相比,它减少了一些功能(例如不支持数据压缩),所以速度更快,挂载时间很短,对内存的占用较小。另外,它还是跨平台的文件系统,除了Linux和eCos,还支持WinCE, pSOS和ThreadX等。

yaffs/yaffs2自带NAND芯片的驱动,并且为嵌入式系统提供了直接访问文件系统的API,用户可以不使用Linux中的MTD与VFS,直接对文件系统操作。当然,yaffs也可与MTD驱动程序配合使用。

yaffs与yaffs2的主要区别在于,前者仅支持小页(512 Bytes) NAND闪存,后者则可支持大页(2KB) NAND闪存。同时,yaffs2在内存空间占用、垃圾回收速度、读/写速度等方面均有大幅提升。

(3) Cramfs:Compressed ROM File System

Cramfs是Linux的创始人 Linus Torvalds参与开发的一种只读的压缩文件系统。它也基于MTD驱动程序。在cramfs文件系统中,每一页(4KB)被单独压缩,可以随机页访问,其压缩比高达2:1,为嵌入式系统节省大量的Flash存储空间,使系统可通过更低容量的FLASH存储相同的文件,从而降低系统成本。

Cramfs文件系统以压缩方式存储,在运行时解压缩,所以不支持应用程序以XIP方式运行,所有的应用程序要求被拷到RAM里去运行,但这并不代表比Ramfs需求的RAM空间要大一点,因为Cramfs是采用分页压缩的方式存放档案,在读取档案时,不会一下子就耗用过多的内存空间,只针对目前实际读取的部分分配内存,尚没有读取的部分不分配内存空间,当我们读取的档案不在内存时,Cramfs文件系统自动计算压缩后的资料所存的位置,再即时解压缩到RAM中。另外,它的速度快,效率高,其只读的特点有利于保护文件系统免受破坏,提高了系统的可靠性。由于以上特性,Cramfs在嵌入式系统中应用广泛。但是它的只读属性同时又是它的一大缺陷,使得用户无法对其内容对进扩充。Cramfs映像通常是放在Flash中,但是也能放在别的文件系统里,使用loopback 设备可以把它安装别的文件系统里。

(4) Romfs

传统型的Romfs文件系统是一种简单的、紧凑的、只读的文件系统,不支持动态擦写保存,按顺序存放数据,因而支持应用程序以 XIP(eXecute In Place,片内运行)方式运行,在系统运行时,节省RAM空间。uClinux系统通常采用Romfs文件系统。其他嵌入式系统文件:fat/fat32也可用于实际嵌入式系统的扩展存储器(例如PDA, Smartphone, 数码相机等的SD卡),这主要是为了更好的与最流行的Windows桌面操作系统相兼容。ext2也可以作为嵌入式Linux的文件系统,不过将它用于 FLASH闪存会有诸多弊端。

您现在的位置: 上海速嵌 >> 技术库 >> 正文

分享到:

  相 关 技 术

固顶技术qPad一站式高效办公
固顶技术电机控制应用于医疗化工电子设备器械工业机器人自动化作业系统
固顶技术嵌入式软硬件设计服务
固顶技术声音图像语音视频通信系统
固顶技术工业传感器64路数据采集和监控
固顶技术高精度16路传感器数据采集和处理
固顶技术GPS导航定位监控行业应用方案 LBS (Location Based Service)
固顶技术Samsung S3C2440/S3C6410/S5PV210 工业产品级主板和解决方案
固顶技术GIS系统Mapinfo格式嵌入式GPS导航应用
普通技术机械臂定制
普通技术非标机械臂
普通技术机械手定制
普通技术机械臂开发
普通技术机械臂设计
普通技术机械臂
普通技术双赢双屏
普通技术众筹开发
普通技术可穿戴解决方案
普通技术imx6som卡片式计算机评估板
普通技术imx6单板工控主板火星板
普通技术imx6单板工控主板
普通技术硬件定制
普通技术远程现场呈现替身机器人
普通技术智能脉搏手表
普通技术悠牌电脑桌
普通技术OMAP4460 Pandaboard
普通技术Exynos4412评估板
普通技术iMX6SOM评估板
普通技术OMAP4460评估板
普通技术OMAP5432评估板
普通技术MK802 Linux系统
普通技术多频段RFID 3G平板
普通技术超远距离RFID终端
普通技术智能打印POS机
普通技术工业级WM智能手机
普通技术工业级Android手机
普通技术身份证识别工业平板
普通技术工业级3G平板电脑
普通技术工业安卓手持终端
普通技术GPU性能比较
普通技术Raspberry Pi 树莓派
普通技术linux qt软件开发
普通技术手机开发制造的全流程
普通技术移动嵌入式数据库市场与技术
普通技术Linux嵌入式文件系统横向对比分析
普通技术小票打印机
普通技术移动支付刷卡对比
普通技术刷卡魔块
普通技术微型UPC电脑
普通技术安防套装
普通技术USB摄像头
普通技术在线购买
普通技术技术参数
普通技术安装使用
普通技术工厂案例
普通技术公司案例
普通技术超市案例
普通技术增值功能
普通技术视频监控
普通技术在线订购
普通技术增值功能
普通技术功能介绍
普通技术最值得关注的主要嵌入式产品市场
普通技术意法半导体推出内置9轴MEMS传感器的STM32 F3开发套件
普通技术安卓Android工业平板电脑工业显示器
普通技术阳光下可视高亮度大尺寸LED显示屏
普通技术TTL转LVDS转换模块
普通技术嵌入式系统开发
普通技术3D打印机
普通技术vTigerCRM简介
普通技术功能框图
普通技术CRM作用价值
普通技术CRM与企业挑战
普通技术CRM与企业决策
普通技术CRM基础理论
普通技术国内3D打印产业与市场现状
普通技术无线医疗的机遇与挑战
普通技术EMI 来自哪里?EMI 如何通过介质干扰电路
普通技术硬件隔离保护设计 接口i2c rs232串口 485 can
普通技术Android平板电脑控制串口设备
普通技术摄像头汽车防碰撞系统
普通技术大运航海
普通技术系统说明
普通技术基于嵌入式S3C2440的船舶导航系统设计
普通技术智能家居
普通技术微虎CRM
普通技术ADI全系列仿真器ADZS-USB-ICE
普通技术九维航姿微系统电子罗盘电子陀螺仪
普通技术电子货架标签
普通技术ADDA-PWM板
普通技术网络音频板
普通技术电子产品制造服务
普通技术网络摄像头模块方案
普通技术警用警务警帽录像系统
普通技术S3C2416手持机
普通技术S3C6410手持机型
普通技术船舶船载电子海图系统和自动识别系统
普通技术HMI技术在工业控制领域的广泛应用
普通技术嵌入式组态软件和标准版组态软件的区别
普通技术光伏正弦波逆变电源
普通技术汽车电脑车载电脑汽车中控
普通技术健康监护系统
普通技术音频视频无线传输模块
普通技术广告机-支持无线网络
普通技术人体防摔安全气囊
普通技术iPhone 4拆解分析
普通技术Stellaris(群星)系列 ARM
普通技术嵌入式开发流程详解
普通技术系统移植和集成
普通技术嵌入式设备驱动程序开发
普通技术板级支持包(BSPs) 开发
普通技术电路原理图设计开发
普通技术PCB设计布线Layout
普通技术OMAP-L138 开发板
普通技术互动式手写电子白板
普通技术魔杖遥控器
普通技术便携式车载逆变器
普通技术电子血压计方案
普通技术IC智能卡刷卡机
普通技术汽车定位/调度/刷卡交费终端
普通技术汽车检测仪
普通技术微型潜水电脑
普通技术压力检测系统
普通技术网络音频终端
普通技术HMI人机界面定制开发
普通技术全球MEMS应用及其市场状况
普通技术EMC设计
普通技术ARM嵌入式数控系统
普通技术基于MSP430内嵌温度传感器的温度告警系统
普通技术语音通信系统中的噪声产生和影响
普通技术MP3算法实现
普通技术ITU G.729(CS-ACELP共扼结构-代数码激励线性预测)语音算法
普通技术ITU G.729(CS-ACELP共扼结构-代数码激励线性预测)语音算法
普通技术ITU G.723.1(ACELP代数码激励线性预测)语音算法
普通技术EVRC(Enhanced Variable Rate Codec)增强型多速率语音算法
普通技术语音通信系统中的回声产生和影响
普通技术语音通信系统中的回声产生和影响
普通技术AMR Wideband(Adaptive Multi Rate)宽带自适应多速率语音算法
普通技术AMR(Adaptive Multi Rate)自适应多速率语音算法
普通技术专业的音频视频算法处理
普通技术AAC(Advanced Audio Coding)
普通技术土壤水温监测系统
普通技术公司新闻
普通技术压力控制系统
普通技术中央空调控制系统
普通技术有关传感器与数据采集卡
普通技术S3C6410开发平台
普通技术S3C6410 移植Android 内核
普通技术S5PC110开发板
普通技术条形码识别软件
普通技术嵌入式系统硬件基础
普通技术各种认证,设计制造须知
普通技术Wiegand协议
普通技术使用PWM调光
普通技术TI DM6467 1080 高清编解码
普通技术电子设备产品机箱外壳设计
普通技术有源噪声消除 (ANC)
普通技术数字音频广播
普通技术汽车仪表板
普通技术汽车门禁系统
普通技术汽车车身控制器
普通技术车用信息娱乐
普通技术车用视觉控制
普通技术便携产品个性设计启示
普通技术投影仪、高清和低功耗 -- 多元化的手机设计
普通技术胎压计方案
普通技术G.723.1编解码算法的DSP实现
普通技术G.729A语音编码实时实现在TMS320VC5416 DSP上
普通技术GPRS数据传输终端
普通技术音频编解码标准汇总
普通技术语音识别技术简述
普通技术Iridix VEE
普通技术如何让便携式多媒体系统实现高质量音频
普通技术新AMR WB+音频/语音编解码器将在SoCIP2008展示
普通技术精心打造音视频领域的中国芯
普通技术PureSpeech蓝牙音频增强技术
普通技术语音识别应用中DSP
普通技术VoIP综合应用技术概述
普通技术VoIP中语音压缩编码技术的研究与性能分析
普通技术EVRC and G.729AB Transcoding
普通技术怎样选择嵌入式媒体处理器
普通技术TI达芬奇技术再战视频转码市场
普通技术土豆网紧跟Adobe步伐第一时间推出"清晰版"
普通技术VoIP电话发展简史
普通技术H.264简介
普通技术Internet语音通信中的回声消除技术