4.4. 시스템 관리 인터럽트
실시간 시스템 관리 인터럽트(SMI)는 레거시 하드웨어 장치 에뮬레이션 및 시스템 관리 작업과 같은 확장된 기능을 제공합니다. SMIS는 특수한 정전 신호 라인을 사용하며 일반적으로 마스크를 사용할 수 없습니다. SMI가 발생하면 CPU는 SMI를 처리하기 위해 특수 하위 수준 핸들러가 실행되는SMM(System Management Mode)으로 들어갑니다. SMM은 일반적으로 시스템 펌웨어에서 제공됩니다.
실시간 SMI는 레거시 하드웨어 에뮬레이션을 제공하는 데 가장 자주 사용됩니다. 일반적인 예는 디스크lets 드라이브를 모방하는 것입니다. 디스크lets 드라이브가 연결되어 있지 않으면 운영 체제는 디스크 스탠자에 액세스하려고 시도하며 SMI를 트리거합니다. 이 시나리오에서 처리기는 운영 체제에 에뮬레이션된 장치를 대신 제공합니다. 그런 다음 운영 체제는 에뮬레이션을 레거시 장치로 처리합니다.
SMI는 실시간으로 운영 체제의 직접적인 개입 없이 시스템에 부정적인 영향을 미칠 수 있습니다. 잘못 작성된 SMI 처리 루틴은 수 밀리초의 CPU 시간을 사용할 수 있으며 운영 체제는 처리기를 선점하지 못할 수 있습니다. 이로 인해 다른 잘 조정되고 반응성이 높은 시스템에서 주기적인 높은 대기 시간을 생성할 수 있습니다. 벤더는 CPU 온도 및 팬 제어를 관리하기 위해 SMI 처리기를 사용할 수 있으므로 비활성화할 수 없습니다. 이러한 상황에서는 이러한 인터럽트를 사용할 때 발생하는 문제에 대해 공급업체에게 알려야 합니다.
실시간으로 hwlatdetect 유틸리티를 사용하여 SMI를 분리할 수 있습니다. rt-tests 패키지에서 사용할 수 있습니다. 이 유틸리티는 SMI 처리 루틴에서 CPU를 사용하는 기간을 측정합니다.