B+ tree:

base head:

budgeting: 空闲空间评估

bud: 一个日志使用的eraseblock

cnode:

commit: 更新index到flash上的过程

commit start node:

common header: 所有节点类型的公共头部(除了LPT area)

data head: Journal head used for data nodes. Potentially UBIFS could have more than one data head which would assist in keeping data nodes for each file grouped together rather than interspersed. However presently there is only one data head.

directory entry node: 包含目录项的节点

dirty space: flash上被废弃节点,padding 节点以及padding数据占据的空间

eraseblock: flash memory最小可擦除单位,一般是page的2^n倍

extended attribute entry node: 一个节点包含扩展属性的名字和inode number。难道是扩展属性的真正内容保存在inode number所指向的文件中?

freeable LEB: main area中的一个LEB仅包含空闲空间和dirty空间,看起来就是可回收LEB

free space: flash上的可写空间,应该是page的倍数吧,毕竟page是写的最小单位

garbage collection: 回收dirty空间获取free space

garbage collection head: Journal head used by the garbage collector. In order to move and reindex nodes, the garbage collector just feeds them back through the journal.

garbage collection LEB number: 保留给garbage collection的LEB, 一个 LEB保留给GC

index:UBIFS wandering tree的上部分,保存着index nodes

index LEB: 一个LEB仅仅保存index nodes

index node: 一个节点保存这index物理结构。包含子节点的key以及on-flash位置,应该类似XFS文件系统的 index node

inode: 一个文件系统对象。在UBIFS中,一个inode可以代表一个regular文件,一个目录,一个符号链接,一个特殊文件,或者一个属性值(果然,属性值是以文件方式保存的)

in-the-gaps method: When the file system becomes full, the index cannot grow in size and consequently must be updated in-place. This is done by writing index nodes in-the-gaps created by obsolete index nodes.

journal: 日志就像个小型的 JFFS2文件系统,存储nodes without an on-flash index, 这样可以成组的更新index。和JFFS2类似,必须在mount时扫描日志

journal head: The position on-flash where the next node will be written. UBIFS adopts a multiheaded journal with two main heads: the base head and the data head.

key: index 的key, index保存所有子节点的位置以及他们的key,通过index中的key来获得相应的节点。key是64-bit值,32位是inode number。3 bits是node类型,其余29bits依赖与node的类型。UBIFS也支持改变key的格式到128-bits。32bits的inode number是谁的inode number呢?

LEB: Logical eraseblock由UBI映射为physical eraseblock

LEB properties: main area LEBs有三个重要的属性需要记录在LEB properties, 这三个属性是: 空闲空间数目, dirty空间数目,以及是否LEB包含index nodes

LNC: 页节点cache用来存储目录项和扩展属性项

log: The part of the journal that records where the buds are.

LPT: LEB properties tree, 一个wandering tree用来记录LEB属性

main area: 用来存放data和index的LEBs区域

master mode: 节点用来保存所有on-flash位置可变的结构的position。 具体哪些是on-flash 且位置可变的结构?

minimal I/I unit:flash memory的最小写入单位

node: JFFS2 UBIFS类文件系统的node结构的逻辑部件

nnode: Internal node of the LPT.

orphan area: the node used to store orphan information.

padding bytes: 当需要pad的空间对于padding node太小时padding的字节

padding node: 一个用来填充的node,通常用在最小写单位的边缘位置

PEB: Physical eraseblock,被UBI映射为logical eraseblock

pnode: Leaf node of the LPT which contains the actual LEB property values.

recovery: 在unclean unmount后,UBIFS 用来修复文件系统的功能

replay: 文件系统 mount时,需要重新index日志中的节点

reference code: Log nodes that store the LEB numbers of buds and their offset.

shrinker: 当系统内存缺少时,释放掉内存。UBIFS的shrinker从TNC中释放znodes

superblock node: 超级块记录着几乎永远不便的文件系统参数

TNC: Tree Node Cache, 缓存在cache中的UBIFS index。

truncate node: 一个node记录 文件被truncated并且尺寸变小

unclean unmount: 文件系统没有机会写入所有的cached data以及metadata, 比如系统掉电。

wandering tree:

znode: index node在内存中的对象

