문제2) Real Time Scheduling 이 갖는 문제 중 우선순위 역전(Priority Inversion)이 있다. Task1, Task2, Task3
순으로 우선순위가 낮다고 할 때 우선순위 역전을 사례기반으로 설명하고, 우선순위 역전을 해결하기 위한
2가지 기법에 대하여 설명하시오.(단 P,V 연산을 사용한다.)
답)
1. 화상 탐사선 Path Finder 호의 치명적 오류, 우선순위 역전의 개요
정의
|
실시간 스케줄링 문제의 하나로 공유자원 동기화 시 높은 우선순위 프로세스가 낮은 우선순위 프로세스로 인하여 수행이 지연되는 현상
|
발생
조건 |
|
2. 우선순위 역전 사례기반 설명
가. 우선순위 역전 설명
|
||
|
나. 우선순위 역전 상세설명
순서
|
설명
|
①
|
낮은 우선순위 T3 수행, P연산 수행 후 Critical Section 점유
|
②
|
높은 우선순위 T1의 P연산 시도, T3의 Critical Section 선점으로 block 됨
|
③
|
T3의 수행 재게
|
④
|
T1이 T2보다 높음에도 T2가 먼저 수행됨 (우선순위 역전)
|
⑤
|
T2 수행 종류 후 T3 재 수행, V연산으로 Critical Section 해제
|
⑥
|
T1 재 수행
|
|
3. 우선순위 역전의 해결방안
가. 우선순위 상속
|
||
순서
|
설명
|
|
①
|
낮은 우선순위 T3 수행, P연산 수행 후 Critical Section 점유
|
|
②
|
높은 우선순위 T1의 P연산 시도, T3의 Critical Section 선점으로 block 됨
|
|
③~④
|
T1이 block 된 상태에서 T3를 T1레벨로 우선순위를 높여 T2보다 높으므로 T3가 수행되고 V연산으로 Critical Section 해제
|
|
⑤
|
T1이 Critical Section 을 점유하고 Task 수행
|
나. 우선순위 올림
|
||
순서
|
설명
|
|
①
|
낮은 우선순위 T3 수행, P연산 수행 후 Critical Section 점유
|
|
②~③
|
우선순위를 최우선순위로 올림, T1은 T3보다 우선순위가 낮아 대기
|
|
④~⑤
|
T3 종료 후 T1 수행
|
|
⑥
|
T2는 우선순위가 가장 낮으므로 T1 종료 후 T2 수행
|
4. 우선순위 역전의 해결방안 비교
구분
|
우선순위 상속
|
우선순위 올림
|
특징
|
낮은 우선순위를 높여줌
|
우선순위 한정
|
장점
|
자동으로 우선순위 동적 변경
|
우선순위 변동에 대한 부하가 적용
|
단점
|
우선순위 변경에 따른 오버헤드
|
우선순위 한정범위 설정 어려움
|
교착상태
|
발생 가능성 존재
|
없음
|
자원 동시소유
|
처리 불가능
|
처리가능
|
공감과 댓글은 아이티신비에게 큰 힘이 됩니다.
블로그 글이 유용하다면 블로그를 구독해주세요.♥
'정보관리기술 > CA,OS' 카테고리의 다른 글
세마포어(Semaphore)와 모니터(Monitor) / ① (65) | 2024.03.08 |
---|---|
DAS, NAS, SAN (66) | 2024.03.08 |
NoSQL / ① (75) | 2024.03.07 |
Race Condition / ① (73) | 2024.03.07 |
스레싱(Thrashing) / ① (53) | 2024.03.06 |