深入理解Linux内核个人小结12---虚拟文件系统
2012-10-03 11:01
555 查看
一. 综述:
虚拟文件系统(VFS):是一个内核软件层,用来处理与Unix文件系统相关的所有系统调用;可看作是一个通用的文件系统,必要时可以依赖某种具体的文件系统调用其底层函数。
高速缓存的种类:
1. 硬件高速缓存: 一个快速的静态RAM,其加快了直接对慢速RAM的请求。
2. 内存高速缓存:一种软件机制,引入它是为了绕过内核内存分配器(slab分配器)。
3. 磁盘高速缓存:一种软件机制,其允许原先在磁盘上的某些信息保存在RAM上,以加快磁盘的访问速度。主要有:索引节点高速缓存,目录项高速缓存,页高速缓存等。
VFS的主要结构:
超级块对象:存放已安装文件系统的相关信息,对应存放于磁盘上的文件系统控制块。
索引节点对象:存放具体文件的一般信息,对应于存放在磁盘上的文件控制块。每个索引节点都有一个索引节点号来唯一地标识此文件。
文件对象:存放打开文件与进程之间进行交互相关的信息。仅当进程访问文件期间存在内核内存中,磁盘上无映像。
目录项对象:存放目录项与对应文件进行链接的有关信息,目录项在磁盘上无对应的映像,目录项对象存放在对应的slab高速缓存中。
二. 文件系统类型
特殊文件系统提供一种方式来操作内核数据结构,并实现操作系统的特殊特征。
文件系统类型注册: file_system_type对象 加入到对应的链表。
文件系统的操作及其实现:命名空间,安装(层层覆盖的方式),卸载。
路径名查找:充分利用目录项高速缓存,考虑以下因素: 权限/符号链接/文件系统切换/进程命名空间等四种情况。
三. 文件加锁机制:
虚拟文件系统(VFS):是一个内核软件层,用来处理与Unix文件系统相关的所有系统调用;可看作是一个通用的文件系统,必要时可以依赖某种具体的文件系统调用其底层函数。
高速缓存的种类:
1. 硬件高速缓存: 一个快速的静态RAM,其加快了直接对慢速RAM的请求。
2. 内存高速缓存:一种软件机制,引入它是为了绕过内核内存分配器(slab分配器)。
3. 磁盘高速缓存:一种软件机制,其允许原先在磁盘上的某些信息保存在RAM上,以加快磁盘的访问速度。主要有:索引节点高速缓存,目录项高速缓存,页高速缓存等。
VFS的主要结构:
超级块对象:存放已安装文件系统的相关信息,对应存放于磁盘上的文件系统控制块。
索引节点对象:存放具体文件的一般信息,对应于存放在磁盘上的文件控制块。每个索引节点都有一个索引节点号来唯一地标识此文件。
文件对象:存放打开文件与进程之间进行交互相关的信息。仅当进程访问文件期间存在内核内存中,磁盘上无映像。
目录项对象:存放目录项与对应文件进行链接的有关信息,目录项在磁盘上无对应的映像,目录项对象存放在对应的slab高速缓存中。
二. 文件系统类型
特殊文件系统提供一种方式来操作内核数据结构,并实现操作系统的特殊特征。
文件系统类型注册: file_system_type对象 加入到对应的链表。
文件系统的操作及其实现:命名空间,安装(层层覆盖的方式),卸载。
路径名查找:充分利用目录项高速缓存,考虑以下因素: 权限/符号链接/文件系统切换/进程命名空间等四种情况。
三. 文件加锁机制:
相关文章推荐
- 深入理解Linux内核个人小结5---内核同步
- 深入理解Linux内核个人小结1---绪论
- 深入理解Linux内核个人小结2---内存寻址
- 深入理解Linux内核个人小结8---内存区管理
- 深入理解Linux内核个人小结9---进程地址空间
- 深入理解Linux内核个人小结3--进程
- 深入理解Linux内核个人小结10---系统调用
- 深入理解Linux内核个人小结4---中断和异常
- 深入理解Linux内核-虚拟文件系统
- [ZedBoard移植嵌入式Linux教程(11,12,13)]Zedboard板子配置,深入理解,参考文献
- 读深入理解Linux内核 (前言和第一章)
- 深入理解linux内核之文件系统分析一
- 【深入理解Linux内核】《第一章 绪论》笔记
- 深入理解linux内核---进程(下)
- Linux内核进程调度schedule深入理解
- 深入理解LINUX内核中文版下载地址
- 深入理解l内核v4l2框架之video for linux 2(一)
- 深入理解linux网络技术内幕:用户空间与内核的接口
- 好书推荐——关于学习Linux的经典书籍 (深入理解Linux内核、Linux设备驱动程序等)
- 深入理解Linux内核-I/O体系结构和设备驱动程序