总线仲裁 总线仲裁Bus mastering是许多计算机总线支持的一项功能它使连接到总线的设备能够启动直接内存访问DMA 事务它也被称为第一方 DMA 与第三方 DMA 不同第三方 DMA实际上由系统DMA 控制器执行其传输功能 某些类型的总线只允许一个设备通常是CPU或其代理启动事务大多数现代总线架构例如PCI 允许多个设备作为总线控制器因为这能够显著提高通用操作系统的性能一些实时操作系统禁止外设成为总线控制器之一因为在此条件下调度程序无法进行总线仲裁可能会增加不可控的延迟 虽然总线仲裁理论上允许一个外围设备直接与另一个设备通信但实际上几乎所有外围设备都专门通过控制总线以执行对RAM的直接访问 如果多个设备能够控制总线则需要有一个总线仲裁方案来防止多个设备试图同时控制总线为此使用了许多不同的方案例如SCSI对每个 SCSI ID 都设有一个固定的优先级PCI 没有指定要使用的算法具体的优先级视不同实现而异