FreeRTOS

FreeRTOS는 메모리와 연산 능력이 제한된 마이크로컨트롤러를 대상으로 개발된 경량 실시간 운영체제 커널이다. 태스크 스케줄링과 동기화·타이머, 메시지 큐를 소형의 시스템 소프트웨어로 제공하며, 사용자가 필요한 통신·파일 시스템과 기타 라이브러리를 선택적으로 결합하도록 설계되었다. 데...

분류마이크로컨트롤러용 실시간 커널
개발Richard Barry 및 FreeRTOS 프로젝트
시작2003년 무렵 공개
기술 계보독자적으로 개발한 RTOS 커널
커널·주요 구성우선순위 기반 태스크 스케줄러
대상 플랫폼ARM Cortex-M, RISC-V 등 여러 MCU
주요 기능태스크·큐·타이머·세마포어
배포·라이선스MIT 라이선스
개발 상태활발히 유지·배포
참고 자료공식 기술 자료

FreeRTOS는 메모리와 연산 능력이 제한된 마이크로컨트롤러를 대상으로 개발된 경량 실시간 운영체제 커널이다. 태스크 스케줄링과 동기화·타이머, 메시지 큐를 소형의 시스템 소프트웨어로 제공하며, 사용자가 필요한 통신·파일 시스템과 기타 라이브러리를 선택적으로 결합하도록 설계되었다. 데스크톱·서버용 Linux나 Windows 커널에서 파생한 배포판이 아니라 독립적인 MCU용 커널 구현이다.[1]

FreeRTOS의 태스크는 우선순위를 갖고 스케줄러에 의해 실행되며, 선점형 또는 협력형 설정을 사용할 수 있다. 메시지 큐·세마포어·뮤텍스·이벤트 그룹 등의 기능으로 태스크 사이의 데이터 전달과 동기화를 지원한다. 실시간 응답성은 커널만의 속도가 아니라 인터럽트 우선순위·실행 시간·잠금과 애플리케이션 태스크의 설계에 영향을 받는다.

FreeRTOS는 여러 CPU 아키텍처와 MCU 개발 보드에서 활용되며, 네트워크 통신과 보안·OTA 업데이트 같은 추가 라이브러리도 제공된다. MIT 라이선스로 소스를 공개하여 상용 임베디드 제품에서도 사용되지만, 커널 자체가 메모리 보호와 완전한 UNIX 사용자 공간을 제공하는 범용 운영체제라고 해석해서는 안 된다. 활용 대상은 소형 센서·IoT·제어 프로그램 등의 실시간 임베디드 시스템이다.[2]

역사

기원

기술적 발전

설계 목표

커널과 시스템 구조

실행 모델

메모리 관리

시스템 서비스

태스크와 동시성

드라이버와 입출력

네트워크·파일 시스템

개발 도구·응용 환경

실시간·보안 특성

지원 플랫폼과 이식성

관련 운영체제 계보

관련 문서

  1. FreeRTOS: What is FreeRTOS? ↩
  2. AWS: FreeRTOS FAQ ↩