EKA2

редактировать
EKA2
Developer (s) Symbian Foundation
Тип Kern el (Microkernel )
Лицензия Общественная лицензия Eclipse
Веб-сайтразработчик.symbian.org / wiki / index.php / Категория: Ядро _ _ Аппаратное обеспечение _Services

EKA2 (EPOC Kernel Architecture 2) - это платформа Symbian второго поколения Ядро.

Как и его предшественник, EKA1, оно имеет упреждающую многопоточность и полную защиту памяти. Основные отличия:

  • Гарантии в реальном времени (каждый вызов API выполняется быстро, но, что более важно, ограничен по времени)
  • Несколько потоков внутри ядра, а также за его пределами
  • Подключаемые модели памяти, обеспечивающие лучшую поддержку для более поздних поколений набора инструкций ARM .
  • «наноядро», которое предоставляет самые основные возможности ОС, на которых работают другие «уровни личности» "может быть построен

Пользовательский интерфейс EKA2 почти полностью совместим с EKA1 - хотя EKA1 не использовался с Symbian OS v8.1 (которая была заменена в 2005 году).

Основным преимуществом EKA2 была его способность запускать полные стеки телефонной сигнализации . Раньше на телефонах Symbian они должны были работать на отдельном процессоре. Такие сигнальные стеки чрезвычайно сложны, и переписывание их для работы в ОС Symbian обычно не вариант. Таким образом, EKA2 позволяет «уровням личности» имитировать базовые примитивы других операционных систем, позволяя таким образом существующим стекам сигнализации работать практически без изменений.

Гарантии в реальном времени являются предпосылкой для сигнальных стеков, а также помогают при решении мультимедийных задач. Однако, как и в любой операционной системе реального времени, требуется полный анализ всех потоков, прежде чем какие-либо гарантии в реальном времени могут быть предложены чему-либо, кроме потока с наивысшим приоритетом. (Потоки с более высоким приоритетом могут препятствовать запуску потоков с более низким приоритетом). Любая мультимедийная задача, вероятно, будет включать в себя работу с графикой, памятью и / или сетью, и все это с большей вероятностью нарушит поток, чем ядро.

Внутри ядра EKA1 допускает только один поток (плюс «ноль»). EKA2 допускает множество потоков. Это значительно упрощает написание драйверов устройств, включающих сложные конечные автоматы, например, для карт памяти или USB. Прерывания обрабатываются с помощью подпрограммы обслуживания прерывания , которая может запрашивать немедленный отложенный вызов функции (вызывается, как только прерывания обрабатываются), или отложенный вызов функции, который ставится в очередь для выполнения в потоке ядра. Любой из них, в свою очередь, может взаимодействовать с потоками на стороне пользователя.

Управление питанием в EKA2 практически не изменилось по сравнению с EKA1. Точная схема варьируется в зависимости от телефона, но обычно нулевой поток переводит ЦП и периферийные устройства в спящий режим после запроса пробуждения, когда истечет следующий таймер.

EKA2 работает на процессорах ARM и эмуляторе «WINS». (Неофициальные порты существуют для других процессоров). В эмуляторе EKA2 обеспечивает несколько лучшую эмуляцию, чем EKA1, в частности, для API RProcess, которые Symbian OS использует для представления процессов. В EKA1 они вообще не работали на эмуляторе, который работает как единый процесс Windows.

Большая заслуга в EKA2 принадлежит одному инженеру ядра Symbian, который начал проект как эксперимент за много лет до того, как он стал официальной частью Symbian OS.

См. Также
  • Портал бесплатного программного обеспечения с открытым исходным кодом
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-18 14:53:41
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте