FreeRTOS는 2003년 Richard Barry 가 만든 실시간 운영체제
35개 이상의 마이크로 컨트롤러에 이식됨
아마존에서 AWS IOT 엣지 서비스 확장을 위해 2017년 11월 인수
MIT License
용도 : 각종 장비 개발이 가능
공식 사이트 http://www.freertos.org (소스 다운로드 가능)
MIT 라이센스에 따라 소스코드 공개 등의 조건없이 상업적인 목적에도 사용 가능

 


FreeRTOS는 2003년 리차드 배리가 만든 실시간 운영체제 입니다.

비즈니스 모델은 뭐냐면 처음에는 무료로 풀었죠.

무료로 풀었으니 수익은 어디에서 얻을까요? (비즈니스 모델)

처음에는 어떻게 비즈니스를 운영했냐면

홈페이지를 하나 만들었어요.

 

https://www.freertos.org/


홈페이지에 들어가보면 지금은 없는데

예전에는 좌측 사이드 패널에

FreeRTOS하고 같이 조합해서 사용할 상품들이 쭉 진열되어 있었어요.

소프트웨어 상품들이죠.

 

소프트웨어 상품들이 진열되어 있고 

사용자들은 여기 있는 상품을 구입하는 방법 그래서 여기서 수수료를 받았겠죠.

수수료 상품 진열하는 대가로 수익을 내던 회사죠.

그래서 FreeRTOS 자체는 계속 처음부터 계속 지금까지 무료로 유지하고 있기 때문에

여기서 수익이 안 날 거고

첫번째는 좌측에 상품들 리스트를 만들어서 거기서 이제 구매가 일어나도록 수수료를 받았고,

 

 

 

두번째는 사용자 매뉴얼입니다.

FreeRTOS 매뉴얼, 이 매뉴얼을 돈 받고 팔았습니다.

우리나라 돈으로 한 2만원 정도로 pdf 문서로 수익을 냈었고 

또 기타 어떤 식으로 수익을 내는지는 모르겠습니다.


겉으로 봤을 때는 수익을 내는 모델은 그 정도로 추측할 수 있습니다.
지금은 이제 아마존에 인수됐기 때문에

FreeRTOS는 이런 수익성 상품들은 없앤 것 같습니다.

인수한 이후엔 그럴 필요성도 없었겠죠.

 

 


아마존에서 이 FreeRTOS라고 하는 회사를 인수한 목적은 어디 있을까요?

https://www.scribd.com/document/719282227/IOT-on-aws

 

IOT On Aws | PDF | Internet Of Things | Amazon Web Services

The document discusses how AWS IoT can help customers solve problems across various industries by connecting devices, collecting and analyzing data, and taking intelligent actions. It outlines the fundamentals of AWS IoT including connectivity and analytic

www.scribd.com

 

아마도 IoT를 장악하기 위해서 ,선점하기 위해서 아닐까요?

 

 


IoT 사물인터넷 시장을 아마존이 가져가기 위해서

어떤 식으로 IoT 서비스를 하는 거냐면


FreeRTOS 자체가 무료인 것은 지금도 여전히 무료죠.
그래서 무료인 정체성을 유지하고 

 

기존에 FreeRTOS의 플러그인 방식으로

아마존 클라우드 서비스 IoT 서비스를 연결할 수 있는 코드를

같이 결합시킬 수 있게끔.

 

그래서 이미 결합되어 있어요.

IoT하고 FreeRTOS가 결합된 형태로 배포를 하는 거죠.

 

 

 

그래서 이거를 무료로 배포하고 

클라우드 IoT 기기를 하려고 하는 기업이나 개인들은

FreeRTOS를 공짜로 쓰면서

보너스로 아마존 클라우드로 연결할 수 있는 코드도

같이 결제해서 가져올 수 있게 되죠.

 

이건 결코 나쁜 게 아닌 게

아마존에 연결하기 위해서

개발자가 별도의 많은 노력을 기울이지 않아도 되게 해준거죠.

 


그래서 IoT 소프트웨어를 이미 결합시켜놨다. FreeRTOS 하고.


그래서 RTOS 기반에서 아마존 클라우드 서비스를 바로 연결할 수 있는 것을 

쉽게 하게끔 설계되어 있다.

 


그래서 그런 서비스를 함으로 해서

아마존 클라우드 서비스를 더 많은 사용자들이 사용할 수 있게끔 하고 

그 다음에 좀 더 아마존이라고 하는 브랜드를 

더 굳건히 하고, 더 많은 소비자층에 더 인식시킬 수 있는 기회로 삼았다. 

라고 할 수 있지 않을까요?

 


