码迷,mamicode.com
首页 > 系统相关 > 详细

Linux文件系统1---VFS的引入

时间:2017-07-22 15:43:26      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:linux内核   实例   没有   文件系统管理   .com   system   cat   技术分享   proc   

1.引言

本文所述关于文件管理的系列文章主要是对陈莉君老师所讲述的文件系统管理知识讲座的整理。

Linux可以支持不同的文件系统,它源于unix文件系统,也是unix文件系统的一大特色。

2.虚拟文件系统的引入

技术分享

图 内核所支持的文件系统

通过cat /proc/filesystems可以查看当前内核所运行的文件系统,文件系统不仅作为一种文件的管理机制,也可以作为其它的一种机制加入VFS中,如cgroup等

    

技术分享

图 文件系统目录结构

Linux的文件是统一的,位于一颗目录树中,它与进程管理是一脉相承的理念。

 

技术分享

图 VFS文件系统架构图

VFS为用户空间提供了统一的接口,不同的文件系统需要实现这些接口,对于设备文件,驱动程序中也要实现相应的接口,这体现了一种机制与分离的理念。

 3.file_system_type结构体

技术分享

图 file_system_type结构体

 

  • Linux内核采用VFS(Virtual Filesystem Switch)框架
  • 每个文件系统都需要在VFS中注册,即填充一个struct file_system_type结构
  • 此结构描述的是文件系统的名称以及一个指向对应VFS超级块读取例程的地址等信息

  技术分享

图 file_system_type的组织结构  

  • 内核采用链表组织每个注册的文件系统,链表头为file_systems

 4. 实例:打印file_system_type信息

技术分享

 

    可以通过cat /proc/kallsyms | wc可以统计内核有多少个符号

    由于内核有些符号是没有导出的,不允许访问,通过cat /proc/kallsyms | grep file_systems可以打印出file_systems的地址,就可以操作了

 

         

Linux文件系统1---VFS的引入

标签:linux内核   实例   没有   文件系统管理   .com   system   cat   技术分享   proc   

原文地址:http://www.cnblogs.com/smartjourneys/p/7221347.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!