FreeRTOS

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
FreeRTOS
Logo freeRTOS.png
Розробник Real Time Engineers Ltd.
Написано на C
Родина ОС Операційна система реального часу
Стан проекту Актуальне
Модель коду Open source
Останній стабільний випуск 9.0.0/ 25 травня 2016; 853 дні тому[1]
Ринкова ніша Вбудована система
Платформи, що підтримуються ARM (ARM7, ARM9, Cortex-M3, Cortex-M4, Cortex-A), Atmel AVR8 і AVR32, HCS12, MicroBlaze, Cortus (APS1, APS3, APS3R, APS5, FPF3, FPS6, FPS8), MSP430, PIC, Renesas H8/S, SuperH, RX, x86, 8052, Coldfire, V850, 78K0R, Fujitsu MB91460 series, Fujitsu MB96340 series, Nios II, Cortex-R4, TMS570, RM4x
Тип ядра Мікроядро
Ліцензія Modified GPL
Веб-сайт www.freertos.org

FreeRTOS у Вікісховищі?

FreeRTOS — це популярна[2] операційна система реального часу[3][4] для вбудованих систем, що була реалізована на 35 мікроконтролерах. Вона доступна під ліцензією GPL із деякими додатковими винятками. За цим винятком користувачам дозволяється залишати закритим пропрієтарний код із збереженням відкритого коду ядра, таким чином дозволяючи використовувати FreeRTOS для пропрієтарних застосувань.[5]

Реалізація[ред. | ред. код]

FreeRTOS розроблялась як проста і легка система. Ядро складається лише з трьох або чотирьох файлів мовою C. Для того, щоб код було легко читати, переносити і супроводжувати, він здебільшого написаний на C, але також є декілька функцій на асемблері, де це було необхідно (здебільшого у архітектурно-залежних процедурах планувальника задач).

FreeRTOS забезпечує методи для роботи з декількома нитками або задачами, м'ютексами, семафорами і таймерами. A режим з таймером без переривань є доступний для малопотужних застосувань. Є підтримка пріоритетів ниток. В додаток існує чотири схеми виділення пам'яті:

  • просте виділення пам'яті;
  • виділення і звільнення із застосування дуже простого, швидкого алгоритму;
  • більш складний і швидкий алгоритм виділення і звільнення пам'яті з об’єднанням пам'яті;
  • застосування методів бібліотеки C для виділення і звільнення пам'яті із деяким захистом взаємного виконання.

Примітки[ред. | ред. код]

  1. Історія версій FreeRTOS (англ.)
  2. 2011 Embedded Market Study. EE Times. Архів оригіналу за 2012-04-02. 
  3. Kolesnki, Sergey (2013-12-08). Comparing microcontroller real-time operating systems. «A kernel is not an RTOS, but this can be a confusing issue because of the inappropriate naming chosen for some popular kernels, ‘freeRTOS’ for example.» 
  4. Why RTOS and What Is RTOS?. Процитовано 29 August 2014. «What is FreeRTOS? … The size constraints, and dedicated end application nature, rarely warrant the use of a full RTOS implementation - or indeed make the use of a full RTOS implementation possible. FreeRTOS therefore provides the core real time scheduling functionality, inter-task communication, timing and synchronisation primitives only. This means it is more accurately described as a real time kernel, or real time executive. …» 
  5. FreeRTOS GPL exceptions.

Посилання[ред. | ред. код]