4.4. システム管理割り込み
リアルタイムにおいては、システム管理割り込み (SMI) は、レガシーハードウェアデバイスのエミュレーションやシステム管理タスクなど、拡張機能を提供する。SMI は特殊な電気信号線を使用するため、一般的にマスクすることはできません。SMI が発生すると、CPU はシステム管理モード (SMM) に入り、そこで特別な低レベルハンドラーが実行されて SMI を処理します。SMM は通常、システムファームウェアから提供されます。
リアルタイムの SMI は、レガシーのハードウェアエミュレーションを提供するために最もよく使用されます。一般的な例は、ディスケットドライブを模倣することです。ディスケットドライブが接続されていない場合、オペレーティングシステムはディスケットへのアクセスを試み、SMI をトリガーします。このシナリオでは、ハンドラーが代わりにエミュレートされたデバイスをオペレーティングシステムに提供します。次に、オペレーティングシステムは、エミュレーションをレガシーデバイスとして扱います。
リアルタイムでは、SMI は、オペレーティングシステムが直接関与することなく実行されるため、システムに悪影響を与える可能性があります。不適切に記述された SMI 処理ルーチンは、数ミリ秒の CPU 時間を消費する可能性があり、オペレーティングシステムがハンドラーをプリエンプションできない可能性があります。これにより、他の点では適切に調整された応答性の高いシステムで、定期的に大きな遅延が発生する可能性があります。ベンダーは SMI ハンドラーを使用して CPU 温度およびファン制御を管理する場合があるため、それらを無効にできない場合があります。このような状況では、これらの割り込みを使用するときに発生する問題をベンダーに通知する必要があります。
リアルタイムでは、hwlatdetect ユーティリティーを使用して SMI を分離できます。rt-tests パッケージで入手できます。このユーティリティーは、CPU が SMI 処理ルーチンによって使用されている期間を測定します。