深入理解Linux内核个人小结12---虚拟文件系统
来源:互联网 发布:mac windows8 iso 编辑:程序博客网 时间:2024/06/09 17:40
一. 综述:
虚拟文件系统(VFS):是一个内核软件层,用来处理与Unix文件系统相关的所有系统调用;可看作是一个通用的文件系统,必要时可以依赖某种具体的文件系统调用其底层函数。
高速缓存的种类:
1. 硬件高速缓存: 一个快速的静态RAM,其加快了直接对慢速RAM的请求。
2. 内存高速缓存:一种软件机制,引入它是为了绕过内核内存分配器(slab分配器)。
3. 磁盘高速缓存:一种软件机制,其允许原先在磁盘上的某些信息保存在RAM上,以加快磁盘的访问速度。主要有:索引节点高速缓存,目录项高速缓存,页高速缓存等。
VFS的主要结构:
超级块对象:存放已安装文件系统的相关信息,对应存放于磁盘上的文件系统控制块。
索引节点对象:存放具体文件的一般信息,对应于存放在磁盘上的文件控制块。每个索引节点都有一个索引节点号来唯一地标识此文件。
文件对象:存放打开文件与进程之间进行交互相关的信息。仅当进程访问文件期间存在内核内存中,磁盘上无映像。
目录项对象:存放目录项与对应文件进行链接的有关信息,目录项在磁盘上无对应的映像,目录项对象存放在对应的slab高速缓存中。
二. 文件系统类型
特殊文件系统提供一种方式来操作内核数据结构,并实现操作系统的特殊特征。
文件系统类型注册: file_system_type对象 加入到对应的链表。
文件系统的操作及其实现:命名空间,安装(层层覆盖的方式),卸载。
路径名查找:充分利用目录项高速缓存,考虑以下因素: 权限/符号链接/文件系统切换/进程命名空间等四种情况。
三. 文件加锁机制:
- 深入理解Linux内核个人小结12---虚拟文件系统
- 深入理解Linux内核个人小结5---内核同步
- 深入理解Linux内核个人小结1---绪论
- 深入理解Linux内核个人小结2---内存寻址
- 深入理解Linux内核个人小结3--进程
- 深入理解Linux内核个人小结4---中断和异常
- 深入理解Linux内核个人小结8---内存区管理
- 深入理解Linux内核个人小结9---进程地址空间
- 深入理解Linux内核个人小结10---系统调用
- 深入理解linux虚拟文件系统VFS - 概述
- 《深入理解Linux内核》-文件系统学习心得
- Linux虚拟文件系统小结
- Linux虚拟文件系统小结
- Linux虚拟文件系统小结
- Linux虚拟文件系统小结
- 深入理解 /proc 虚拟文件系统
- linux虚拟内核文件系统介绍
- 逻辑地址,虚拟地址,物理地址--深入理解linux内核
- 医疗术语和医疗常识笔记
- TCP和UDP
- C语言不同增值语句区别
- Oracle类型的创建及使用
- 部门管理经验摘录
- 深入理解Linux内核个人小结12---虚拟文件系统
- oracle type
- 什么是套接字Socket
- struts2中文乱码解决方法
- 复合数据类型
- xml学习
- 多线程回顾
- 教是最好的学
- ORACLE中NOT IN 的替代