SMI对实时性的影响

SMI对实时性的影响

系统管理中断(SMI)用来提供扩展功能,如仿真老式的硬件设备。也可以利用它们实现某些系统管理。类似于NMI,SMI也使用硬连线直接向CPU发信号,而且也不能被屏蔽。

CPU收到SMI信号后,将进入系统管理模式(SMM:System Management Mode)。在该模式下,一个非常级别的处理例程对SMI进行处理。通常,SMM是由系统管理固件提供的,如BIOS或EFI。

SMI应用最广泛的地方还是对老式硬件的仿真。最常见的例子是仿真软驱。如果系统中没有软驱,那么便可以使用虚拟化的网络管理仿真器替代它。当操作系统尝试访问软盘时,SMI将被触发,而相信的处理程序将向操作系统提供一个模拟设备。操作系统可以像操作真的老式设备那样来操作仿真设备。

SMI会显著的影响实时系统的实时性。因为SMI的发生与处理对操作系统而言都是不可见的。如果SMI的处理函数写的不好,将耗费很多毫秒的执行时间。而在此期间,操作系统即使需要也不能抢占SMI的处理函数。如果不仔细配置系统,这种现象会触发周期性的高延迟,并延长系统的响应时间。不幸的是,SMI处理函数通常被厂商用来管理CPU温度及风扇控制,它是不可禁用的。希望硬件厂商们未来会注意到这个问题。

你可能感兴趣的:(SMI对实时性的影响)