分享

[转]Linux那些事儿之我是Sysfs(1)sysfs初探 - wilson的日志 - ...

 蜗牛an 2010-12-10

[转]Linux那些事儿之我是Sysfs--引子

linux kernel 2009-07-14 16:22:56 阅读38 评论0   字号: 订阅

看到复旦人甲热火朝天的写作,我心底不禁暗暗敬佩。话说我进入linux领域也有2年了,我学习linux完全是兴趣。因为我觉得用linux比较酷,比较吊。当年看过一篇捧linux大骂windows的文章,看了以后我是热血沸腾,当天就把windows给删了。后来发现实在不习惯,因为没法斗地主了。无奈之下,只好又装上了windows。当时我就有一个愿望,我一定要打入腾讯内部,响应毛主席号召,让全世界linux用户也能斗上地主。大学生活,丰富多彩,我只有一个爱好,打篮球,时间充裕,一有时间就看看linux相关书籍。但总是静不下心来,每次看到一定阶段就放下了。等隔了一段时间,不看不用,就忘了,只是大概知道有这么一回事。现在总结学习linux的关键是,多用多看,持之以恒。我也把自己看linux内核的心得写下来响应复旦人甲的号召,与其去打游戏,看片,灌BBS,还不如静下心来,踏踏实实看点书,写点文章。现在社会风气浮躁,就缺肯踏踏实实干事情的人。

        我主要写一些文件系统相关的,结合ldd3(linux device driver 3)中的示例代码(主要是lddbus和sculld文件夹),分析虚拟文件系统sysfs。使用的内核是2.6.10。

目标:理解设备模型和sysfs文件系统

欢迎各位朋友发邮件指正,讨论,交流。


[转]Linux那些事儿之我是Sysfs(1)sysfs初探

linux kernel 2009-07-14 16:24:31 阅读80 评论0   字号: 订阅

te > te>

"sysfs is a ram-based filesystem initially based on ramfs. It provides a means
to export kernel data structures, their attributes, and the linkages between them to
userspace.” --- documentation/filesystems/sysfs.txt
可以先把documentation/filesystems/sysfs.txt读一遍。文档这种东西,真正读起来就嫌少了。Sysfs文件系统是一个类似于proc文件系统的特殊文件系统,用于将系统中的设备组织成层次结构,并向用户模式程序提供详细的内核数据结构信息。


去/sys看一看,
localhost:/sys#ls /sys/
block/ bus/ class/ devices/ firmware/ kernel/ module/ power/
Block目录:包含所有的块设备
Devices目录:包含系统所有的设备,并根据设备挂接的总线类型组织成层次结构
Bus目录:包含系统中所有的总线类型
Drivers目录:包括内核中所有已注册的设备驱动程序
Class目录:系统中的设备类型(如网卡设备,声卡设备等) 

sys下面的目录和文件反映了整台机器的系统状况。比如bus,
localhost:/sys/bus#ls
i2c/ ide/ pci/ pci express/ platform/ pnp/ scsi/ serio/ usb/
里面就包含了系统用到的一系列总线,比如pci, ide, scsi, usb等等。比如你可以在usb文件夹中发现你使用的U盘,USB鼠标的信息。

我们要讨论一个文件系统,首先要知道这个文件系统的信息来源在哪里。所谓信息来源是指文件组织存放的地点。比如,我们挂载一个分区,

mount -t vfat /dev/hda2 /mnt/C

我们就知道挂载在/mnt/C下的是一个vfat类型的文件系统,它的信息来源是在第一块硬盘的第2个分区。

但是,你可能根本没有去关心过sysfs的挂载过程,她是这样被挂载的。

mount -t sysfs sysfs /sys

ms看不出她的信息来源在哪。sysfs是一个特殊文件系统,并没有一个实际存放文件的介质。断电后就玩完了。简而言之,sysfs的信息来源是kobject层次结构,读一个sysfs文件,就是动态的从kobject结构提取信息,生成文件。

所以,首先,我要先讲一讲sysfs文件系统的信息来源 -- kobject层次结构。kobject层次结构就是linux的设备模型。

莫愁前路无知己,天下谁人不识君。 唐·高适· 别董大

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多