FreeRTOS

FreeRTOS
Logo FreeRTOS
Logo programu
Autor Real Time Engineers Ltd.
Aktualna wersja stabilna v202411.00 21 października 2024; około rok temu
Język programowania C
Rodzaj System operacyjny czasu rzeczywistego
Licencja MIT
Strona internetowa

FreeRTOSsystem 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[potrzebny przypis].

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ż

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

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.