摘要: 内核对象kobject和sysfs(1)——概述 问题: 在走读驱动代码时,经常看见kref,kobj,sysfs这些结构,这些结构到底有什么作用?如何理解并使用这些结构呢?这将在接下来的这一系列文章中说明。 在详细介绍之前,先简单给出个人对各个结构的理解,但暂时不对这些结论做出解释。可以在看完后面 阅读全文
posted @ 2017-07-30 21:18 自然技术搬运工 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 内核对象kobject和sysfs(4)——kset分析 从狭义上来说,kset就是kobj的一个再封装而已。在封装之后,提供了针对kset之下所有kobj统一管理的一些方法。 我们还是从结构说起: 由结构体看见,kset不过是内嵌了一个kobj,在此基础上额外提供了别的操作。在后面统一设备模型中, 阅读全文
posted @ 2017-07-30 21:06 自然技术搬运工 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 内核对象kobject和sysfs(3)——kobj分析 在分析kobj之前,先总结下kobj的功能: 1. 实现结构的动态管理; 2. 实现内核对象到sysfs的映射; 3. 实现自定义属性的管理。 关注一下kobj的结构: kobject内的注释已经注释在页面上,在初次接触的时候,先关注其中na 阅读全文
posted @ 2017-07-30 16:53 自然技术搬运工 阅读(995) 评论(0) 推荐(0) 编辑
摘要: 内核对象kobject和sysfs(2)——kref分析 在介绍ref之前,先贴上kref的结构: 可以看到,kref只是包含一个原子量的数而已,并没有别的成员提供自动回收的功能。实际上,kref只是记录了某个模块的引用次数,初始状态为1.当引用计数为0的时候,将调用自定义的释放函数。 下面我们介绍 阅读全文
posted @ 2017-07-30 13:23 自然技术搬运工 阅读(839) 评论(0) 推荐(0) 编辑