sysfs
zhqh100
这个作者很懒,什么都没留下…
展开
-
Linux那些事儿之我是Sysfs(3)设备模型上层容器
§1 bus系统中总线由struct bus_type描述,定义为:include/linux/device.hstruct bus_type { const char *name;总线类型的名称 const char *dev_name; struct device *dev_root; struct device_attribute *dev_attrs; /转载 2015-03-19 16:00:53 · 573 阅读 · 0 评论 -
Linux那些事儿之我是Sysfs(10)sysfs 创建目录
每当我们新增一个kobject结构的时候,同时会在/sys下创建一个目录。kobject_add() -> create_dir() -> sysfs_create_dir()此时,我还想重申,kernel代码的更新换代是很快的,我们的目的是懂得代码背后的原理,知识,或曰哲学。我不想讲的太细,因为关于sysfs的部分从2.6.10到现在2.6.22已经改了很多了。但其总体架构没变。写此转载 2015-03-20 16:19:30 · 1289 阅读 · 0 评论 -
Linux那些事儿之我是Sysfs(11)sysfs 创建普通文件
sysfs文件系统中,普通文件对应于kobject中的属性。用sysfs_create_file(),参数如下:sysfs_create_file(struct kobject * kobj, const struct attribute * attr) 传给它的参数是kobj和attr,其中,kobject对应的是文件夹,attribute对应的是该文件夹下的文件。inclu转载 2015-03-23 10:32:48 · 1589 阅读 · 0 评论 -
Linux那些事儿之我是Sysfs(1)sysfs初探
"sysfs is a ram-based filesystem initially based on ramfs. It provides a meansto export kernel data structures, their attributes, and the linkages between them touserspace.” --- documentation/file转载 2015-03-19 14:21:39 · 510 阅读 · 0 评论 -
Linux那些事儿之我是Sysfs(9)sysfs文件系统模型
最近Linus炮轰C++,“C++是一种糟糕的(horrible)语言。而且因为有大量不够标准的程序员在使用而使许多真正懂得底层问题,而不会折腾那些白痴‘对象模型’”。牛人就是牛气冲天阿。在fs/sysfs/下面,除去Makefile和Kconfig,还有6个文件。其中file.c, dir.c, symblink.c分别代表了在sysfs文件系统中当文件类型为普通文件,目录,符号连接时的各自转载 2015-03-20 14:42:44 · 1173 阅读 · 0 评论 -
Linux那些事儿之我是Sysfs(8)一起散散步-pathwalk
前面说过,只要知道文件的索引节点号,就可以得到那个文件。但是我们在操作文件时,从没听说谁会拿着索引节点号来操作文件,我们只知道文件名而已。它们是如何"和谐"起来的呢?linux把目录也看成一种文件,里面记录着文件名与索引节点号的对应关系。比如在ext3文件系统中,如果文件是一个目录,那么它的内容就是一系列ext3_dir_entry_2的结构struct ext3_dir_entry_2转载 2015-03-20 11:08:10 · 553 阅读 · 0 评论 -
Linux那些事儿之我是Sysfs(7)dentry与inode
我们在进程中要怎样去描述一个文件呢?我们用目录项(dentry)和索引节点(inode)。它们的定义如下:include/linux/dcache.hstruct dentry { /* RCU lookup touched fields */ unsigned int d_flags; /* protected by d_lock */ seqcount_t d_seq;转载 2015-03-19 21:37:17 · 1073 阅读 · 0 评论 -
Linux那些事儿之我是Sysfs(4)举例一lddbus
对了,你得把ldd3的examples代码下下来。不然没法继续了。接下来我们从例子着手,localhost:/home/XX/examples/lddbus#insmod lddbus.ko此时再看/sys/bus/ 这时就多了一个文件夹ldd。里面的文件构成是这样的/sys/bus/ldd/|--device|--driver`--versionlocalhost转载 2015-03-19 16:45:08 · 579 阅读 · 0 评论 -
Linux那些事儿之我是Sysfs(2)linux设备底层模型
关于linux设备模型网上有一些论述,有些东西我就用了拿来主义,进行了修改和整理。 §1 KobjectKobject 是Linux 2.6引入的新的设备管理机制,在内核中由struct kobject表示。通过这个数据结构使所有设备在底层都具有统一的接口,kobject提供基本的对象管理,是构成Linux2.6设备模型的核心结构,它与sysfs文件系统紧密关联,每个在内核中注册的ko转载 2015-03-19 14:22:30 · 505 阅读 · 0 评论