易截截图软件、单文件、免安装、纯绿色、仅160KB

linux设备文件系统sysfs介绍

      linux下有专门的文件系统用来对设备进行管理,devfs和sysfs就是其中两种。
1,devfs:devfs是在2.4内核就出现了,它是用来解决linux中设备管理混乱的问题,linux内核开发人员开发了devfs。
2,sysfs:是Linux 内核中设计较新的一种虚拟的基于内存的文件系统,它的作用与proc 有些类似,但除了与proc 相同的具有查看和设定内核参数功能之外,还有为Linux 统一设备模型作为管理之用。sysfs 文件系统总是被挂载在/sys 挂载点上。虽然在较早期的2.6内核系统上并没有规定sysfs的标准挂载位置,可以把sysfs 挂载在任何位置,但较近的2.6内核修正了这一规则,要求sysfs 总是挂载在/sys目录上。sysfs 与proc 相比有很多优点:sysfs 的设计原则是一个属性文件只做一件事情,sysfs 属性文件一般只有一个值,直接读取或写入。新设计的内核机制应该尽量使用sysfs机制,而将proc 保留给纯净的“进程文件系统”。
      UBUNTU中比如:执行ls -F /sys,得block/  bus/  class/  dev/  devices/  firmware/  fs/  kernel/  module/  power/
下面对/sys 文件系统下的目录结构做说明:
/sys/devices:这是内核对系统中所有设备的分层次表达模型,也是 /sys 文件系统管理设备的最重要的目录结构;
/sys/dev:这个目录下维护一个按字符设备和块设备的主次号码(major:minor)链接到真实的设备(/sys/devices下)的符号链接文件,它是在内核2.6.26 首次引入;
/sys/bus:这是内核设备按总线类型分层放置的目录结构,devices中的所有设备都是连接于某种总线之下,在这里的每一种具体总线之下可以找到每一个具体设备的符号链接,它也是构成 Linux 统一设备模型的一部分;
/sys/class:这是按照设备功能分类的设备模型,如系统所有输入设备都会出现在 /sys/class/input 之下,而不论它们是以何种总线连接到系统。它也是构成Linux 统一设备模型的一部分;
/sys/block:这里是系统中当前所有的块设备所在,按照功能来说放置在/sys/class 之下会更合适,但只是由于历史遗留因素而一直存在于/sys/block, 但从2.6.22 开始就已标记为过时,只有在打开了CONFIG_SYSFS_DEPRECATED 配置下编译才会有这个目录的存在,并且在2.6.26 内核中已正式移到 /sys/class/block, 旧的接口/sys/block 为了向后兼容保留存在,但其中的内容已经变为指向它们在/sys/devices/


相关文档:

Linux设备模型之input子系统详解

一:前言
最近在研究android的sensor driver,主要是E-compass,其中用到了Linux input子系统.在网上也看了很多这方面的资料,感觉还是这篇分析的比较细致透彻,因此转载一下以便自己学习,同时和大家分享!
(这篇博客主要是以键盘驱动为例的,不过讲解的是Linux Input Subsystem,可以仔细的研究一下!)
键盘驱动将检 ......

Linux系统共享库编程

一、说明
  类似Windows系统中的动态链接库,Linux中也有相应的共享库用以支持代码的复用。Windows中为*.dll,而Linux中为*.so。下面详细介绍如何创建、使用Linux的共享库。
二、创建共享库
在mytestso.c文件中,代码如下:
#include <stdio.h>
#include <stdlib.h>
int GetMax(int a, int b)
{
i ......

Linux中 静态库和共享库

1. 创建目录
 mkdir –p test/sub
2. 在子目录sub/下编写hello.c和hello.h
 /*****hello.c*****/
 #include <stdio.h>
 #include “hello.h”
 void hello()
 {
 printf(“Hello!\n”);
 }
 
 /*****hello.h**** ......

Linux学习笔记零零三

存储管理
MMU与内核内存管理的关系
从线性地址到物理地址的映射,通过页目录表和页表来实现的。
内核为存储管理维护了一套复杂的数据结构,页目录表和页表是主要的结构之一。这些表也是存储在物理内存页面中的,因此,也是以4K为单位。
表中的每个表项都记录了一个32位的地址,为4个字节,因此,一个表中最多可以有1K项 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号