임베디드 시스템과 펌웨어

RTOS에서 센서를 읽는 태스크에서 표시하는 태스크로 데이터를 전달할 때 큐(메시지 큐)를 사용하는 이점으로 올바른 것은 무엇입니까?

  1. A데이터가 큐를 거치면 자동으로 암호화된다
  2. B받는 쪽은 데이터가 올 때까지 잠들어 기다릴 수 있고, 보내는 쪽과 받는 쪽의 속도 차이도 큐에 쌓아 흡수할 수 있다
  3. C큐를 사용하면 태스크의 우선순위가 필요 없어진다
정답과 해설 보기

정답: B. 받는 쪽은 데이터가 올 때까지 잠들어 기다릴 수 있고, 보내는 쪽과 받는 쪽의 속도 차이도 큐에 쌓아 흡수할 수 있다

공유 변수와 플래그로 데이터를 전달하면 데이터 경쟁을 막는 대책이나 받는 쪽이 여러 번 확인하러 가는 수고가 필요합니다. RTOS의 큐를 사용하면 보내는 쪽은 데이터를 넣기만 하고, 받는 쪽은 데이터가 올 때까지 대기 상태로 CPU를 쓰지 않고 기다릴 수 있습니다. 큐 안에 여러 데이터를 쌓아 둘 수 있으므로, 일시적으로 보내는 쪽이 빨라도 데이터를 잃지 않습니다.

이 분야 연습하기 분야로 돌아가기

임베디드 시스템과 펌웨어의 다른 문제

  1. 하드 리얼타임과 소프트 리얼타임의 차이로 올바른 것은 무엇입니까?
  2. 워치독 타이머를 리셋(킥)하는 처리를 1 ms마다의 타이머 인터럽트 핸들러 안에서 무조건 수행하는 것이 좋지 않은 이유로 올바른 것은 무엇입니까?
  3. 임베디드 기기의 부트로더의 역할로 올바른 것은 무엇입니까?
  4. 무선으로 펌웨어를 갱신하는(OTA 업데이트) 기기에서 플래시 메모리에 펌웨어를 두는 영역을 2개(A면과 B면) 마련하는 이유로 올바른 것은 무엇입니까?
  5. 배터리로 동작하는 임베디드 기기에서 마이크로컨트롤러의 슬립 모드를 사용하는 주된 목적은 무엇입니까?

이 분야의 비교