FreeRTOS

Z Wikipedii, wolnej encyklopedii
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[edytuj | edytuj kod]

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[edytuj | edytuj kod]

  • 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[edytuj | edytuj kod]

Zobacz też[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]