×

Linux设备驱动的模型摘抄

消耗积分:0 | 格式:rar | 大小:0.06 MB | 2017-10-31

分享资料个

  Linux2.6 内核提供了新的设备模型,目的是为了对计算机上的所有设备进行统一地表

  和操作,包括设备本身和设备之间的连接关系。这个模型是在 分析了 PCI 和 USB 的总线

  驱动过程中得到的,这两个总线类型能代表当前系统中的大多数设备类型,它们都有完善的

  热挺拔机制和电源管理的支持,也都有级连机制的支持,以桥接的 PCI/USB 总线控制器的

  方式可以支持更多的 PCI/USB 设备。[2] 总体来说,Linux 统一设备模型具有以下的特点,

  * 代码重复最小化

  * 提供诸如引用计数这样的统一机制

  * 可以列举系统中所有的设备,观察它们的状态,并且查看它们连接的总线

  * 可以将系统中的全部设备结构以树的形式完整、有效的展现出来-包括所有的总线和内

  部连接

  * 可以将设备和其对应的驱动联系起来,反之亦然

  *可以将设备按照类型加以归类,比如分类为输入设备,而无需理解物理设备的拓扑结构

  *可以讲设备树的叶子向其根的方向依次遍历,以保证能以正确顺序关闭各设备的电源。

  最后一点是实现设备模型的最初动机。若想在内核中实现智能的电源管理,就需要来建

  立表示系统中设备拓扑关系的树结构[2]。如在一个典型的 PC 系统中,中央处理器(CPU)

  能直接控制的是 PCI 总线设备,而 USB 总线设备是以一个 PCI 设备(PCI-USB 桥)的形式

  接入在 PCI 总线设备上,外部 USB 设备再接入在 USB 总线设备上;当计算机执行挂起

  (suspend)操作时, Linux 内核应该以 “外部 USB 设备-》USB 总线设备-》PCI 总线设备” 的

  顺序通知每一个设备将电源挂起;执行恢复(resume)时则以相反的顺序通知;反之如果不按

  此顺序则将有设备得不到正确的电源状态变迁的通知,将无法正常工作[1]。

Linux设备驱动模型摘抄

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !