임베디드 시스템과 펌웨어
RTOS에서 센서를 읽는 태스크에서 표시하는 태스크로 데이터를 전달할 때 큐(메시지 큐)를 사용하는 이점으로 올바른 것은 무엇입니까?
- A데이터가 큐를 거치면 자동으로 암호화된다
- B받는 쪽은 데이터가 올 때까지 잠들어 기다릴 수 있고, 보내는 쪽과 받는 쪽의 속도 차이도 큐에 쌓아 흡수할 수 있다
- C큐를 사용하면 태스크의 우선순위가 필요 없어진다
정답과 해설 보기
정답: B. 받는 쪽은 데이터가 올 때까지 잠들어 기다릴 수 있고, 보내는 쪽과 받는 쪽의 속도 차이도 큐에 쌓아 흡수할 수 있다
공유 변수와 플래그로 데이터를 전달하면 데이터 경쟁을 막는 대책이나 받는 쪽이 여러 번 확인하러 가는 수고가 필요합니다. RTOS의 큐를 사용하면 보내는 쪽은 데이터를 넣기만 하고, 받는 쪽은 데이터가 올 때까지 대기 상태로 CPU를 쓰지 않고 기다릴 수 있습니다. 큐 안에 여러 데이터를 쌓아 둘 수 있으므로, 일시적으로 보내는 쪽이 빨라도 데이터를 잃지 않습니다.