45、UNIX文件系统数据结构访问详解

UNIX文件系统数据结构访问详解

1. 文件系统数据读取概述

在某些操作中,直接读取磁盘来访问文件系统比通过操作系统内核更有优势,常见的如文件系统备份。这样做的主要原因是速度快,直接读取磁盘能显著提升效率,而且这也是读取含“空洞”文件并仅获取实际使用磁盘块的唯一方法。

不过,直接读取磁盘操作复杂。程序需要了解磁盘上文件系统数据结构的布局,正确解读一些“私有”信息。由于该操作绕过了所有安全机制(如文件所有权和权限位),通常只有超级用户才能执行(通过设置文件系统的块和字符特殊设备的所有权和权限)。

多年来,出现了两种常见的磁盘文件系统:由Ken Thompson和Dennis Ritchie发明的原始文件系统,以及由Kirk McKusick、Bill Joy、Sam Leffler和Robert Fabry开发的伯克利快速文件系统。在SVR4中,两种文件系统都受支持,原始文件系统(略有修改)称为“System V文件系统”,快速文件系统称为“UNIX文件系统”。Solaris 2.x仅支持快速文件系统(“UNIX文件系统”),已移除对“System V文件系统”的支持。这里主要讨论快速文件系统,它更为流行,尽管部分讨论也适用于旧文件系统,但细节有所不同(一般来说,旧文件系统实现更简单,但效率低很多)。

需要注意的是,Silicon Graphics使用自己的文件系统格式,即扩展文件系统(EFS),它与本文描述的UFS文件系统有相似之处,但也存在差异。

2. 磁盘术语

要理解文件系统在磁盘上的布局,需先了解磁盘驱动器的工作原理。

磁盘驱动器包含一个或多个盘片,数据存储在盘片上。每个盘片是中间有孔的圆形

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值