a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 65|回复: 0

[综合辅导] Linux认证:Linux系统中ReiserFS文件系统

[复制链接]
发表于 2012-8-4 12:07:07 | 显示全部楼层 |阅读模式
Linux认证:Linux系统中ReiserFS文件系统/ p2 y/ ]7 k6 R" _- O
Linux系统中的ReiserFS文件系统
, U8 |+ P/ U5 T5 y, KReiserFS是一个非常优秀的文件系统,其开发者非常有魄力,整个文件系统完全是从头设计的。目前,ReiserFS可轻松管理上百G的文件系统,这在企业级应用中非常重要。ReiserFS 是根据面向对象的思想设计的,由语义层(semantic layer)和存储层(storage layer)组成。语义层主要是对对象命名空间的管理及对象接口的定义,以确定对象的功能。存储层主要是对磁盘空间的管理。语义层与存储层是通过键(key)联系的。语义层通过对对象名进行解析生成键,存储层通过键找到对象在磁盘上存储空间,键值是全局唯一的。
8 f$ e8 J) Y2 G0 @1 O: l: D7 @语义层主要接口
' u  n' X. C0 a, g# c' r" _1) 文件接口 每个文件拥有一个接口ID,此ID标识一个方法集,此方法集包含访问ReiserFS 文件的所有接口。
) ~2 D+ A0 i9 {4 G2) 属性接口 ReiserFS实现了一种新接口,把文件的每一种属性当做一个文件,属性的值就是此文件的内容,以实现对文件属性的目录式访问。
$ L  Z( K" j1 Q3) hash接口 目录是文件名到文件的映射表,ReiserFS是通过B+树来实现这张映射表。由于文件名是变长的,而且有时文件名会很长,所以文件名不适合作为键值,故引入了Hash函数来产生键值。0 S, y& M8 d- T. Z4 S$ C' a
4) 安全接口 安全接口处理所有的安全性检查,通常是由文件接口触发的。下面以读文件为例:文件接口的read 方法在读入文件数据之前会调用安全接口的read chech 方法来来进行安全性检查,而后者又会调用属性文件的read方法把文件属性读入以便检查。
( q" j: ]& \" ^/ a! q5) 项(Item)接口 项接口主要是一些对项进行平衡处理的方法,包括:项的拆分,项的评估,项的覆写,项的追加,项的删除,插入及查找。
/ N8 y4 w  m; ^, J6) 键分配(key Assignment)接口 当把一个键分配给一个项时,键分配接口就会被触发。每一种项都有一个与其对应的键分配方法。
/ y" r9 `- S, r( Z3 \存储层- j* T' F: D" N/ h7 r7 @; G
在B+树中的各个结点中有一个称为项(Item)的数据结构。项是一个数据容器,一个项只属于一个结点,是结点管理空间的基本单位。一个项包括以下内容:4 H2 k/ B" {/ S, g9 K) u

; {/ v* ~7 h6 W  j- m1) Item_body:项的数据域! e! X/ F4 I* t5 k2 ]- C0 Y
2) Item_key: 项的键值- i( u6 K; d' w: @, V
3) Item_offset:数据域的起点在结点中的偏移量7 ^0 |# i! r+ m' ~# w
4) Item_length: 数据域的长度& S% {4 h, o  z! }- q5 _
5) Item_Plugin_id:项接口ID。4 g) E- F# O& S
; d# P- F: z% h
图: ReiserFS 项结构
- j2 b0 W8 T. l8 a: o  k. DReiserFS设计了多种不同的项以存储不同的数据,主要有以下几种:9 n9 G: e6 |5 ]8 J% a4 p4 _* {
1) static_stat_data: 静态统计数据,包括文件的所有者,访问权限,创建时间,最近修改时间,链接数等5 r0 _  O2 f4 ]0 p4 a
2) cmpnd_dir_item: 包含各个目录项
$ [2 Y1 `  `9 m% I7 v% c3) extend_pointers: 指向一个盘区(extend)' ^4 |. X0 Y6 Y6 U& \# d/ d9 G
4) node_pointers: 指向一个结点- `' \* z* t7 Y. e7 i
5) bodies: 包含的是文件的小部分数据5 V/ E* N1 \! W6 B
3.3 ReiserFS日志! ^- t" o2 N8 W/ k! h$ O: ~% h
与ext3一样,ReiserFS也有三种日志模式,即journal,ordered,writeback。同时,ReiserFS引入了两种日志优化方法:copy-on-capture和steal-on-capture。copy-on-capture:当一个事务要修改的块在另一个未提交的事务中时,就把这个块复制一份,这样这两个事务就可以并发进行了。steal-on-capture:当一个块被多个事务修改时,只有最晚提交的那个事务才把这个块实际写入文件系统,其他事务都不写这个块。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-6-3 04:43 , Processed in 0.174231 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表