아마존에서 AWS IoT Edge 서비스 확장을 위해서 2017년 11월 인수했고 

MIT 라이센스 형태를 취하고 있습니다 

예전에는 GPL이었죠. 

초기의 라이센스 형태는 아마존 인수되기 전에는 GPL 라이센스였어요.

근데 이제 이게 MIT 라이센스로 바뀐 거죠.


아마존 인수되면서 좀 더 라이센스의 부담으로부터 더 자유로워졌습니다.

 

 


FreeRTOS 을 이용한 상용 RTOS

SafeRTOS

SafeRTOS는 무료 RTOS로 유명한 Amazon FreeRTOS의

Functional model을 기반으로 개발된 RTOS로,

FreeRTOS로는 만족할 수 없는 안전-결정적 요구사항을 만족하기 위해서 등장하였다.

의료기기, 철도, 비행기 등 안전-결정적(safety-critical) 시스템에

바로 적용가능한 안정적이고 효율적인 RTOS 이다.

 


OpenRTOS

OpenRTOS는 간단히 말해서 FreeRTOS의 상용 버전이다. 

소스코드 및 기능이 FreeRTOS와 100% 동일하다. 

다만 비용을 지불하고 정식 상용 라이선스를 구매해야 하므로 

정식으로 기술지원을 받을 수 있다는 점이 FreeRTOS와 가장 큰 차 이점이다. 

또한 IP 침해 주장에 대한 보호를 제공받을 수 있다.


위 두 제품 모두 WITTENSTEIN high integrity systems 사에서 상용 제품으로서 공급

FreeRTOS를 이용해서 상용으로 사용하는 OS들입니다. 

SafeRTOS는 내부적으로는 FreeRTOS인데 이것을 상업화 시킨 것입니다. 

 

 

https://www.linux.com/news/linux-and-open-source-move-embedded-says-survey/

 

Linux and Open Source on the Move in Embedded, Says Survey - Linux.com

AspenCore has released the results of an embedded technology survey of its EETimes and Embedded readers. The survey indicates that open source operating systems like Linux and FreeRTOS continue to dominate, while Microsoft Embedded and other proprietary pl

www.linux.com

 

FreeRTOS가 가진 시장 임베디드 시스템 마켓에서의 비율입니다.

2017년도 조사인데요.

FreeRTOS가 무료인 만큼 거의 이런 통계를 잡으면 

항상 무료가 탑 랭크로 나옵니다. 

이건 어쩔 수 없는 거예요.


그렇기 때문에 약간 허수도 많이 끼어 있다고 봐도 될 것 같습니다.


숫자만 보고 FreeRTOS가 진짜 최고로 인기가 있는 OS이다-

라고 생각하시면 안됩니다.

단순히 무료만이 가질 수 있는 장점인 거죠.

탑 랭크에 오를 수 있는 장점. 

 

기존에 이름만 들어도 알만한 상업용 OS 회사들이 다 하위에 있습니다.
이것도 마이크로-C OS도 굉장히 유명한 OS인데 한참 밀렸네요.
그만큼 무료의 힘이 막강하네요.


근데 항상 이제 1위의 자리를 놓치지 않고 있는게 있는데, 바로 임베디드 리눅스죠.
임베디드 리눅스는 항상 10년 전에 조사한 것도 그렇고, 20년 전에 조사한 것도 그렇고, 항상 상위에 랭크됩니다.

 


그 다음에 윈드리버의 RTOS가 가장 유명한데 지금 점유율은 항상 이 정도입니다.
10년 전에 조사할 때도 한 5% 밖에 안 나왔어요. 별 차이 없죠. 

 

이 FreeRTOS을 쓰는 이유를 꼭 이제 이게 좋아서만 쓴다고 볼 수는 없고요. 

많은 부분이 로얄티가 없기 때문에 많은 사용자들 층을 가지고 있다
그것도 중요한 이유가 될 수 있다고 생각합니다.



 

FreeRTOS의 특징 (1)

  Portable
35개 이상의 마이크로컨트롤러에 이식. 

커널 코드의 대부분이 이식 가능한 ANSI C를 기반

 (일부 마이크로프로세서에 국한된 부분은 어셈블러로 코딩)


  ROMable
해당 C 컴파일러, 어셈블러, 링커, 로더가 필요, 

설정이나 응용프로그램에 따라 메모리의 크기를 자유로이 결정할 수 있다.

 

  커널 바이너리 이미지는 4K에서 9K 바이트 영역


  Preemptive Scheduling

높은 우선 순위 작업이 먼저 수행된다.

 

  Round Robin Support

  Real-Time
