您的位置:首页 > 运维架构 > Linux

深入理解Linux内核个人小结12---虚拟文件系统

2012-10-03 11:01 555 查看
一. 综述:

虚拟文件系统(VFS):是一个内核软件层,用来处理与Unix文件系统相关的所有系统调用;可看作是一个通用的文件系统,必要时可以依赖某种具体的文件系统调用其底层函数。

高速缓存的种类:

1. 硬件高速缓存: 一个快速的静态RAM,其加快了直接对慢速RAM的请求。

2. 内存高速缓存:一种软件机制,引入它是为了绕过内核内存分配器(slab分配器)。

3. 磁盘高速缓存:一种软件机制,其允许原先在磁盘上的某些信息保存在RAM上,以加快磁盘的访问速度。主要有:索引节点高速缓存,目录项高速缓存,页高速缓存等。

VFS的主要结构:

超级块对象:存放已安装文件系统的相关信息,对应存放于磁盘上的文件系统控制块。

索引节点对象:存放具体文件的一般信息,对应于存放在磁盘上的文件控制块。每个索引节点都有一个索引节点号来唯一地标识此文件。

文件对象:存放打开文件与进程之间进行交互相关的信息。仅当进程访问文件期间存在内核内存中,磁盘上无映像。

目录项对象:存放目录项与对应文件进行链接的有关信息,目录项在磁盘上无对应的映像,目录项对象存放在对应的slab高速缓存中。

二. 文件系统类型

特殊文件系统提供一种方式来操作内核数据结构,并实现操作系统的特殊特征。

文件系统类型注册: file_system_type对象 加入到对应的链表。

文件系统的操作及其实现:命名空间,安装(层层覆盖的方式),卸载。

路径名查找:充分利用目录项高速缓存,考虑以下因素: 权限/符号链接/文件系统切换/进程命名空间等四种情况。

三. 文件加锁机制:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: