4.5. 고급 프로그래밍 가능 인터럽트 컨트롤러
Intel Corporation에서 개발한 고급 프로그래밍 가능 인터럽트 컨트롤러(APIC)는 다음을 수행할 수 있는 기능을 제공합니다.
- 대량의 인터럽트를 처리하여 각각 특정 CPU 세트로 라우팅합니다.
- CPU 간 통신을 지원하고 여러 장치가 단일 인터럽트 라인을 공유할 필요가 없습니다.
실시간 APIC는 확장 가능하고 관리 가능한 방식으로 다수의 하드웨어 인터럽트를 생성, 라우팅 및 처리하기 위해 함께 작동하는 일련의 장치 및 기술을 나타냅니다. 각 시스템 CPU에 내장된 로컬 APIC와 하드웨어 장치에 직접 연결된 여러 입력/출력 APIC를 사용합니다.
실시간으로 하드웨어 장치가 인터럽트를 생성할 때 연결된 I/O APIC는 시스템 APIC 버스 전체의 인터럽트를 특정 CPU로 탐지하고 라우팅합니다. 운영 체제는 IO-APIC가 장치에 연결되고 해당 장치 내의 인터럽트 라인을 알고 있습니다. Advanced Configuration and Power Interface Differentiated System Description Table (ACPI DSDT)에는 호스트 시스템 마더보드 및 주변 구성 요소의 특정 설정에 대한 정보가 포함되어 있으며 장치는 사용 가능한 인터럽트 소스에 대한 정보를 제공합니다. 이러한 두 가지 데이터 세트는 전체 인터럽트 계층 구조에 대한 정보를 제공합니다.
RHEL for Real Time은 계층 구조로 연결된 시스템 APIC 기반 인터럽트 관리 전략을 지원하고 특정 CPU 또는 CPU 세트를 대상으로 하는 대신 부하 분산 방식으로 CPU에 인터럽트를 전달합니다.