摘要:
如果将linux设备模型比喻一座大厦,那么kobject 和 kset就是构成这座大厦内部的钢筋,由若干他们构成了大厦的内在表现形式,设备驱动模型中bus,device和driver 已经是大厦想外界展示的那部分,属于外在表现形式了。在我们写驱动的时候与我们打交道的是bus,device和driver,基本上不用去管更底层的东西,那些内核都帮我们做好了。但是,如果要灵活的使用linux设备模型,应该了解内核实现设备模型的流程。在这个过程中,自己也没有细入分析各个步骤,因为在我看来linux设备模型是一个复杂的系统,设计的数据结构也不是一时能够弄懂,在学习的阶段,实在是没有必要花太多时间在这上. 阅读全文
摘要:
随着linux系统越来越成熟,与设备驱动相关的一些新的特性需要加入,而之前独立的设备及其驱动程序能有效地沟通起来,linux2.6内核最初为了应付电源管理的需要,提出了一个设备模型来管理所有的设备。在物理上,外设之间是有一种层次的关系,例如把一个U盘插在电脑的usb接口,实际上这个U盘是挂在usb hub上,usb hub又是连接在usb2.0 Host control上,usb2.0 Host最终挂在PCI Bus总线上。这个设备的物理层次关系如下:PCI –>usb2.0 Host control –>usb hub –>usb disk 。假设,电脑一段时间没有任何操作 阅读全文