当我阅读有关 Linux 设备驱动程序和电源管理 API 的内容时,我不断遇到“系统级”、“子系统”、“平台”、“类”等术语。
他们之间是什么关系?该系统是平台的子类型吗?还是系统和平台是平行存在,没有包含关系? “类”与“系统”有何不同?每个域都有什么好处(即,如果我想实现某个功能,它应该是类级功能,还是平台功能,还是其他一些功能)?
简而言之,有人可以向我解释这些不同的东西是什么吗?
答案1
这些都很难定义。一般来说,在设备枚举的上下文中,
“平台”设备通常在 PC 上或 Raspberry Pi 上找到。
内核开始寻找它们,因为内核已编译为在 PC 或 RPi 上运行。一些主板组件、CPU 和内存都属于此类。
“子系统”基本上是一组针对不同硬件具有相似功能的驱动程序。
然后,各个驱动程序可以依次使用另一个子系统的驱动程序。例如,“声音”子系统驱动程序处理各个声卡并提供通用声卡接口,而驱动程序可以使用 PCI 子系统来查找声卡,而不管使用的南桥芯片类型如何。
“类”驱动程序处理来自不同供应商的实现公共接口的设备。
这对于 USB 设备来说是典型的,其中存在例如大容量存储设备的标准,并且单个驱动程序处理所有声称兼容的设备。