UBIFS 术语的更多相关文章

  1. Spring代理模式及AOP基本术语

    一.代理模式: 静态代理.动态代理 动态代理和静态代理区别?? 解析:静态代理需要手工编写代理类,代理类引用被代理对象. 动态代理是在内存中构建的,不需要手动编写代理类 代理的目的:是为了在原有的方法 ...

  2. Spring 代理模式及AOP基本术语

    一.代理模式: 静态代理.动态代理 动态代理和静态代理区别?? 解析:静态代理需要手工编写代理类,代理类引用被代理对象. 动态代理是在内存中构建的,不需要手动编写代理类 代理的目的:是为了在原有的方法 ...

  3. 基本术语表【WF】

    术语 定义 activity(活动) Windows Workflow Foundation 中的程序行为单元. 可将单个活动组合在一起,形成更复杂的活动. activity action(活动操作) ...

  4. 如何设置SharePoint 2013 的根网站集下的“更改此术语的目标页面”

    起因: 首先看问题截图Figure 1,在术语驱动的页面中设置更改此术语的目标页面,会被警告“该URL 不指向某个页面”,原因是我所找到的这个目标页面是一个非aspx结尾的URL链接. Figure ...

  5. Spring 3.0 AOP (一)AOP 术语

    关于AOP.之前我已写过一个系列的随笔: <自己实现简单的AOP>,它的关注点在于实现.实现语言是C#,实现方式为 自定义实现 RealProxy 抽象类.重写Invoke方法,以便进行方 ...

  6. UDS(ISO14229-2006) 汉译(No.3术语与定义)

    下列术语适用于本文档. 3.1 integer 类型 定义正负整数的数据类型. 注:integer类型取值范围未在本文档定义. 3.2 diagnostic trouble code 由车载诊断系统获 ...

  7. ubifs概述

    UBIFS无排序区块图像文件系统(Unsorted Block Image File System, UBIFS)是用于固态存储设备上,并与LogFS相互竞争,作为JFFS2的后继文件系统之一.真正开 ...

  8. C++术语俗解

    C++作为一种复杂的编程语言,其最晦涩的莫过于各个术语. 以下就经常使用的术语,逐个俗解(特别声明:为了对术语的更好理解与记忆,仅代表个人的俗识,若有不妥之处望给予指正),分享共勉. 内存:一片计算机 ...

  9. 引用、引用和术语定义<abbr><acronym><address><bdo><blockquote><q><cite><dfn>

    <abbr>-缩写 <acronym>-首字母缩写  <address>-地址 <bdo>-文字方向 <blockquote>-长的引用 & ...

随机推荐

  1. Eclipse中安装svn的插件安装和使用

    先关闭Eclipse 步骤一:下载site-1.10.11.zip  将其解压 解压后目录 步骤二:创建一个文件夹svn,将解压后的文件copy到svn路径下 步骤三:打开Eclipse安装路径: e ...

  2. ZooKeeper客户端 zkCli.sh 节点的配额设置

    首先使用 zkCli.sh 连接上ZooKeeper服务器 配额设置命令格式如下: setquota -n|-b val path -n:val设置子节点个数 -b:val设置节点的数据长度 如果我们 ...

  3. P2625 豪华游轮 (背包$dp$,数学)

    题目链接 Solution 贼有意思的一个题目. 可以发现阻止我们走的更远的就是那些需要反向走的路程. 然后发现当角度越接近 \(180^\circ\) ,对我们最终的答案则更优. 所以先是一个背包把 ...

  4. linux查看日志的方法

    linux查看日志文件内容命令tail.cat.tac.head.echo tail -f test.log你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C, ---------- ...

  5. 如何用cookie保存用户的登录的密码和用户名

    思路:绘制一个简单的登录界面的Servlet并要在此页面中读取保存密码和用户名的cookie--->在登录处理界面的servlet中把用户名和密码保存到cookie中 //登录界面的Servle ...

  6. Java并发(1)- 聊聊Java内存模型

    引言 在计算机系统的发展过程中,由于CPU的运算速度和计算机存储速度之间巨大的差距.为了解决CPU的运算速度和计算机存储速度之间巨大的差距,设计人员在CPU和计算机存储之间加入了高速缓存来做为他们之间 ...

  7. bzoj 1314: River过河 树套树+单调队列

    Description ZY带N个小Kid过河,小KID分成两种:高一年级,高二年级,由于存在代沟问题,如果同一条船上高一年级生和高二年级生数量之差超过K,就会发生不和谐的事件.当然如果一条船上全是同 ...

  8. java集合类深入分析之PriorityQueue(二)

    PriorityQueue介绍 在平时的编程工作中似乎很少碰到PriorityQueue(优先队列) ,故很多人一开始看到优先队列的时候还会有点迷惑.优先队列本质上就是一个最小堆.前面一篇文章介绍了堆 ...

  9. symfony 关于nginx的配置问题

    好久没有使用symfony,今天想重新宠幸的时候,却碰到了一个很尴尬的问题,下载安装好symfony的时候访问首页成功安装,然而写了一个其它的路由却怎么都是404. 官网看了n遍的路由配置,什么开始第 ...

  10. [LeetCode] Sqrt(x) 二分搜索

    Implement int sqrt(int x). Compute and return the square root of x. Hide Tags Math Binary Search     ...