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. qemu中的网络设置

    https://www.cnblogs.com/hukey/p/6436211.html 这个链接里教你怎么操作kvm的各种网络模式,实际操作成

  2. TypeSc­ript & Angular

    TypeSc­ript https://github.com/Microsoft/TypeScript https://www.typescriptlang.org/ https://www.type ...

  3. 第八篇:python基础_8 面向对象与网络编程

    本篇内容 接口与归一化设计 多态与多态性 封装 面向对象高级 异常处理 网络编程 一. 接口与归一化设计 1.定义 (1)归一化让使用者无需关心对象的类是什么,只需要知道这些对象都具备某些功能就可以了 ...

  4. Ubuntu扩展系统盘容量,虚拟机下

    安装gparted软件 sudo apt-get install gparted 接下来, 我们开始用Gparted软件扩展Ubuntu目录的容量: 先看操作步骤: 1. 先从windows的 ntf ...

  5. jQuery 鼠标滚轮事件

    使用插件 jquery-mousewheel 下载 $('body').mousewheel(function(event, delta) { ? 'Up' : 'Down'; if (dir == ...

  6. stringutil的方法

    StringUtils 源码,使用的是commons-lang3-3.1包. 下载地址 http://commons.apache.org/lang/download_lang.cgi 以下是Stri ...

  7. Mysql事务隔离级

    转自:http://xm-king.iteye.com/blog/770721 SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的.低级别的隔离级一般 ...

  8. Codevs 1710 == POJ 1190 生日蛋糕 == 洛谷P1731

    生日蛋糕 时间限制: 2 s  空间限制: 128000 KB  题目等级 : 大师 Master 题目描述 Description 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ ...

  9. OpenCV 2.4.9 学习笔记(4)—— 像素类型与Templates的限制使用

    限制使用templates C++中的Templates使得接口机制非常好用,高效而且能够保证数据与算法的安全.但是过多地使用templates可能会增加计算时间和代码长度,有时候还能难区分接口和实现 ...

  10. PHP开发笔记(一)

    Location of the Android sdk has not been setup in the preference. 分析与解决: 第一次安装好adt后, 选择android sdk的路 ...