
RTOS는 작업 실행뿐 아니라 데드라인을 보장하는 운영체제로, 시간 예측성과 낮은 지연을 중시하며 하드·펌·소프트 실시간성으로 구분된다.

Task는 반드시 void ATaskFunction(void *pvParameters) 형태의 C 함수로 작성되며, while(1) 루프 내에서 실행됩니다. 하나의 함수 정의로 xTaskCreate()를 통해 여러 Task 인스턴스를 생성할 수 있고, 각 Task는 독

스케줄러는 실행 중인 스레드를 CPU에서 제거하고 알고리즘에 따라 새 스레드를 선택하며, 스레드는 실행·준비·차단 상태를 오갑니다. 스케줄러는 정적/동적, 선점형/비선점형으로 분류됩니다.

이 게시글은 **이진 세마포어(Binary Semaphore)**의 개념과 활용을 설명한다. ISR과 태스크 간 동기화, 태스크 간 순서 보장, 특정 코드 구간 동기화 방법을 사례와 함께 다루며, FreeRTOS의 xSemaphoreCreateBinary(), xSem

멀티태스킹 환경에서 자원 충돌을 막기 위해 뮤텍스를 사용한다. FreeRTOS에서 Serial 출력 예제로 안전한 상호 배제를 구현한다.

FreeRTOS에서 Gatekeeper 패턴은 여러 태스크가 공유 자원(UART 등)에 동시에 접근하지 못하게 하고, 큐와 전용 태스크를 통해 안전하게 출력·처리하는 구조다.

Queue Set을 사용하면 하나의 Task가 여러 Queue를 일일이 폴링하지 않고, 데이터가 들어온 Queue의 핸들을 자동으로 받아 처리할 수 있다. FreeRTOS 환경에서 통합된 방식으로 효율적인 메시지 수신이 가능

Software Timer는 특정 시점에 함수 실행을 예약하거나, 일정한 주기로 반복 실행을 예약하는 기능이다. Software Timer가 실행하는 함수는 Software Timer callback function라고 한다.Software Timer는 FreeRTOS