现在的位置: 首页 > 综合 > 正文

Linux学习笔记零零五

2014年01月17日 ⁄ 综合 ⁄ 共 1054字 ⁄ 字号 评论关闭

1. 文件系统的定义

三个方面:

某种文件格式、以某种格式存储的设备、某种管理文件的机制。

 

2. VFS与文件系统

VFS是虚拟文件系统的缩写。不同的文件系统有不同的格式、管理机制和实现。VFS则是各种文件系统必须遵守的API规范。

 

3. 进程与文件系统

task_struct中有两个指针,一个指向fs_struct,记录了文件系统相关的属性;一个是file_struct,记录了所有打开的文件列表。

 

4. inode与identry

一个文件可以有多个文件名,通过不同的文件名访问有不同的权限。identry对应文件名,而inode对应文件。identry与inode是一对一或者多对一的关系。

 

5.连接

一个inode直接连接另一个inode就叫连接;如果两个inode在同一个文件系统中,就叫普通连接。如果两个inode可能不在同一个文件系统中,就叫符号连接,符号连接可能悬空。

 

6.目录与文件

目录也是文件,如果一个目录不在任何目录之内,这个目录就叫根目录。

每个文件系统都有一个根目录,这个根目录也是文件系统的入口。通过根目录可以访问该文件系统内的所有文件和目录。

整个系统有一个根目录,这个根目录是整个系统的入口。通过系统根目录可访问该系统内的所有文件和目录。

文件系统的根目录挂在系统根目录下。

系统的根目录一般是引导操作系统的文件系统的根目录。

 

7. 超级块

超级块记录了文件系统的一些属性。以EXT2文件系统为例,

第一个部分是magic number,通过该number,文件系统管理器可识别该文件系统为EXT2.

此外,还记录了数据块的大小,每个组中数据块的数量,总的数据块的数量,空闲的数据块的数量。

超级块还记录了第一个inode的位置,第一个inode就是该文件系统的根目录。

 

文件系统一般分为四部分;

引导区:用来存储操作系统引导程序;

超级块;

inode块:记录了所有的inode;

数据块;

 

8. 文件系统与磁盘驱动

文件系统不会知道数据存储的具体位置,这个由磁盘驱动来处理。文件系统处理的就是数据块。

 

9. 超级块的同步

在系统启动后,超级块会从存储设备上导入到内存中,此时,就会存在内存中的超级块与存储设备中的超级块同步的文件。

一般来讲,在系统启动时和关闭时,两部分是同步的。内核会定期同步两部分的数据。

当系统由于突然掉电而关机时,数据就没有得到同步。文件系统的完整性被破坏。

Unix系统的处理办法是,在系统启动时,从掉电时对应的内存中的超级块中取出数据,与存储设备中的超级块同步。

这也是Unix比windows稳定的原因。

抱歉!评论已关闭.