EKA2 (EPOC Kernel Architecture 2) - это ядро платформы Symbian второго поколения . [1]
Разработчики) | Symbian Foundation |
---|---|
Тип | Ядро ( микроядро ) |
Лицензия | Общественная лицензия Eclipse |
Веб-сайт | разработчик |
Как и его предшественник 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. [2]
Смотрите также
Рекомендации
- ^ «Внутреннее устройство ОС Symbian» . Архивировано из оригинала на 2011-01-21 . Проверено 4 мая 2011 .
- ^ Деннис Мэй - Соединенное Королевство | LinkedIn . Uk.linkedin.com. Проверено 9 декабря 2013.
Внешние ссылки
- https://web.archive.org/web/20091025051019/http://developer.symbian.org/wiki/index.php/Category%3AKernel_%26_Hardware_Services
- http://www.allaboutsymbian.com/news/item/10641_Symbian_Foundation_opensources.php
- https://web.archive.org/web/20090717151501/http://wiki.forum.nokia.com/index.php/EPOC_Kernel_Architecture_2
- http://media.wiley.com/product_data/excerpt/47/04700252/0470025247.pdf