빠른 응답성을 갖는다.

  Multitasking
독자적 우선순위를 가지는 무제한으로 생성 가능한 태스크

 


Free RTOS의 특징입니다.
Free RTOS는 기존에 상용OS를 가지고 있는 여러가지 특징을 그대로 다 가지고 있습니다.
그래서 35개 이상의 마이크로컴퓨터를 인식할 수 있고 

롬화가능합니다.
롬의 사이즈에 최적화 시킬 수가 있습니다
kernel binary 기준으로 4k나 9k 정도로 작게 만들 수가 있어요!

선점 스케줄이 되구요.
round robin도 지원되고
round robin은 그 서로 번갈아가면서 실행될 수 있는 것입니다.
time quantum을 가지고 서로의 time quantum을 가지고 실행될 수 있는 걸
round robin이라고 합니다.


리얼타임 당연히 되구요, 멀티태스킹이 되구요.

또, 태스크를 이제 이론적으로 메모리만 문제없다면 
무제한으로 만들 수 있다라고 하는게 장점이죠 .

뭐 이게 왜 장점이 되느냐고 할 수 있지만 
기존에 마이크로 C-OS 와 비교하면 장점입니다.

예전에 MicroC-OS는 무제한으로 만드는 게 안됐거든요.
버전 2까지만 해도 이거는 유한한 태스크의 개수를 지원할 수 있었거든요
근데 Free RTOS는 무제한입니다.

 

 

FreeRTOS의 특징 (2)

  임베디드 운영체제로써 대표적인 공개형 소스코드 기반 커널


● 신뢰성과 안정성을 가진다.

작은 사이즈 - 많은 시스템에 적용가능

작은 임베디드 시스템에 탑재 가능하며 임베디드 시스템 중에서도

강력한 네트워크가 필요한 곳과 높은 성능 시스템에 사용하는 것이 적합


  프로젝트에 따른 소스 코드의 절약이 가능


  스택오버플로우체크, 처리시간 체크, 후크(HOOK), Queue, Semaphore, 5가지 Heap memory 등의 시스템 서비스 제공


  저전력 애플리케이션을위한 틱리스 (tickless) 모드 지원


  효율적인 소프트웨어 타이머


  인터럽트 관리
태스크의 수행을 일시 중지하거나 재개가 가능하다. 

인터럽트 중첩

 

 

임베디드 운영체제로서 대표적인 공개형 소스코드 기반 커널 입니다.

프로젝트 소스 코드를 이제 최적화시켜 작게 만들 수 있고, 
사용자가 원하는 스타일로 힙 메모리를 스타일링 할 수 있어요.
저전력 tickless 모드를 지원하고요.
효율적인 소프트웨어 타이머를 지원합니다.
마이크로C-OS에서는 없었는데, 소프트웨어 타이머도 지원해요.
그 다음에 인터넷 중첩도 시킬 수 있습니다.

 

FreeRTOS의 특징(3)


● 강력한 실행 추적 기능
  스택 오버플로 감지 옵션
  단점
디바이스 드라이버 부재
멀티코어 지원 안됨


다만 이제 디바이스 드라이버 없는 것은

FreeRTOS라서 없는 게 아니고

대부분의 RTOS가 디바이스 드라이버가 없습니다.


멀티코어 지원 안되는 점도 Free RTOS 만의 문제가 아닙니다.
많은 상용 RTOS도 마찬가지입니다.


근데 VxWorks 는, 디바이스 드라이버도 있고, 멀티코어 지원도 다 됩니다.

몇몇 OS들은 지원합니다만 손에 꼽을만한 열 손가락에 꼽을만한 OS 정도만 지원하고
대부분의 RTOS들은 디바이스 드라이버라고 하는게 아예 없습니다.

멀티코어도 지원하지 않구요 


이런 두 가지를 구현하려면 기술력도 있어야 되고

애초에 OS가 설계될 때부터 이런 점을 고려해서 OS가 만들어졌어야 돼요.
근데 FreeRTOS는 처음부터, 디바이스 드라이브나 멀티코어 지원을 만들 생각 없이 만들었습니다.
그렇기 때문에 다른 OS들처럼 지원하지 않아요.

'[2025~] Embedded > Free RTOS' 카테고리의 다른 글

[Free RTOS_022] 포팅 - 시작  (0) 2025.03.07
[Free RTOS_021] 태스크 형태  (0) 2025.03.07
[Free RTOS_019] RTOS의 종류  (0) 2025.03.07
[Free RTOS_018] RTOS의 특징  (0) 2025.03.07
[Free RTOS_017] RTOS란?  (0) 2025.03.07

+ Recent posts