임베디드 시스템과 펌웨어
RTOS에서 발생하는 우선순위 역전의 설명으로 올바른 것은 무엇입니까?
- A낮은 태스크가 가진 자원을 높은 태스크가 기다리는 동안 중간 태스크가 낮은 태스크를 멈추고 계속 실행되어, 높은 태스크가 오래 기다리게 된다
- B태스크의 우선순위 숫자가 설정과 반대로 해석되는 불량
- C우선순위가 높은 태스크가 낮은 태스크보다 반드시 나중에 실행된다는 규칙
정답과 해설 보기
정답: A. 낮은 태스크가 가진 자원을 높은 태스크가 기다리는 동안 중간 태스크가 낮은 태스크를 멈추고 계속 실행되어, 높은 태스크가 오래 기다리게 된다
낮은 태스크가 뮤텍스를 가지고 있는 동안 높은 태스크가 그것을 기다리면, 높은 태스크는 낮은 태스크가 놓을 때까지 기다립니다. 거기에 자원과 관계없는 중간 태스크가 실행되기 시작하면 낮은 태스크는 멈춰서 자원을 놓지 못하고, 결과적으로 높은 태스크가 중간 태스크에 의해 기다리게 됩니다. 1997년 화성 탐사선 마스 패스파인더에서는 이것이 원인이 되어 시스템 리셋이 반복되었습니다.