문9) 우선순위 역전 현상
답)
I. 고우선순위 태스크의 무한대기, 우선순위 역전 개요
| 구분 | 내용 |
|---|---|
| 정의 | 동기화로 인해 우선순위가 높은 프로세스가 낮은 프로세스보다 실행이 지연되는 현상 |
| 필요성 | 실시간성 보장이 필수적인 국방, 항공, 임베디드 제어 시스템에 적용 필요 |
II. 우선순위 역전의 발생 메커니즘 및 해결 기술요소
가. 우선순위 역전 발생 시나리오
- 고순위 H가 중순위 M보다 나중에 실행되는 역전 현상 발생으로 무한 지연 가능
나. 우선순위 역전 해결을 위한 핵심 기술요소
| 분류 | 기술 | 설명 |
|---|---|---|
| 상속 기법 | PIP (Priority Inheritance Protocol) | 점유한 저순위 태스크를 고순위까지 우선순위 상향 |
| 상한 기법 | PCP (Priority Ceiling Protocol) | 최고 우선순위 상한값 설정 |
| 기본 제어 | Priority Ceiling | 자원 점유 즉시 상한치로 올리는 방식 |
| 기타 전략 | Interrupt Disabling | 임계구역 진입 시 선점 자체 차단 |
| Priority Queuing | 세마포어 대기큐를 우선순위 순으로 관리 |
- PIP와 PCP를 통한 해결이 가장 중요함.
III. 해결 프로토콜 (PIP vs PCP) 비교
| 비교 항목 | 우선순위 상속 (PIP) | 우선순위 상한 (PCP) |
|---|---|---|
| 상향 시점 | 고순위 태스크 요청 시 | 저순위 태스크 점유 시 |
| 교착 상태 | 방지 불가 | 방지 가능 |
| 구현 복잡도 | 상대적 단순함 | 다소 복잡 |
| 주요 특징 | 상속의 연쇄 | 블로킹 횟수 제한 |
- 멀티코어 환경의 확장, eBPF 기반 실시간 모니터링.