文件系统学习

一、Linux文件系统
目录结构
树形结构:倒立 —— 根目录 /

二、根文件系统概念
1. 是什么
内核第一个挂载的文件系统,包含Linux系统完整启动所需的目录结构和重要文件
其它所有文件系统进行挂载使用的载体
2.为什么
Linux完整启动的需要,进入用户态操作环境:VFS设计
提供了良好强大的文件系统扩展性

三、根文件系统形式
1. 要求
根文件系统能被内核找到并加载:存储介质驱动、存在地址问题
格式能被内核识别:initrd/cramfs/…
包含基本的目录结构与启动程序
2. 结构
/bin 存放二进制可执行命令的目录
/dev 存放设备文件的目录
/etc 存放系统管理和配置文件的目录
/home 用户主目录,比如用户user的主目录就是/home/user,可以用~user表示
/lib 存放动态链接共享库的目录
/sbin 存放系统管理员使用的管理程序的目录
/tmp 公用的临时文件存储点
/root 系统管理员的主目录
/mnt 系统提供这个目录是让用户临时挂载其他的文件系统。
/proc 虚拟文件系统,可直接访问这个目录来获取系统信息。
/var 某些大文件的溢出区
/usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录。

一般说来,只有/bin,/dev,/etc,/lib,/proc,/var,/usr这些需要的,而其他都是可选的。

Flash文件系统:jffs/jffs2和yaffs/yaffs2

在嵌入式系统中进行数据读写时,为了保证可靠性,我们可以选择哪些合适的文件系统?

一、Flash闪存类型
非易失存储器,可以对称为块的存储器单元块进行擦写和再编程
任何flash器件的写入操作只能在空或已擦除的单元内进行,在进行写入操作之前必须先执行擦除

1. NOR Flash: 非易失内存
    应用:代码存储介质
    特点:
        芯片内执行(XIP, eXecute In Place)
        低容量高成本: 1 - 16MB(常见)
        读写速度:读取速度快,写入速度慢
        块最大擦写次数:10W

2. NAND Flash:类似硬盘的块设备
    应用:数据存储介质
    特点:
     极高的单元密度
      读写速度:写入和擦除的速度很快
      高容量低成本:16 - 1024MB(常见)
      块最大擦写次数:100W

二、JFFS2
JFFS:1999
Journalling Flash File System, Version 2:2001-9-23,Linux 2.4.10
主要用于NOR Flash,可用于NAND Flash

1. 特性:
    掉电保护与损耗平衡
    垃圾回收机制
    CRC循环冗余校验机制
    挂载时间与内存消耗跟文件系统的大小成正比:文件系统越大,越慢,消耗越多 ————> 很差的扩展性
        挂载需要进行全盘扫描,挂载一个 16M 的闪存有时需要半分钟以上的时间
        在实际应用中,JFFS2 最大能用在 128M 的闪存上

三、YAFFS2
YAFFS:2002
Yet Another Flash File System, Version 2:2003
只能用于NAND Flash, YAFFS1支持512Bytes/Page的NAND Flash;YAFFS2支持2kBytes/Page的NAND Flash.

1.特性:
    储存资料的基本单位是Chunk:Page
    支持YAFFS/Direct使用:可以不需要VFS,甚至操作系统支持
    ECC冗余校验机制
        纠正单比特错误和检测双比特错误,而且计算速度很快,但对1比特以上的错误无法纠正,对2比特以上的错误不保证能检测。
    更快的挂载速度,更少的内存使用
        512B/page ————> 4KB RAM/1MB NAND
        2KB/Page  ————> 1KB RAM/1MB NAND

总结:
JFFS与YAFFS都是日志结构文件系统(LFS),保障了数据的可靠性与安全性,可以恢复数据。
一般来说,对于小于64MB的NAND Flash,可以选用JFFS2;如果超过64MB,用YAFFS2比较合适

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值