임베디드 시스템과 펌웨어
우선순위 역전을 막기 위해 사용되는 '우선순위 상속'의 개념으로 올바른 것은 무엇입니까?
- A높은 태스크의 우선순위를 낮은 태스크와 같은 수준으로 내린다
- B모든 태스크의 우선순위를 같게 한다
- C자원을 가진 낮은 태스크의 우선순위를, 그 자원을 기다리는 높은 태스크와 같은 높이로 일시적으로 올린다
정답과 해설 보기
정답: C. 자원을 가진 낮은 태스크의 우선순위를, 그 자원을 기다리는 높은 태스크와 같은 높이로 일시적으로 올린다
우선순위 상속에서는 높은 태스크가 낮은 태스크가 가진 뮤텍스를 기다리기 시작하면 낮은 태스크의 우선순위를 일시적으로 높은 태스크와 같게 합니다. 그러면 중간 태스크에 가로채이지 않고 처리를 진행하여, 자원을 놓은 시점에 원래 우선순위로 돌아갑니다. 높은 태스크의 대기 시간은 낮은 태스크가 자원을 사용하는 짧은 시간뿐입니다. 많은 RTOS의 뮤텍스가 이 기능을 가지고 있습니다.