ramfs内存文件系统
ramfs是一个利用VFS自身结构而形成的内存文件系统。ranfs没有自己的文件存储结构,它的文件存储于page cache中,目录结构由dentry链表本身描述,文件则由VFS的inode结构本身描述。
/proc文件系统
/proc文件系统是个虚拟文件系统,它通过文件系统接口实现对内核的访问,输出系统运行状态。它以文件系统的形式,为操作系统本身和应用进程之间的通信提供了一个界面,使应用程序能够安全、方便地获得系统当前的运行状况和内核的内部数据信息,并且可以修改某些系统的配置信息。比如,能通过拥有模块列表的/proc/modules,拥有内存使用统计信息的/proc/meminfo来得到模块信息和内存信息。
数据结构 proc_dir_entry
在/proc文件系统中,代表各个文件节点的结构是proc_dir_entry()结构。和文件系统中的dir_entry()相似,它管理着从操作系统的用户控件到核心空间对文件读写的驱动。但是,与一般的文件系统不同的是,它修改的并不是实实在在的硬盘上的文件,而是在系统启动之后内存中由内核动态创建的文件。因此在系统关闭之后,/proc文件系统中的文件就不存在了。
系统启动后,创建了proc_dir_entry{}结构形成的文件系统树,每当从用户空间读取/proc目录下面的文件的时候,内核根据读取的文件映射到对应的驱动函数,动态地获取内核数据。除了提供读的动能,/proc文件系统的部分文件还提供写的功能。主要是针对/proc/sys目录而做的。对/proc文件系统的写操作并不意味着需要写硬盘灯硬盘设备,而是动态更改内核中的数据,达到完成监视内核运行状态的目的,也就是部分地实现调试的功能。
/proc文件系统的超级块和普通文件系统的超级块不同,它并不需要从硬件设备中获取超级块的数据,而是在内核启动的时候直接初始化超级块数据,从而完成系统中对/proc文件系统操作函数的初始化过程,以及这种文件系统的统计过程。