统一设备模型(一):开篇

统一设备模型(一):开篇

1 引言    1

2 本系列博客的主要内容    1

 

 

 

 

 

1 引言

统一设备模型相关的技术方向很多,无法在一篇博文里记录下来,因此,本人决定边学边记录,力求把统一设备模型相关的技术全部走一遍,欢迎大家一起讨论。

另外,需要明确的是,本系列博文类似于笔记,不能称作"介绍",因为"介绍"表示本人已经完全了解内核为何要设计sysfs、kobj、kset等等,然而,事实上,本人并不了解真正的原因,或者并不能准确的理解这样做的目的,本系列博文只求阐述内核的实现方法,至于原因,等以后慢慢理解把。

Linux设备模型可以支持内核完成以下任务:

  • 电源管理和系统关机:比如一个USB宿主适配器,在处理完所有与其连接的设备前是不能被关闭的。设备模型使得系统能够以正确的顺序遍历系统硬件。
  • 与用户空间通信:sysfs虚拟文件系统的实现与设备模型密切相关,并且向外界展示了它所表示的结构。
  • 热插拔设备:内核中的热插拔机制可以处理热插拔设备,特别是能够与用户空间程序进行关于热插拔设备的通信,而这种机制也是通过设备模型管理。
  • 设备类型:系统中的许多部分对设备如何连接的信息并不感兴趣,但是他们需要知道哪些类型的设备是可以使用的。而设备模型天然包含了将设备进行分类的机制,使内核可以在更高的功能层上描述这些设备并使得这些设备对用户空间可见。
  • 对象生命周期管理:上述许多功能的实现,使得内核中创建和管理对象的工作更为复杂。设备模型的实现需要创建一系列机制以处理对象的生命周期、对象之间的关系,以及这些对象在用户空间中的表示。

2 本系列博客的主要内容

根据本人目前了解,总结了以下分析方向:

(1)device tree

该部分主要研究设备树一些通用的语法、设备树的调试技巧等等,偏向理论介绍。

(2)设备模型的启动(内核启动)

该部分主要分析基于DTB的内核启动,在早期初始化时,对machine的匹配过程。

(3)sysfs文件系统的分析

sysfs是设备模型的基础件,不分析sysfs,那就不是完整的博文系列了。Sysfs像设备模型的"骨架",通过下文讲述的kobj、kset等原料,来构建设备模型的大厦。

(4)kobj、kset分析

Kobj和kset,是设备模型的原材料,抽象了设备模型需要的一些共性功能。

(5)uevent机制

uevent机制如何发送消息,有哪些方式?还需要结合用户空间的程序来进行完整分析。

(6)总线bus、设备device、驱动driver

有了以上的基础,就可以开始构建bus-device-driver的三角关系了。他们是如何使用上面这些原材料,值得好好分析。

(7)kobj、kset在device机制中的应用

这个可有可无把,有可能并入(6)中。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值