linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > article > Linux开发区 > 内核研究 >
栏目导栏
资料搜索
热门文章
·linux-2.6内核升级文档
·Linux源代码的注释
·linux2.6内核编译方法详述
·Linux操作系统内核编译详解
·Linux内核结构详解
·Linux配置与编译内核
·定时器
·Linux内核升级全攻略
·FC5(Fedora Core5)下编译内核总
·Ubuntu 6.06 dapper 内核编译初
·Linux 内核编译详解
·Linux内核管理基础知识概述
·Linux2.4升级到2.6内核升级指南
·第八章 设备驱动
·如何编译linux内核
最新文章
·Linux Kernel 最新稳定版2.6.2
·Kernel硬件中断的初始化流程
·Linux内核bootsplash功能的实现
·Linux内核2.6.25全新发布加入众
·Debian Linux系统编译内核标准
·Linux2.4内核和2.6内核对Initr
·2.6.24内核编译 initrd-2.6.24
·Qtopia应用程序与Linux内核数据
·Linux 2.6内核中sysfs文件系统
·Linux2.6内核驱动移植参考
·Andrew Morton:Linux内核的执法
·Fedora 8 Linux系统的内核配置
·Kernel中的irq.c函数
·Linux核心出现权限扩张及记忆体
·Linux 2.6本地权限提升漏洞
Google
 
Linux 2.6内核中sysfs文件系统简单概述
[ 作者:  加入时间:2008-03-05 10:28:27  来自:Linux联盟收集整理 ]
 

从Fedora 2开始,在根目录下会有一个/sys目录,mount 看一下,这个目录挂装了一个sysfs的文件系统。

Linux 2.6 的内核引入了 sysfs 文件系统。sysfs 被看成是与 proc,devfs,和 devpty 同类别的文件系统。sysfs 把连接在系统上的设备和总线组织成为一个分级的文件,它们可以被从用户的空间存取到。这是被设计用来处理那些以前驻留在 /proc/ 的设备和驱动程序指定的选件以及用来处理那些以前由 devfs 提供支持的动态加载设备。在早期的 sysfs 实现中,一些驱动和应用仍然被当做老的 proc 条目。但是 sysfs 是未来的发展方向。

sysfs 被加载在 /sys/ 系统中。它所包括的目录可以使用不同的方式来管理连接在系统上的设备。/sysfs/ 中的子目录包括:

/devices/ 目录这个目录包括 /css0/。它的子目录代表了所有被 Linux 内核检测到的子通道。子通道目录的命名格式是 0.0.nnnn,其中的 nnnn 是子通道的十六进制代码 (0到ffff)。子通道目录包括状态文件和其他代表实际设备的设备子目录。设备目录的格式是:0.0.xxxx,其中的 xxxx 是这个设备的单元地址。/devices/ 还包括了状态信息和设备的配置选项。

/bus/ 目录这个目录包括了 /ccw/ 和 /ccwgroup/ 两个子目录。CCW 设备可以通过使用通道命令来存取。在 /ccw/ 目录中的设备只使用一个子通道。CCW 组设备也可以通过使用通道命令来存取,但是它们的每个设备使用多于一个的子通道。比如:一个3390-3 DASD 设备使用一个子通道,但是一个 OSA 适配器的 QDIO 网络连接使用三个子通道。/ccw/ 和 /ccwgroup/ 目录都包括设备目录和驱动器目录:

/devices/ 目录包括了到 /sys/devices/css0/ 目录的设备目录的符号链接。/drivers 目录包括了所有由代表当前被系统加载的设备的驱动程序的目录。zFCP 驱动程序有一个目录在这里。/driver/ 目录包括了设备驱动程序的设置和它使用的符号链接 (/sys/devices/css0/ 目录)/class/ 目录/class/ 目录包括了代表由相似功能的设备组成的组 (ttys,SCSI 磁带驱动器,网络设备...)的目录。

/block/ 目录这个目录包括了系统中的每一个块设备的目录。块设备主要是磁盘类的设备,例如 DASD,回送设备,以及软件磁盘冗余阵列设备。一个与老版本 Linux 不同的是,使用 sysfs 系统的 Linux 需要使用设备在 sysfs 中的名字来指定设备。在一个 2.4 版本的内核映像中,zFCP 驱动程序是由它的设备地址来指定的。但是在 2.6 版本的内核映像中,它的驱动程序是由 0.0.1600 来指定的。

Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·Linux 2.6内核的编译步骤及模块的动态加载  (2007-07-23 10:35:15)
 ·剖析Linux 2.6内核移植—超线程篇  (2006-09-21 10:55:28)
 ·在Debian的Linux 2.6内核Ipv6的问题  (2006-09-20 11:29:07)
 ·剖析Linux 2.6内核移植-内核设置篇  (2006-09-20 11:23:32)
 ·剖析Linux 2.6内核移植—硬件驱动篇  (2006-09-20 11:18:34)
 ·剖析Linux 2.6内核移植—应用程序篇  (2006-09-20 10:47:42)
 ·剖析Linux 2.6内核移植—系统移植篇  (2006-09-20 10:42:21)
 ·RedHat Linux 2.6内核如何创建Rpm包  (2006-09-20 10:40:58)
 ·详解Linux 2.6内核新文件系统变化机制  (2006-06-14 01:18:43)
 ·Linux 2.6内核的精彩世界(四)  (2005-12-01 13:02:53)