FreeRTOS
Logo programu | |
Autor | Real Time Engineers Ltd. |
---|---|
Aktualna wersja stabilna | 202012.00-LTS (15 grudnia 2020) [±] |
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.
Przypisy
- ↑ 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.
- ↑ FreeRTOS Static Memory Allocation, FreeRTOS [dostęp 2021-03-29] (ang.).
- ↑ Amazon FreeRTOS vs Linux | What are the differences?, StackShare [dostęp 2021-03-29] (ang.).
- ↑ FreeRTOS - Memory management options for the FreeRTOS small footprint, professional grade, real time kernel (scheduler), FreeRTOS [dostęp 2021-04-01] (ang.).
- ↑ FreeRTOS co-routines, FreeRTOS [dostęp 2021-04-01] (ang.).
Zobacz też
Linki zewnętrzne
- Oficjalna strona
- OPENRTOS. openrtos.com. [zarchiwizowane z tego adresu (2014-10-28)].
- SAFERTOS
- FreeRTOS+Trace
- Ekosystem produktów FreeRTOS
Media użyte na tej stronie
Logo of the operating system FreeRTOS