当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

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

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

    http://blog.163.com/he_junwei/blog/static/19793764620152743325659/ http://www.01yun.com/other/201304 ...

  2. (转)使用 /proc 文件系统来访问 Linux 内核的内容

    转载网址:http://www.ibm.com/developerworks/cn/linux/l-proc.html 这个虚拟文件系统在内核空间和用户空间之间打开了一个通信窗口/proc 文件系统是 ...

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

    1./proc 文件系统概述 /proc 文件系统是由软件创建,被内核用来向外界报告信息的一个文件系统./proc 下面的每一个文件都和一个内核函数相关联,当文件的被读取时,与之对应的内核函数用于产生 ...

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

    深入理解linux系统下proc文件系统内容 内容摘要:Linux系统上的/proc目录是一种文件系统,即proc文件系统. Linux系统上的/proc目录是一种文件系统,即proc文件系统.与其它 ...

  5. proc文件系统详解(原创)

    Linux系统上的/proc目录是一种文件系统,即proc文件系统.与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过 ...

  6. [转帖]ulimit、limits.conf、sysctl和proc文件系统

    ulimit.limits.conf.sysctl和proc文件系统 来源:https://blog.csdn.net/weixin_33918114/article/details/86882372 ...

  7. proc 文件系统学习

    proc.txt翻译 ------------------------------------------------------------------------------Version 1.3 ...

  8. [Linux] Proc 文件系统

    转载自:http://linux.chinaunix.net/doc/2004-10-05/16.shtml#324lfindex0 目录: /proc --- 一个虚拟文件系统 加载 proc 文件 ...

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

    /proc文件系统 前言:linux中的/proc文件系统,由一组文件夹和文件组成,挂载(mount)与/proc文件夹下. /proc文件系统是一种虚拟文件系统,以文件系统文件夹和文件形式,提供一个 ...

随机推荐

  1. Ubuntu下安装配置JDK 7

    第一步:下载jdk-7-linux-i586.tar.gz wget -c http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-i586 ...

  2. H5 认识canvas

    不同于SVG,HTML中的元素canvas只支持一种原生的图形绘制:矩形.所有其他的图形的绘制都至少需要生成一条路径.不过,我们拥有众多路径生成的方法让复杂图形的绘制成为了可能. canvas提供了三 ...

  3. hdu4671 Backup Plan ——构造题

    link:http://acm.hdu.edu.cn/showproblem.php?pid=4671 其实是不难的那种构造题,先排第一列,第二列从后往前选. #include <iostrea ...

  4. java io系列14之 DataInputStream(数据输入流)的认知、源码和示例

    本章介绍DataInputStream.我们先对DataInputStream有个大致认识,然后再深入学习它的源码,最后通过示例加深对它的了解. 转载请注明出处:http://www.cnblogs. ...

  5. Android学习六:Socket 使用

    1socket的作用 通过http去获取服务器的数据在有些情况下是行不通的,所有使用socket与服务器通信也是必须掌握的 2.代码 好了上代码,代码中有解释,首先是简单的服务端代码 package ...

  6. spring-实现配置文件读取

    spring 实现配置读取 Java 的配置读取方式一般是采用java.utils.Properties 或是apache的Configuration工具:然而 spring 框架内置了配置文件的读取 ...

  7. Sea.js学习2——Sea.js的API 快速参考

    (7 个接口是最常用的) 一.seajs.config:用来对 Sea.js 进行配置. seajs.config({ // 设置路径,方便跨目录调用 paths: { 'arale': 'https ...

  8. js中逻辑为false的8种情况

    如果对象无初始值或者其值为 0.-0.null."".false.undefined 或者 NaN,那么对象的逻辑值为 false. typeof 返回的是字符串,有六种可能:&q ...

  9. mybatis 小于号 转义

    AND lbaq.watch_answer_start_datetime >= #{stm}AND lbaq.watch_answer_end_datetime <= #{etm} 此时报 ...

  10. Token验证失败

    Token验证失败 微信 微信公众平台开发 Token校验失败 URL Token原文 http://www.cnblogs.com/txw1958/p/token-verify.html Token ...