FreeRTOS

FreeRTOS
Logo FreeRTOS
Logo programu
Autor Real Time Engineers Ltd.
Aktualna wersja stabilna 202212.01
(4 marca 2023) [±]
Język programowania C
Rodzaj System operacyjny czasu rzeczywistego
Licencja Open Source/
Komercyjna
Strona internetowa

FreeRTOS – system operacyjny czasu rzeczywistego[1][2] dla urządzeń wbudowanych. Początkowo był rozpowszechniany na zmodyfikowanej licencji GPL, która posiadała jedno zastrzeżenie oraz jeden wyjątek. Zastrzeżenie dotyczyło braku zezwolenia na benchmarking samego systemu, a wyjątek pozwalał na nie udostępnianie kodu źródłowego aplikacji, wykorzystujących rozwijany na zasadach open source kernel[3].

Aktualnie obowiązującą licencją jest MIT[4].

FreeRTOS był używany w kosmosie.

Implementacja

FreeRTOS został zaprojektowany, pod kątem najkrótszego i najprostszego kodu źródłowego. Jądro składa się tylko z trzech plików kodu. Aby kod był czytelny, łatwy do portowania i konserwacji jest napisany głównie w języku C. Zastosowano również wstawki assemblerowe.

FreeRTOS zapewnia metody do tworzenia wielu wątków bądź zadań, mutexów, semaforów i timerów. Posiada ponadto specjalistyczne funkcje dla aplikacji o niskim poborze prądu. Obsługiwane są priorytety wyjątków. Aplikacje mogą być całkowicie przydzielane statycznie[5].

Nie ma bardziej zaawansowanych funkcji, które zwykle można znaleźć w systemach operacyjnych, takich jak Linux lub Microsoft Windows, takich jak sterowniki urządzeń, zaawansowane zarządzanie pamięcią, konta użytkowników i sieć. Nacisk kładziony jest na zwartość i szybkość wykonania[6]. FreeRTOS można traktować raczej jako „bibliotekę wątków” niż „system operacyjny”, chociaż dostępny jest interfejs wiersza poleceń.

Kluczowe cechy

  • Małe zużycie pamięci oraz szybka realizacja zadań[7].
  • Przeznaczony zarówno dla hobbystów, jak i profesjonalnych programistów pracujących nad produktami komercyjnymi.
  • Wsparcie współprogramów[8].
  • Scheduler można skonfigurować zarówno w trybie wywłaszczania, jak i w trybie współpracy.

Zobacz też

  • system wbudowany

Przypisy

  1. Kolesnki, Sergey (2013-12-08).
  2. "Why RTOS and What Is RTOS?"
  3. FreeRTOS GPL exceptions.
  4. FreeRTOS open source licensing, FreeRTOS license description, FreeRTOS license terms and OpenRTOS commercial licensing options. [online] 
  5. FreeRTOS Static Memory Allocation [online], FreeRTOS [dostęp 2021-03-29]  (ang.).
  6. Amazon FreeRTOS vs Linux | What are the differences? [online], StackShare [dostęp 2021-03-29]  (ang.).
  7. FreeRTOS - Memory management options for the FreeRTOS small footprint, professional grade, real time kernel (scheduler) [online], FreeRTOS [dostęp 2021-04-01]  (ang.).
  8. FreeRTOS co-routines [online], FreeRTOS [dostęp 2021-04-01]  (ang.).

Linki zewnętrzne

  • Oficjalna strona
  • OPENRTOS. openrtos.com. [zarchiwizowane z tego adresu (2014-10-28)].
  • SAFERTOS
  • FreeRTOS+Trace
  • Ekosystem produktów FreeRTOS
  • p
  • d
  • e
Otwarte oprogramowanie
Zamknięte oprogramowanie
Historyczne