void__initproc_root_init(void){……proc_mkdir("fs",NULL);……}structproc_dir_entry*proc_mkdir_data(constchar*name,umode_tmode,structproc_dir_entry*parent,void*data){structproc_dir_entry*ent;if(mode==0)mode=S_IRUGO|S_IXUGO;// 目录或者文件都是由结构体proc_dir_entry 来描述,S_IFDIR表...
依靠系统调用chroot(2), unix 和 linux 可以让 每个进程有各自的文件系统根目录. 由 chroot(2) 系统调用设置. 根指向文件系统的根,性质就象 exe, fd/* 等一样. stat 进程状态信息, 被命令 ps(1) 使用. 通过访问/proc中的文件来获取信息 cpuinfo 保存了CPU 以及体系架构依赖条目的列表. 对于不同的系 统...
一、 /proc文件系统 1.1 /proc: 一个虚拟文件系统 /proc 文件系统是一种内核和内核模块用来向进程(process) 发送信息的机制(所以叫做/proc)。 最初的设计目的是允许更方便的对进程信息进行访问, 现在它被内核使用, 如/proc/modules是模块的列表, /proc/meminfo 是内存使用的统计表。
(1)调用create_proc_entry创建一个struct proc_dir_entry。 (2)对创建的struct proc_dir_entry进行赋值:read_proc,mode,owner,size,write_proc 等等。 5.实例一 #include<linux/kernel.h> #include<linux/init.h> #include<linux/proc_fs.h> #define procfs_name "proctest" // /proc目录下创建的文件名...
Linux内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统(即虚拟文件系统),它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。 用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数。由于系统...
一、proc文件系统的基本原理 proc文件系统是一种特殊的虚拟文件系统,它不占用磁盘空间,而是动态地存在于内存中。它的主要目的是为用户空间提供访问内核数据结构的途径,这些数据结构包括进程信息、系统状态、内核参数等。通过proc文件系统,用户可以获得关于系统运行的实时信息,从而进行监控、调试和优化。
parent:父文件夹的proc_dir_entry指针。 proc_fops:改文件的操作函数。 看到这个函数,有没有感到很熟悉?我们在学习驱动基础的时候,有用到了device_create函数来创建节点: device_create创建的设备节点存放于/dev目录下,而proc_create函数创建的与系统信息相关的节点存放于/proc目录下。既然它们这么相似,下面我们就模仿...
第一类是基于磁盘的文件系统,也就是把数据直接存储在计算机本地挂载的磁盘中。常见的 Ext4、XFS、OverlayFS 等,都是这类文件系统。 第二类是基于内存的文件系统,也就是我们常说的虚拟文件系统。这类文件系统,不需要任何磁盘分配存储空间,但会占用内存。我们经常用到的 /proc 文件系统,其实就是 一种最常见的虚拟...