a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 61|回复: 0

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

[复制链接]
发表于 2012-8-4 12:07:07 | 显示全部楼层 |阅读模式
Linux认证:Linux系统中ReiserFS文件系统: T8 p& X- A* p& b' V; ?5 i! j
Linux系统中的ReiserFS文件系统
5 Q3 W+ T( o5 N" c8 aReiserFS是一个非常优秀的文件系统,其开发者非常有魄力,整个文件系统完全是从头设计的。目前,ReiserFS可轻松管理上百G的文件系统,这在企业级应用中非常重要。ReiserFS 是根据面向对象的思想设计的,由语义层(semantic layer)和存储层(storage layer)组成。语义层主要是对对象命名空间的管理及对象接口的定义,以确定对象的功能。存储层主要是对磁盘空间的管理。语义层与存储层是通过键(key)联系的。语义层通过对对象名进行解析生成键,存储层通过键找到对象在磁盘上存储空间,键值是全局唯一的。
& J6 W1 z1 ?' O2 A' U+ t4 ]) h: \语义层主要接口8 i2 Y% E. l( O4 h0 p  u' [+ q
1) 文件接口 每个文件拥有一个接口ID,此ID标识一个方法集,此方法集包含访问ReiserFS 文件的所有接口。/ n+ ~# E6 ]6 I3 [2 o5 r; m
2) 属性接口 ReiserFS实现了一种新接口,把文件的每一种属性当做一个文件,属性的值就是此文件的内容,以实现对文件属性的目录式访问。* i; @5 x  J. R+ ~6 ~* s2 }; z
3) hash接口 目录是文件名到文件的映射表,ReiserFS是通过B+树来实现这张映射表。由于文件名是变长的,而且有时文件名会很长,所以文件名不适合作为键值,故引入了Hash函数来产生键值。1 [- Y3 w9 m& |: @7 x* L
4) 安全接口 安全接口处理所有的安全性检查,通常是由文件接口触发的。下面以读文件为例:文件接口的read 方法在读入文件数据之前会调用安全接口的read chech 方法来来进行安全性检查,而后者又会调用属性文件的read方法把文件属性读入以便检查。
2 ^+ C8 F5 w- K, D' Q) L5) 项(Item)接口 项接口主要是一些对项进行平衡处理的方法,包括:项的拆分,项的评估,项的覆写,项的追加,项的删除,插入及查找。6 B7 P" u, g1 ?: {& V; {1 h; X
6) 键分配(key Assignment)接口 当把一个键分配给一个项时,键分配接口就会被触发。每一种项都有一个与其对应的键分配方法。
8 I# H$ {2 H9 k6 f! @0 Z+ V+ g+ ]存储层2 ^; M9 C! k$ m) j0 Z
在B+树中的各个结点中有一个称为项(Item)的数据结构。项是一个数据容器,一个项只属于一个结点,是结点管理空间的基本单位。一个项包括以下内容:$ g- W( Z. w% c# P9 W

: q& F* W! p- f0 v1) Item_body:项的数据域
" R& W  t1 e& @: v2 r2) Item_key: 项的键值" {% j& k5 t/ t% F- y
3) Item_offset:数据域的起点在结点中的偏移量
* {) ^! w7 g8 O! n, b# H4) Item_length: 数据域的长度
+ K+ a0 G% X- ]5) Item_Plugin_id:项接口ID。
# j5 f" E9 ~; @1 u8 ^0 Z, p
, K' B5 s# Y, F+ x) C, t) J) E图: ReiserFS 项结构3 @6 h5 N5 s7 f0 K
ReiserFS设计了多种不同的项以存储不同的数据,主要有以下几种:( P/ C5 Z+ G+ V' Z- m/ a% c
1) static_stat_data: 静态统计数据,包括文件的所有者,访问权限,创建时间,最近修改时间,链接数等
  [# }% D6 Q) A7 ~  {: N1 M* ]2) cmpnd_dir_item: 包含各个目录项
" {1 V5 K8 m" X0 A3) extend_pointers: 指向一个盘区(extend)8 f3 O/ c7 ^2 |5 q' T  [' A9 h
4) node_pointers: 指向一个结点
& C+ o! h6 O% x$ h0 C. \. r1 N( S% n/ V5) bodies: 包含的是文件的小部分数据$ D& _# ?( J+ ~0 [1 ?
3.3 ReiserFS日志
: D5 L5 @; g% o) m/ U  r6 T与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-5-4 15:44 , Processed in 0.459194 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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