본문/내용
Ⅰ. 최신 면접 기출 질문 (16선)
Q1. 임베디드 시스템에서 RTOS와 일반 OS(Linux)의 핵심 차이점과 위성 시스템 적용 이유
RTOS와 일반 OS의 가장 본질적인 차이는 작업 처리의 논리적 정확성뿐만 아니라 주어진 마감시간을 엄격히 준수하는 시간적 확정성에 있으며, 일반 범용 OS는 획득 가능한 평균적인 스루풋 향상을 목표로 스케줄링하여 비예측적 지연이 발생할 수 있는 반면, RTOS는 결정론적 스케줄링 알고리즘을 수행하여 태스크의 예측 가능한 우선순위 응답을 철저히 보장하고, 우주 궤도를 운항하는 위성 탑재체 SW는 센서 데이터 수집 및 자세 제어 루프가 밀리초 단위로 정확히 맞물려 동작해야 하므로 단 한 번의 타임아웃도 치명적인 위성 태양전지판 미전개나 궤도 이탈을 초래할 수 있어 높은 신뢰성과 정밀한 시간 지연 제어가 가능한 FreeRTOS나 VxWorks 같은 RTOS를 전적으로 채택하여 구축하게 됩니다.
Q2. C언어에서 volatile 키워드의 역할과 메모리 맵드 I/O 설정 시 필요성
C언어에서 volatile 키워드는 컴파일러에게 해당 변수가 코드 외부의 하드웨어 변화나 인터럽트에 의해 언제든지 값이 변경될 수 있음을 고지하여 컴파일러 최적화 옵…