Linux文件系统
本案例来自
3y.uu456 /bp_1tmec14xa10vngk59enq_1
摘要:本文介绍了 Linux 操作系统下文件系统的类型,并对比了各种文件系统。 Linux 文件系
统中 的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有
Linux 用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。
关键词:文件系统;ext4
1 Linux 文件系统简介
Linux 文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构
所有 Linux 用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。
2 基本介绍
很详细地了解某个操作系统的实际工作方式是非常困难的,因为大多数操作系统的源代码都是严格
保密的。在以实际使用为目标的操作系统中,让任何人都可以自由获取系统源代码,无论目的是要了解 、
学习还是修改,这样的系统并不多。本论文的主题就是这些少数操作系统中的一个:Linux。
Linux 是一个性能稳定、功能强大、效率高的操作系统。它在功能特性方面与 Unix 系统相似,同时
又具有多任务、多用户、多平台等若干特性。Linux 的源代码是开放的,阅读 Linux 源代码,无疑是深入学
习 Linux 的最好方法。
3 系统原理
Linux 最早的文件系统是 Minix,但是专门为 Linux 设计的文件系统——扩展文件系统第二版或 EXT2
被设计出来并添加到 Linux 中,这对 Linux 产生了重大影响。EXT2 文件系统功能强大、易扩充、性能上
进行了全面优化,也是所有 Linux 发布和安装的标准文件系统类型。
每个实际文件系统从操作系统和系统服务中分离出来,它们之间通过一个接口层:虚拟文件系统或
VFS 来通讯。VFS 使得 Linux 可以支持多个不同的文件系统,每个表示一个 VFS 的通用接口。由于软件
将 Linux 文件系统的所有细节进行了转换,所以 Linux 核心的其它部分及系统中运行的程序将看到统一的
文件系统。Linux 的虚拟文件系统允许用户同时能透明地安装许多不同的文件系统。
在 Linux 文件系统中,作为一种特殊类型proc 文件系统只存在内存当中,而不占用外存空间。它以
文件系统的方式为访问系统内核数据的操作提供接口。proc 文件系统是一个伪文件系统,用户和应用程
序可以通过proc 得到系统的信息,并可以改变内核的某些参数。
在 Linux 文件系统中,EXT2 文件系统、虚拟文件系统、proc 文件系统是三个具有代表性的文件系统,
本论文试图通过对他们的分析来研究 Linux 文件系统机制。并且在分析这三种文件系统的基础上对 Linux
文件系统操作进行了解、研究(本论文选取了 open 和 close 两种操作进行研究)。在第二部分中将介绍
EXT2 文件系统;第三部分论述虚拟文件系统的特点;第四部分简要介绍proc 文件系统;最后,介绍两
种具体文件系统操作的实现。
4 文件系统
在 Linux 中普通文件和目录文件保存在称为块物理设备的磁盘或者磁带上。一套 Linux 系统支持若干
物理盘,每个物理盘可定义一个或者多个文件系统。(类比于微机磁盘分区)。每个文件系统由逻辑块
的序列组成,一个逻辑盘空间一般划分为几个用途各不相同的部分,即引导块、超级块、 inode 区以及数
据区等。
引导块:在文件系统的开头,通常为一个扇区,其中存放引导程序,用于读入并启动操作系统;超
级块:用于记录文件系统的管理信息。特定的文件系统定义了特定的超级块; inode 区(索引节点):一
个文件或目录占据一个索引节点。第一个索引节点是该文件系统的根节点。利用根节点,可以把一个文
件系统挂在另一个文件系统的非叶节点上;数据区:用于存放文件数据或者管理数据。
Linux 最早引入的文件系统类型是 MINIX。MINIX 文件系统由 MINIX 操作系统定义,有一定的局限
性 , 如 文 件 名 最 长 14 个 字 符 , 文 件 最 长 64M 字 节 。 第 一 个 专 门 为 Linux 设 计 的 文 件 系 统 是
EXT(Extended File System),但目前流行最广的是 EXT4。
第二代扩展文件系统由 Rey Card 设计,其目标是为 Linux 提供一个强大的可扩展文件系统。它同时
也是 Linux 界中设计最成功的文件系统。通过 VFS 的超级块(struct ext2_sb_info ext2_sb)可以访问 EXT2
的超级块,通过 VFS 的 inode(struct ext2_inode_info ext2_i)可以访问 EXT2 的 inode。
1 3
Linux 文件系统
评论0
最新资源