정보관리기술/CA,OS

우선순위 역전(Priority Inversion)

아이티신비 2024. 3. 18. 09:30

문제2) Real Time Scheduling 이 갖는 문제 중 우선순위 역전(Priority Inversion)이 있다. Task1, Task2, Task3

순으로 우선순위가 낮다고 할 때 우선순위 역전을 사례기반으로 설명하고, 우선순위 역전을 해결하기 위한

2가지 기법에 대하여 설명하시오.(단 P,V 연산을 사용한다.)

 

답)

 

 

1. 화상 탐사선 Path Finder 호의 치명적 오류, 우선순위 역전의 개요

 

 
정의
실시간 스케줄링 문제의 하나로 공유자원 동기화 시 높은 우선순위 프로세스가 낮은 우선순위 프로세스로 인하여 수행이 지연되는 현상
발생
조건
  • 선전 스케줄링 : 임계영역 상호배제위한 공유자원 동기화 문제(Mutex, Semaphore)
  • 비선점 스케줄링 : 저순위 Task 가 먼저 도착하고 자원점유

 

2. 우선순위 역전 사례기반 설명

가. 우선순위 역전 설명

 
  • Task1 이 가장 높은 우선순위를 갖지만 Task3, Task2 보다 나중에 완료

 

나. 우선순위 역전 상세설명

 
순서
설명
낮은 우선순위 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