proc文件系统在内核中的表现

当Linux内核启动起来之后,我们可以通过proc虚拟文件系统来查看内的中的一些动态信息。

例如:可以 cat  /proc/misc  来查看系统中装载的所有misc类设备

cat  /proc/devices  来查看系统中装载的字符设备和块设备

但是需要注意的是:proc文件系统现在用到比较少了,主要原因我之前也说过,proc中的文件目录关系混乱,不好管理,现在一般都是用sys文件系统,

所以在内核配置的时候是可以将proc文件系统给去掉的。

今天也来说说proc文件系统内部的实现:

1、在proc文件系统下创建文件:proc_create(以 /proc/misc 文件为例子)

proc_create("misc", 0, NULL, &misc_proc_fops);      // misc_proc_fops是一个struct  file_operations结构体的变量,这个跟字符设备注册中的结构体是一样的

2、misc_seq_open函数分析:

从上面可以看出来,misc_seq_open函数中调用的seq_open函数,向proc系统注册了一个struct  seq_operations类型的结构体变量misc_seq_ops。

变量中就挂接了各种操作函数,其中就包括  cat  /proc/misc  时执行的函数 misc_seq_show。

所以一定要搞清楚几个数据结构: struct  file_operations、 struct seq_operations

时间: 2024-08-02 22:30:40

proc文件系统在内核中的表现的相关文章

使用 /proc 文件系统来访问 linux操作系统 内核的内容 && 虚拟文件系统vfs及proc详解

http://blog.163.com/he_junwei/blog/static/19793764620152743325659/ http://www.01yun.com/other/20130422/366044.html 使用 /proc 文件系统来访问 Linux 内核的内容 这个虚拟文件系统在内核空间和用户空间之间打开了一个通信窗口 简介: /proc 文件系统是一个虚拟文件系统,通过它可以使用一种新的方法在 Linux? 内核空间和用户空间之间进行通信.在 /proc 文件系统中,

linux中proc文件系统 -- ldd3读书笔记

1./proc 文件系统概述 /proc 文件系统是由软件创建,被内核用来向外界报告信息的一个文件系统./proc 下面的每一个文件都和一个内核函数相关联,当文件的被读取时,与之对应的内核函数用于产生文件的内容.我们已经见到了很多这样的文件,例如,/proc/modules 总是返回当前内核中加载的模块. /proc 广泛的应用在 linux 文件系统中,现代 linux 发行版上的许多应用程序,例如 ps ,top 和 uptime 都从 /proc 获取他们所需要的信息.一些驱动程序也通过

Linux之内核中的文件系统

文件描述符 一般说起文件和文件系统的时候,都会下意识的想到它们存在于磁盘上.然而,磁盘只能被动的存储,却不能主动去处理文件:要处理文件,只能把它们的数据复制到内存中,交给CPU处理,处理好的数据先写入内存,再传回到磁盘.那么,操作系统如何在内存中管理各种文件呢?即运行时文件系统在内核中的表示. 我们知道,进程是操作系统分配资源的基本单位,文件也是在进程中被处理的.比如用vim写代码,那么vim这个程序就成为操作系统中的一个进程,vim处理的对象就是一个代码文件.操作系统用PCB来管理进程,PCB

深入理解linux系统下proc文件系统内容

http://www.itshanghai.net/technology/2009/0209/article_238.html 另外,可以参考这个http://www.centos.org/docs/5/html/5.1/Deployment_Guide/ch-proc.html 内容摘要:Linux系统上的/proc目录是一种文件系统,即proc文件系统. Linux系统上的/proc目录是一种文件系统,即proc文件系统.与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件

shell学习五十八天----/proc文件系统

/proc文件系统 前言:linux中的/proc文件系统,由一组目录和文件组成,挂载(mount)与/proc目录下. /proc文件系统是一种虚拟文件系统,以文件系统目录和文件形式,提供一个指向内核数据结构的接口.这为查看和改变各种系统属性开启了方便之门.此外,还能通过一组以/proc/PID形式命名的目录(PID是进程的ID)查看系统汇总运行各进程的相关信息. 通常,/proc目录下的文件内容都采取可读的文本形式,shell脚本也能对其进行解析.程序可以打开,读取和写入/proc目录下的既

[Linux] Proc 文件系统

转载自:http://linux.chinaunix.net/doc/2004-10-05/16.shtml#324lfindex0 目录: /proc --- 一个虚拟文件系统 加载 proc 文件系统 察看 /proc 的文件 得到有用的系统/内核信息 有关运行中的进程的信息 通过 /proc 与内核交互 结论 参考文献 proc --- 一个虚拟文件系统 /proc 文件系统是一种内核和内核模块用来向进程 (process) 发送信息的机制 (所以叫做 /proc).这个伪文件系统让你可以

/proc文件系统的特点和/proc文件的说明

/proc文件系统是一种特殊的.由软件创建的文件系统,内核使用它向外界导出信息,/proc系统只存在内存当中,而不占用外存空间. /proc下面的每个文件都绑定于一个内核函数,用户读取文件时,该函数动态地生成文件的内容.也可以通过写/proc文件修改内核参数 /proc目录下的文件分析  /proc/$pid 关于进程$pid的信息目录.每个进程在/proc 下有一个名为其进程号的目录.例:$>strings -f /proc/[0-9]*/cmdline /proc/cmdline  内核启动

linux文件管理之proc文件系统

proc 文件系统 ==================================================================================== Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构.改变内核设置的机制. proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以文件系统的方式为访问系统内核数据的操作提供接口. 虚拟文件系统: 内核.进程运行的状态信息[root@localhost ~]#

Linux内核,文件系统移植过程中出现的一些问题与解决办法

1.bootm地址和load address一样 此种情况下,bootm不会对uImage header后的zImage进行memory move的动作,而会直接go到entry point开始执行.因此此时的entry point必须设置为load address + 0x40.如果kernel boot过程没有到uncompressing the kernel,就可能是这里设置不对. boom address == load address == entry point - 0x40 2.