37、深入探索文件系统:结构、访问方法与目录管理

深入探索文件系统:结构、访问方法与目录管理

1. 文件系统基础

在计算机系统中,文件系统是管理和组织数据的关键部分。文件通常包含数据分支(data fork)和资源分支(resource fork)。资源分支存储着用户感兴趣的信息,例如程序中显示的按钮标签。以Macintosh操作系统为例,它提供了工具,允许用户修改资源分支中的数据,方便外国用户将按钮标签改为自己的语言。而数据分支则包含程序代码或传统的文件内容。在UNIX或MS - DOS系统中,若要实现类似的修改,程序员通常需要更改并重新编译源代码,除非创建了用户可更改的数据文件。这表明操作系统支持常用结构能为程序员节省大量精力,但结构过多会导致系统臃肿和程序员困惑,过少则会使编程不便。

2. 内部文件结构

操作系统在文件内部定位偏移量可能会很复杂。磁盘系统有明确的块大小,由扇区大小决定,所有磁盘I/O操作都以块(物理记录)为单位,且所有块大小相同。然而,物理记录大小很难与所需的逻辑记录长度完全匹配,逻辑记录长度甚至可能不同。常见的解决方法是将多个逻辑记录打包到物理块中。

以UNIX操作系统为例,它将所有文件定义为简单的字节流,每个字节可通过其相对于文件开头(或结尾)的偏移量单独寻址,此时逻辑记录大小为1字节。文件系统会根据需要自动将字节打包和解包到物理磁盘块中,例如每个块为512字节。

逻辑记录大小、物理块大小和打包技术决定了每个物理块中包含的逻辑记录数量。打包可以由用户的应用程序或操作系统完成,无论哪种方式,文件都可视为块的序列,基本I/O函数都以块为单位操作。从逻辑记录到物理块的转换是一个相对简单的软件问题。

但由于磁盘空间总是按块分配,每个文件的最后一个块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值