在计算机中,总线是计算机中各个部件之间进行数据通信的通道。在Linux内核的设备驱动模型中,总线的概念有所不同,不仅有物理上真实存在的总线,如I2C总线和USB总线等,还有并不存在物理器件的虚拟总线,例如最具代表性的platform总线。操作系统通过设备驱动程序来管理设备(主要包括设备的初始化,设备电源管理,设备与系统其他部分的通信等)。在Linux内核代码中,各个总线(总线本身也是一种设备)用于管理挂载各自总线上的设备以及各个设备对应的驱动,例如USB总线系统驱动管理所有USB设备和USB设备驱动;这里所说的“管理”的主要工作是当有新设备接入系统时,为这个设备找到合适的驱动并绑定,或者当新驱动注册到系统时,为该驱动找到它能管理的所有设备(一个驱动可能对应多个设备)并绑定。现在的许多芯片除了包含CPU之外,还集成了各种功能模块,俗称有SoC(System
on Chip)。这类的芯片内部的一些外设与CPU的物理连接并没有经过总线,因而这类设备和驱动并没有总线来管理;为了解决统一管理,出现了platform总线,这个总线在物理上并不存在,是虚拟的,仅仅是为了统一管理那些物理连接没有经过总线的设备和它们的驱动。