Какой тип ядра использует RTOS eCos? - PullRequest
0 голосов
/ 06 декабря 2018

Из моих исследований я не могу найти, какой тип ядра используется в eCos, например, монолитное или микроядерное.Все, что я смог найти в своих исследованиях, это то, что ядро ​​работает в режиме реального времени, или веб-сайты просто описывают его как ядро ​​eCos, означает ли это, что это ядро, сделанное на заказ?

Что я знаю об eCos, так это то, что это жесткая ОСРВ, хотя она несколько уязвима с точки зрения безопасности и использует приоритетное планирование на основе очередей.

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

A micro-kernel - это:

... почти минимальное количество программного обеспечения, которое может обеспечить механизмы, необходимые для реализации операционной системы (ОС).Эти механизмы включают в себя низкоуровневое управление адресным пространством, управление потоками и межпроцессное взаимодействие (IPC).( Википедия 11 декабря 2018 )

Ядро eCos описано в Справочном руководстве , таким образом:

Это обеспечиваетОсновные функциональные возможности, необходимые для разработки многопоточных приложений:

  1. Возможность создавать новые потоки в системе, либо во время запуска, либо когда система уже запущена.

  2. Контроль над различными потоками в системе, например, манипулирование их приоритетами.

  3. Выбор планировщиков, определяющих, какой поток должен в данный момент выполняться.

  4. Диапазон примитивов синхронизации, позволяющих потокам безопасно взаимодействовать и обмениваться данными.

  5. Интеграция с системной поддержкой прерываний и исключений.

При сравнении этих описаний вполне понятно микроядро.Другие сервисы, предоставляемые eCos, такие как файловые системы, сетевые драйверы и драйверы устройств, являются внешними и отделимы от ядра.Другими словами, вы можете развернуть ядро ​​без таких сервисов, и оно остается жизнеспособным.

В монолитном ядре эти сервисы трудно или невозможно разделить, поскольку они являются неотъемлемой частью целого.В отличие от eCos и большинства других ОСРВ, они плохо масштабируются для небольших аппаратных платформ, распространенных во встроенных системах.Монолитные ядра подходят для настольных и универсальных вычислительных платформ, поскольку сами платформы являются монолитными - ПК без файловой системы, дисплея, клавиатуры и т. Д. На самом деле не является жизнеспособным, тогда как во встроенной системе это не так.

Хотя Linux и даже Windows используются во встроенных системах, микроядро можно развернуть на платформах с несколькими десятками килобайт памяти, тогда как для минимального встроенного Linux, например, требуется несколько мегабайт и будет включать в себя большое количество кода, который ваше приложение может никогда не использовать.

В конечном счете, различие, возможно, не имеет значения, как и терминология.Что есть, то есть.Вы выбираете не свое ядро ​​или операционную систему по этим критериям, а выбираете, предоставляет ли она необходимые вам службы, работает ли она на вашей цели и вписывается в доступный ресурс.

0 голосов
/ 06 декабря 2018

Я думаю, что это монолитное ядро.Если вы просматриваете эту страницу: http://ecos.sourceware.org/getstart.html

Используется вместо ядра Linux и поддержки ядра Linux в монолитных ядрах.Кроме того, если бы это было микроядро, они бы выделили тип ядра, например, тип ядра QNX, то есть микроядро

.
...