[SW_Jungle] OS 우선순위 역전현상

Jin Lee·2021년 12월 30일
0

PintOS

목록 보기
4/16
post-thumbnail

우선순위 역전 : 상대적으로 우선순위가 높은 프로세스가 마치 우선순위가 낮은 프로세스 처럼 실행되는 현상, 공유자원에 대한 lock에 대한 개념때문에 발생하는 현상

우선순위 역전 해결 방법

  • 우선순위 상속 기법 (Priority Inheritance Protocol)
    • 공유 자원을 필요로 하는 프로세스가 실행중일 때, 같은 공유자원을 사용하려는 우선순위가 더 높은 프로세스가 접근한다면, 임시적으로 해당 프로세스의 우선순위로 바꿔버리는 방식
    • 구현이 간단해서 많이 사용됨
    • 공유자원이 여러개 있는 상황에서 순환 대기가 일어난다면 데드락이 발생할 수 있음
  • 우선순위 상한 기법 (Priority Ceiliing Protocol)
    • 공유자원을 사용하는 프로세스가 실행되어 지면, 그 순간 부터 우선순위를 매우 높여주는 방식
      - 세마포어/뮤텍스를 잠근 스레드는 다른 스레드에 의해 선점되지 않고 종료까지 수행
    • 모든 프로세스의 우선순위와 각 프로세스가 요구하는 공유자원을 미리 알고있다는 가정 하에 가능
    • 구현이 복잡해서 잘 안쓰임

ref)
1. https://yabmoons.tistory.com/663
2. https://j-i-y-u.tistory.com/21

profile
깃허브 : https://github.com/jinlee9270

0개의 댓글