FreeRTOS

FreeRTOS
Logo FreeRTOS
Logo programu
AutorReal Time Engineers Ltd.
Aktualna wersja stabilna202012.00-LTS
(15 grudnia 2020) [±]
Język programowaniaC
RodzajSystem operacyjny czasu rzeczywistego
LicencjaOpen 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.

Przypisy

Zobacz też

Linki zewnętrzne

Media użyte na tej stronie

Logo freeRTOS.png
Logo of the operating system FreeRTOS