首页 > 系统服务 > 详细

Linux内核设计与实现 总结笔记(第十三章)虚拟文件系统

时间:2019-08-24 00:21:50      阅读:127      评论:0      收藏:0      [点我收藏+]

一、通用文件系统接口

Linux通过虚拟文件系统,使得用户可以直接使用open()、read()、write()访问文件系统,这种协作性和泛型存取成为可能。

不管文件系统是什么,也不管文件系统位于何种介质,采用策略是统一的。

二、文件系统抽象层

为了支持多文件系统,VFS提供了一个通用文件系统模型, 囊括了任何文件系统的常用功能集和行为。

用户空间的write()将调用VFS的sys_write(),然后调用文件系统中文件系统的写方法,最后写进物理介质中去。

 

三、Unix文件系统

Unix使用了四种和文件系统相关的传统抽象概念:文件、目录项、索引节点、安装点。

从本质上讲文件系统是特殊的数据分层存储结构,它包括文件、目录和相关的控制信息。

文件系统的通用操作包含创建、删除和安装等。多有已安装的文件系统都作为根文件系统树的枝叶出现在系统中。 

文件其实可以做一个有序字节串,字节串抵押给字节是文件的头,最后一个字节是文件的尾。

文件通过目录组织起来,文件目录好比一个文件夹,用来容纳相关文件。目录可以包含子目录,层层嵌套,形成文件路径。

Unix系统将文件的相关信息和文件本身这两个概念加以区分,例如访问控制权限、大小、拥有者、创建按时间等信息。

而文件相关的信息被存储在单独的结构中,被称作索引节点。

 

四、VFS对象及其数据结构

VFS有四个主要对象类型,分别是:

超级块对象、索引节点对象、目录项对象、文件对象

 

五、超级块对象

 

六、超级块操作

 

七、索引节点对象

 

八、索引节点操作

 

九、目录项对象

 

十、目录项操作

 

十一、文件对象

 

十二、文件操作

 

十三、文件系统相关的数据结构

 

十四、和进程相关的数据结构

Linux内核设计与实现 总结笔记(第十三章)虚拟文件系统

原文:https://www.cnblogs.com/ch122633/p/11402862.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!