FreeRTOS (и другие ОСРВ) также является фреймворком

Как мы знаем, FreeRTOS - это операционная система реального времени.

Например, если мы возьмем объяснение из вики:

Framework.

FreeRTOS имеет то, что мы можем назвать «инверсией управления» - FreeRTOS контролирует все задачи, выполняемые программистом. Также FreeRTOS является расширяемым. Проблема с этим определением заключается в том, что мы берем «немодифицируемый код фреймворка» - FreeRTOS развертывается в основном как исходный код для пользовательского проекта - вы можете его изменить.

FreeRTOS - это фреймворк? А есть ли более подходящие определения для фреймворков?


person Sławomir Kozok    schedule 18.07.2017    source источник
comment
Поскольку Framework - это концепция, вам нужно спросить Framework для чего? FreeRTOS может быть частью инфраструктуры, например, для предоставления среды разработки приложений операционной системы в реальном времени.   -  person Richard Critten    schedule 18.07.2017


Ответы (1)


Нет, FreeRTOS, как и большинство других ядер RTOS, - это просто набор инструментов, а не фреймворк. Это связано с тем, что вам необходимо записывать тело каждой задачи, как правило, в виде бесконечного цикла. Затем вы решаете, какие механизмы блокировки RTOS (семафоры, временные задержки, флаги событий и т. Д.) Использовать, чтобы «задросселировать» выполнение тела вашей задачи.

Во фреймворке вы обычно этого не делаете. Фреймворк предоставит основную часть ваших задач, а также предоставит механизм блокировки. Например, инфраструктура может структурировать каждую задачу как цикл событий (также известный как «насос сообщений») с очередью сообщений. Затем платформа вызовет ваш код для обработки каждого события. Так происходит инверсия управления (определяющая характеристика фреймворка).

Обратите внимание, что ОСРВ может использоваться как компонент инфраструктуры, но сама ОСРВ не является каркасом.

person Miro Samek    schedule 28.07.2017