第1页共27页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共27页Linux设备驱动编程模型之上层容器篇分类:Linux2012-10-0617:18245人阅读评论(0)收藏举报linux编程struct数据结构listnull2
6内核增加了一个引人注目的新特性——统一设备模型(devicemodel)
设备模型提供了一个独立的机制专门来表示设备,并描述其在系统中的拓扑结构,从而使得系统具有以下优点:代码重复最小化
提供诸如引用计数这样的统一机制
可以列举系统中所有的设备,观察它们的状态,并且查看它们连接的总线
可以将系统中的全部设备结构以树的形式完整、有效的展现出来——包括所有的总线和内部连接
可以将设备和其对应的驱动联系起来,反之亦然
可以将设备按照类型加以归类,比如分类为输入设备,而无需理解物理设备的拓扑结构
可以沿设备树的叶子向其根的方向依次遍历,以保证能以正确顺序关闭各设备的电源
最后一点是实现设备模型的最初动机
若想在内核中实现智能的电源管理,就需要来建立表示系统中设备拓扑关系的树结构
当在树上端的设备关闭电源时,内核必须首先关闭该设备节点以下的(处于叶子上的)设备电源
比如内核需要先关闭一个USB鼠标,然后才可关闭USB控制器;同样内核也必须在关闭PCI总线前先关闭USB控制器
简而言之,若要准确而又高效的完成上述电源管理目标,内核无疑需要一颗设备树
一、原理虽然设备模型的初衷是为了方便电源管理而提供出的一种设备拓扑结构,但是,为了方便调试,设备模型的开发者决定将设备结构树导出第2页共27页第1页共27页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共27页为一个文件系统,这就是