FreeRTOS
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
FreeRTOS는 2003년 리처드 배리에 의해 개발된 실시간 운영 체제 커널로, 이후 아마존 웹 서비스(AWS)로 관리 주체가 변경되었다. C 언어로 작성되어 다양한 마이크로컨트롤러 아키텍처를 지원하며, 스레드, 뮤텍스, 세마포어, 소프트웨어 타이머 등을 제공한다. 주요 기능으로는 작은 메모리 크기, 낮은 오버헤드, 틱리스 옵션, 선점형/협력형 멀티태스킹 지원 등이 있다. FreeRTOS를 기반으로 아마존 FreeRTOS, SAFERTOS, OPENRTOS 등의 파생 제품이 있으며, 라이선스는 GPL에서 MIT로 변경되었다.
더 읽어볼만한 페이지
- 실시간 운영체제 - Nucleus RTOS
Nucleus RTOS는 1993년 Accelerated Technology에서 출시된 실시간 운영 체제로, 다양한 아키텍처와 구성 요소를 지원하며 안전 인증을 받아 여러 제품에 사용되었다. - 실시간 운영체제 - 블랙베리 10
블랙베리 10은 2013년에 출시된 블랙베리 리미티드의 모바일 운영 체제로, 터치스크린 및 물리 키보드 스마트폰을 지원하며 제스처 기반 인터페이스, 블랙베리 허브 등의 기능을 제공했으나 2022년에 공식 지원이 종료되었다. - 임베디드 운영체제 - 블랙베리 10
블랙베리 10은 2013년에 출시된 블랙베리 리미티드의 모바일 운영 체제로, 터치스크린 및 물리 키보드 스마트폰을 지원하며 제스처 기반 인터페이스, 블랙베리 허브 등의 기능을 제공했으나 2022년에 공식 지원이 종료되었다. - 임베디드 운영체제 - QNX
QNX는 고든 벨과 댄 도지가 개발한 마이크로커널 기반의 실시간 운영 체제로, 산업용 기계 제어 분야에서 신뢰성을 인정받아 현재는 블랙베리가 소유하며 자동차 인포테인먼트 시스템, 자율 주행 시스템 등 다양한 임베디드 시스템에 활용되고, POSIX 표준 준수로 유닉스 계열 소프트웨어와 호환된다. - 자유 소프트웨어 운영체제 - MS-DOS
MS-DOS는 마이크로소프트가 개발한 개인용 컴퓨터용 디스크 운영 체제로, IBM PC의 표준 운영 체제로 널리 사용되었으며, 단일 작업 환경과 명령줄 인터페이스를 특징으로 한다. - 자유 소프트웨어 운영체제 - CP/M
CP/M은 게리 킬달이 개발한 8비트 마이크로컴퓨터용 운영체제로, 플로피 디스크 기반의 다양한 하드웨어 플랫폼에서 작동하며, 뛰어난 이식성과 방대한 소프트웨어 라이브러리를 바탕으로 1980년대 초반 널리 사용되었으나, MS-DOS의 부상으로 시장 점유율을 잃었지만 MS-DOS와 초기 윈도우 운영체제에 영향을 미쳤다.
| FreeRTOS - [IT 관련 정보]에 관한 문서 | |
|---|---|
| 기본 정보 | |
![]() | |
| 개발사 | 아마존 웹 서비스 |
| 종류 | 실시간 운영 체제 |
| 개발 상태 | 현재 |
| 소스 모델 | 오픈 소스 |
| 최초 출시일 | 2003년 |
| 최신 버전 | 11.1.0 |
| 최신 출시일 | 2024년 4월 22일 |
| 마케팅 대상 | 임베디드 시스템 |
| 프로그래밍 언어 | C |
| 언어 | 영어 |
| 커널 종류 | 실시간 마이크로커널 |
| 라이선스 | MIT |
| 웹사이트 | FreeRTOS 공식 웹사이트 |
| 지원 플랫폼 | |
2. 역사
FreeRTOS 커널은 2003년경 리처드 배리에 의해 처음 개발되었으며, 이후 배리의 회사인 Real Time Engineers Ltd.에서 개발 및 유지 관리되었다. 2017년, FreeRTOS 프로젝트 관리는 아마존 웹 서비스(AWS)로 넘어갔다. 배리는 AWS 팀의 일원으로서 FreeRTOS 개발을 계속하고 있다.[6] 아마존으로 전환되면서, 프로젝트의 후속 릴리스는 라이선스가 GPL 버전 2 (FreeRTOS 커널 외부의 독점 코드에 대한 정적 연결에 대한 특별 예외 조항 포함)에서 MIT로 변경되었다.[7]
FreeRTOS는 이식성과 유지보수성을 높이기 위해 대부분 C로 작성되었다. 아키텍처별 스케줄러 루틴 등 필요한 경우 소수의 어셈블리 언어 함수도 포함한다. 커널 자체는 3~4개의 C 파일로 구성되어 있으며, 코드는 가독성이 좋고 이식 및 유지보수가 용이하다.
버전 9까지는 예외 조항이 있는 GPL 하에 배포되었다. 예외 조항은 커널 자체가 오픈 소스인 경우 사용자의 코드를 클로즈드 소스로 유지할 수 있다는 내용이다.[21] 아마존에 인수된 후의 버전 10부터는 MIT 라이선스를 채택하고 있다.
3. 구현
3. 1. 프로세스 관리
FreeRTOS는 여러 개의 스레드 또는 태스크, 뮤텍스, 세마포어, 소프트웨어 타이머를 위한 방법을 제공한다. 저전력 애플리케이션을 위해 틱리스 모드가 제공된다. 스레드 우선 순위가 지원된다. FreeRTOS 애플리케이션은 정적으로 할당될 수 있지만, 객체는 다음 5가지 메모리 관리 (할당) 방식으로 동적으로 할당될 수도 있다.
FreeRTOS는 호스트 프로그램이 정기적인 짧은 간격으로 스레드 틱 메서드를 호출하여 여러 스레드를 구현한다. 스레드 틱 메서드는 우선 순위 및 라운드 로빈 스케줄링 방식을 기반으로 태스크를 전환한다. 일반적인 간격은 하드웨어 타이머의 인터럽트를 통해 1~10밀리초( ~ 초)이지만, 이 간격은 주어진 애플리케이션에 맞게 자주 변경된다.
4. 주요 기능
FreeRTOS는 작은 메모리 크기, 낮은 오버헤드, 빠른 실행 속도를 가진다.[1] 저전력 응용 프로그램을 위한 틱리스(tick-less) 옵션도 제공한다.[1] 취미로 개발하는 사람들과 상업용 제품을 개발하는 전문 개발자 모두를 대상으로 한다.[1]
스케줄러는 선점형 멀티태스킹 또는 협력형 멀티태스킹으로 구성할 수 있다.[1] 코루틴을 지원하는데, FreeRTOS의 코루틴은 태스크와 유사하지만 콜 스택 사용이 제한적이며 간단하고 가볍다.[1]
일반적인 트레이스 매크로를 통해 트레이스를 지원한다.[1] FreeRTOS 파트너인 Percepio의 상용 도구인 Tracealyzer와 같은 도구를 사용하여 디버깅 및 검증을 위해 세마포어 및 큐 작업에 대한 태스크 스케줄링 및 커널 호출을 포함하여 FreeRTOS 기반 시스템의 런타임 동작을 기록하고 시각화할 수 있다.[1]
5. 지원 아키텍처
FreeRTOS는 다양한 종류의 마이크로컨트롤러 및 프로세서 아키텍처를 지원한다.[22]
| 제조사 | 제품군 | 세부 모델 |
|---|---|---|
| 알테라 | Nios II | |
| ARM 아키텍처 | ARM7 | |
| ARM9 | ||
| ARM Cortex-M | ||
| ARM Cortex-A | ||
| Cortex-M0 | ||
| Cortex-M3 | ||
| Cortex-M4 | ||
| Ceva-BXx | ||
| SensPro | ||
| Ceva-XC16 | ||
| Ceva-XM6, Ceva-Xx, Ceva-XM4 | ||
| Atmel | Atmel AVR | |
| AVR32 | ||
| SAM3 / SAM4 | ||
| SAM7 / SAM9 | ||
| SAMD20 / SAML21 | ||
| Cortus | APS1 | |
| APS3 | ||
| APS3R | ||
| APS5 | ||
| FPS6 | ||
| FPS8 | ||
| Cypress | PSoC | |
| 에너지 마이크로 | EFM32 | |
| eSi-RISC | eSi-16x0, eSi-32x0 | |
| DSP 그룹(DSP Group) | DBMD7 | |
| Espressif | ESP8266ex | |
| ESP32 | ||
| 후지쯔 | FM3 | |
| MB91460 | ||
| MB96340 | ||
| 프리스케일 | 콜드파이어 V1 / V2 | |
| HCS12 | ||
| 키네티스(Kinetis) | ||
| Kinetis K1x, K2x | ||
| HCS12 | ||
| IBM | PPC404 / PPC405 | |
| 인피니언 | TriCore | |
| Infineon XMC4000 | ||
| 인텔 | x86 | |
| 8052 | ||
| 마이크로칩 테크놀로지 | PIC18 / PIC24 / dsPIC | |
| PIC 마이크로컨트롤러 PIC32 | ||
| 마이크로세미 | 스마트퓨전 | |
| Multiclet | Multiclet P1 | |
| NXP | LPC1000 | |
| LPC2000 | ||
| LPC4300 | ||
| 르네사스 | 78K0R | |
| RL78 | ||
| H8/S | ||
| RX600 | ||
| RX200 | ||
| SuperH | ||
| V850 | ||
| RISC-V[8] | RV32I | |
| RV64I | ||
| PULP RI5CY | ||
| FR 패밀리(MB91460 시리즈), F2MC-16FX 패밀리(MB96340 시리즈) | ||
| 실리콘 랩스 | Gecko (ARM Cortex) | |
| ST마이크로일렉트로닉스 | STM32 | |
| STR7 | ||
| 텍사스 인스트루먼츠 | C2000 시리즈 (TMS320F28x) | |
| MSP430 | ||
| Stellaris | ||
| 허큘리스 (TMS570LS04 & RM42) | ||
| 자일링스 | 마이크로블레이즈 | |
| Zynq-7000 | ||
| 소프트 프로세서 |
6. 파생 제품
FreeRTOS 커널은 2003년경 리처드 배리가 개발하였으며, 이후 그의 회사인 Real Time Engineers Ltd.에서 개발 및 유지 관리되었다. 2017년, 이 회사는 FreeRTOS 프로젝트 관리를 아마존 웹 서비스(AWS)로 넘겼다. 배리는 AWS 팀의 일원으로서 FreeRTOS 작업을 계속하고 있다.[6] 아마존으로 전환되면서, 프로젝트의 라이선스는 GPL 버전 2에서 MIT로 변경되었다.[7]
FreeRTOS를 기반으로 개발된 주요 파생 제품은 다음과 같다:
- Amazon FreeRTOS: 아마존에서 사물 인터넷(IoT) 지원을 위한 라이브러리를 갖춘 FreeRTOS 확장판이다.
- SAFERTOS: FreeRTOS와 유사한 기능을 가지지만 안전 필수 구현을 위해 설계되었다.
- OPENRTOS: Wittenstein High Integrity Systems에서 판매하는 아마존 FreeRTOS의 상용 라이선스 버전이다.
6. 1. Amazon FreeRTOS
아마존은 사물 인터넷(IoT) 지원을 위한 라이브러리를 갖춘 FreeRTOS의 확장판을 제공하며, 이는 특히 아마존 웹 서비스(AWS)를 위해 제작되었다. 2017년 버전 10.0.0부터 아마존은 원본 커널에 대한 업데이트를 포함하여 FreeRTOS 코드 관리를 맡았다.[9][10][11]6. 2. SAFERTOS
SAFERTOS는 FreeRTOS의 보완 버전으로 개발되었으며, 공통 기능을 가지면서도 안전 필수 구현을 위해 설계되었다. FreeRTOS는 위험성 및 운용성 연구(HAZOP)를 거쳤으며, 약점이 식별되어 해결되었다. 그 결과는 소프트웨어 전용 구성 요소의 최고 수준인 전체 IEC 61508 SIL 3 개발 수명 주기를 거쳤다.SAFERTOS는 FreeRTOS 프로젝트의 주요 개발자인 Real Time Engineers Ltd와 파트너십을 맺고 Wittenstein High Integrity Systems에 의해 개발되었다.[3][12] SAFERTOS와 FreeRTOS는 동일한 스케줄링 알고리즘을 공유하고 유사한 응용 프로그래밍 인터페이스(API)를 가지지만,[13] 개발 목표가 달랐다.[14] SAFERTOS는 IEC61508 인증 요구 사항을 충족하기 위해 전적으로 C 언어로 개발되었다.[15]
SAFERTOS는 표준 준수를 위해 마이크로컨트롤러의 온칩 읽기 전용 메모리(ROM)에만 존재할 수 있다.[16] 하드웨어 메모리에 구현된 경우 SAFERTOS 코드는 원래의 인증된 구성에서만 사용할 수 있다. 즉, 시스템을 인증하는 데 설계의 커널 부분에 대한 재테스트가 필요하지 않다.[17] SAFERTOS는 Texas Instruments의 일부 Stellaris 마이크로컨트롤러의 ROM에 포함되어 있다.[18] SAFERTOS 소스 코드는 별도로 구매할 필요가 없다. 이 사용 시나리오에서는 C 헤더 파일을 사용하여 SAFERTOS API 함수를 읽기 전용 메모리의 해당 위치에 매핑한다.
6. 3. OPENRTOS
Wittenstein High Integrity Systems에서 판매하는 상용 라이선스 버전의 아마존 FreeRTOS이다. 이 제품은 아마존 FreeRTOS 커널 및 라이브러리를 MIT 라이선스 없이 사용할 수 있도록 지원한다.[19][20]OpenRTOS는 FreeRTOS에서 GPL에 대한 언급과 GPL에 의한 구현을 모두 제거한 것이다. 예를 들어, 상용 제품에 FreeRTOS를 통합한 경우에는 제조자는 FreeRTOS를 사용하고 있음을 인지하고, 사용자가 요구할 경우 GPL 규정에 따라 소스 코드를 공개해야 하지만, OpenRTOS를 채택하는 경우에는 그러한 제약이 없다.
7. 라이선스
FreeRTOS 커널은 2003년경 리처드 배리(Richard Barry)에 의해 처음 개발되었으며, 이후 배리의 회사인 Real Time Engineers Ltd.에 의해 개발 및 유지 관리되었다. 2017년에 이 회사는 FreeRTOS 프로젝트의 관리를 아마존 웹 서비스(AWS)로 넘겼다. 배리는 AWS 팀의 일원으로서 FreeRTOS 작업을 계속하고 있다.[6]
버전 9까지는 예외 조항이 있는 GPL 하에 배포되었다. 예외 조항은 커널 자체가 오픈 소스인 경우 사용자의 코드를 클로즈드 소스로 유지할 수 있다는 내용이다.[21] 아마존에 인수된 후의 버전 10부터는 MIT 라이선스를 채택하고 있다.
참조
[1]
웹사이트
FreeFTOS Github Releases
https://github.com/F[...]
2024-04-22
[2]
웹사이트
FreeRTOS open source licensing
https://www.freertos[...]
2017-12-22
[3]
웹사이트
2011 Embedded Market Study
http://www.eetimes.c[...]
EE Times
[4]
웹사이트
Comparing microcontroller real-time operating systems
http://www.embedded.[...]
2013-12-08
[5]
웹사이트
Why RTOS and What Is RTOS?
http://www.freertos.[...]
2014-08-29
[6]
웹사이트
RTOS - Free professionally developed and robust real time operating system for small embedded systems development
http://www.openrtos.[...]
[7]
웹사이트
Update to MIT licensed FreeRTOS V10.0.0
https://github.com/F[...]
[8]
웹사이트
Using FreeRTOS on RISC-V Microcontrollers
https://www.freertos[...]
FreeRTOS
2019-09-11
[9]
웹사이트
Amazon FreeRTOS
https://aws.amazon.c[...]
Amazon
2018-11-28
[10]
웹사이트
FAQ: Amazon FreeRTOS
https://www.freertos[...]
FreeRTOS
2018-11-28
[11]
웹사이트
Amazon FreeRTOS is a new OS for IoT
https://techcrunch.c[...]
TechCrunch
2017-11-29
[12]
웹사이트
FreeRTOS
http://www.freertos.[...]
2012-08-08
[13]
웹사이트
SmartBotPaper
http://www.ece.steve[...]
2012-08-08
[14]
문서
Relationship between FreeRTOS and SAFE'''RTOS'''
https://www.freertos[...]
[15]
웹사이트
EETimesSafetyCritical
http://www.eetimes.c[...]
2012-08-08
[16]
웹사이트
Embedded Systems Design Europe
http://www.nxtbook.c[...]
2012-08-10
[17]
웹사이트
Texas Instruments
http://www.ti.com/li[...]
2012-09-10
[18]
문서
TI Stellaris Product range
http://www.ti.com/ls[...]
[19]
웹사이트
OPENRTOS
https://www.highinte[...]
High Integrity Systems
2018-11-28
[20]
웹사이트
FreeRTOS open source licensing
https://www.freertos[...]
FreeRTOS
2018-11-28
[21]
웹사이트
FreeRTOS open source licensing, FreeRTOS license description, FreeRTOS license terms and OpenRTOS commercial licensing options.
http://www.freertos.[...]
2018-02-03
[22]
문서
FreeRTOS Ports
https://www.freertos[...]
[23]
웹인용
FreeFTOS Github Releases
https://github.com/F[...]
2023-08-17
[24]
웹인용
2011 Embedded Market Study
http://www.eetimes.c[...]
EE Times
[25]
웹인용
Comparing microcontroller real-time operating systems
http://www.embedded.[...]
2013-12-08
[26]
웹인용
Why RTOS and What Is RTOS?
http://www.freertos.[...]
2014-08-29
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com
