当前位置:  技术问答>linux和unix

关于jffs2文件系统~~~求助

    来源: 互联网  发布时间:2016-10-18

    本文导语:  flash最小erase为128k 1.对于jffs2对于刷新flash流程是什么???ap做的IO操作是改的日志文件?之后再刷新flash???刷新flash的时机是什么? 2.单分的区,文件系统在 /dev/mtdblock 中映射出对应的块文件, 怎么知道那个块...

flash最小erase为128k
1.对于jffs2对于刷新flash流程是什么???ap做的IO操作是改的日志文件?之后再刷新flash???刷新flash的时机是什么?
2.单分的区,文件系统在 /dev/mtdblock 中映射出对应的块文件, 怎么知道那个块文件是我要的区???如何操作??有什么方法将这些块能成像windows分区一样??
3.jffs2内的“损耗平衡”机制,对这些块文件是否有影响???有没有可能将这个块中的文件写到其它分区中???
~~~~~不知道的或者直接摘抄的就尽量别留言了谢谢~~~~~~

|
我只研究过JFFS2的原理,具体没用过,所以问题2和3不知道,应该JFFS2的文档有说明。我对于问题一的看法:Flash删除是以Erase Unit为单位,又叫flash block(块),通常128K。读写以页为单位,通常在512B 到 16K之间。物理页一旦写了,要原地更新(比如4K)的话,必须先做删除工作(128K)。所以JFFS2采用日志形式,把修改过的页顺序地写到其他干净的物理块里面。同时把该页的逻辑地址映射到新的物理地址上。这样的好处是不用每次更新一个页都需要删除一个块。但是,旧的页面造成空间浪费,于是要做垃圾回收,其实就是合并那些含有垃圾页面的块(有效页面写到干净的块里面,旧的块删除)。

|
以前研究过一阵子jffs2,说点自己的看法,不一定对哈
1。jffs2是日志文件系统,新的写操作过来的时候不一定要擦flash,只要能找到一块干净的块写就行了。
在文件系统认为需要擦的时候才会去执行擦的操作。日志文件在内存里面,只是记录下新的数据在哪里,要是坏了,就可以找到之前的数据在哪里。
2。分区0 1 2。。这样应该不会互相干扰,因为一个分区对应的是一个文件系统啊
3。损耗平衡就是让每个块基本上写的次数差不多,是文件系统层的概念,给文件没多大关系。

上大学的时候研究的,不一定对,呵呵。

|
日志文件不可能完全在内存里面的,一是内存占用太高,二是有数据一致性问题。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • jffs2的提示信息JFFS2 notice CRC,还有Empty flash at,如何解决?
  • NOSQL iis7站长之家
  • jffs2,MTD讨论
  • JFFS2 移植到ST平台问题
  • cramfs下面挂jffs2方案可行吗?
  • 请问如何mount jffs2 ?
  • jffs2如何设置不同分区只读属性?
  • 关于mkfs.jffs2的压缩级别问题
  • 关于s3c44b0在sst39vf1601建立jffs2的问题
  • 请教高手 jffs2_get_inode_nodes(): Data CRC failed on node...问题
  • 请教ramdisk+jffs2挂载问题
  • 单板断电,jffs2分区丢失
  • Ramdisk+JFFS2分区后,导致分区混乱,空间不够的莫名问题..


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3