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.
Zobacz też
[edytuj | edytuj kod]Przypisy
[edytuj | edytuj kod]- ↑ Kolesnki, Sergey (2013-12-08).
- ↑ "Why RTOS and What Is RTOS?"
- ↑ FreeRTOS GPL exceptions.
- ↑ FreeRTOS open source licensing, FreeRTOS license description, FreeRTOS license terms and OpenRTOS commercial licensing options. [online]
- ↑ FreeRTOS Static Memory Allocation [online], FreeRTOS [dostęp 2021-03-29] (ang.).
- ↑ Amazon FreeRTOS vs Linux | What are the differences? [online], StackShare [dostęp 2021-03-29] (ang.).
- ↑ FreeRTOS - Memory management options for the FreeRTOS small footprint, professional grade, real time kernel (scheduler) [online], FreeRTOS [dostęp 2021-04-01] (ang.).
- ↑ FreeRTOS co-routines [online], FreeRTOS [dostęp 2021-04-01] (ang.).
Linki zewnętrzne
[edytuj | edytuj kod]- Oficjalna strona
- OPENRTOS. openrtos.com. [zarchiwizowane z tego adresu (2014-10-28)].
- SAFERTOS
- FreeRTOS Trace
- Ekosystem produktów FreeRTOS