首页 > 代码库 > C++学习笔记21:文件系统

C++学习笔记21:文件系统

文件系统

实际文件系统

ext, ext2, ext3, ext4

虚拟文件系统

VFS

特殊文件系统/proc:从proc文件系统中抽取信息

实际文件系统:组成与功能描述

引导块,超级块,索引结点区,数据区

引导块:在文件系统开头,通常为一个扇区,存放引导程序,用于读入并启动操作系统

超级块:用于记录文件系统的管理信息,不同的文件系统拥有不同的超级块

索引结点区:一个文件或者目录占据一个索引结点,首索引结点为该文件系统的根结点,可以利用根结点将一个文件系统挂载到另一个文件系统的非叶结点上

 

数据区:用于存放文件数据或者管理数据

虚拟文件系统

VFS的特定:只存在于内存中,充当实际文件系统与操作系统之间的接口,提供实际文件系统的挂载,并管理实际文件系统

 

VFS的构造:系统初始化时构造VFS的目录树,建立其数据结构;每个实际文件系统使用Struct file_system_type 结构存储为结点,并形成链表

 

VFS的意义与目的:支持多种不同的文件系统,内核以一致的方式处理这些文件系统,从而对用户透明

 

特殊文件系统/proc

Linux内核的窗口,只存在于内存中,并不占用磁盘空间

典型信息:

进程信息:进程项,进程参数列表,进程环境,进程可执行文件,进程文件描述符,进程内存统计信息等;

 

硬件信息:cpu信息,设备信息,pci总线信息,串口信息等;

内核信息:版本信息,主机名与域名信息,内存使用信息等;

设备、挂载点与文件系统

 

C++学习笔记21:文件系统