ЭКА2
Эта статья нуждается в дополнительных цитатах для проверки . ( май 2007 г. ) |
Разработчик | Псион ООО "Симбиан". Фонд Симбиан Нокиа Аксенчер |
---|---|
Написано в | Язык ассемблера , C , затем C++ |
Семейство ОС | ХОБЛ ( Symbian ) |
Рабочее состояние | Снято с производства |
Исходная модель | Собственный и открытый исходный код |
Первоначальный выпуск | 2005 г |
Финальный выпуск | 10.1 / 2 октября 2012 г |
Маркетинговая цель | Мобильные телефоны |
Доступно в | Английский |
Платформы | РУКА |
ядра Тип | Микроядро реального времени |
Лицензия | Затмение Публичное |
Предшественник | ЕКА1 |
Официальный сайт | разработчик |
EKA2 ( EPOC Kernel Architecture 2 второго поколения Symbian платформы операционной системы реального времени ) — ядро , [1] который возник в более ранней операционной системе EPOC .
EKA2 началась с лицензии на проприетарное программное обеспечение . В октябре 2009 года оно было выпущено как бесплатное программное обеспечение с открытым исходным кодом под лицензией Eclipse Public License . [2] В апреле 2011 года ей была возвращена частная лицензия.
Как и его предшественник EKA1 , он имеет вытесняющую многопоточность и полную защиту памяти. Основные различия:
- Гарантии в реальном времени : каждый вызов интерфейса прикладного программирования ( API ) выполняется быстро, но, что более важно, ограничен по времени.
- Несколько потоков внутри ядра и снаружи
- Подключаемые модели памяти , обеспечивающие лучшую поддержку последующих поколений ARM архитектуры набора команд .
- Наноядро , предоставляющее самые базовые возможности ОС, на основе которых другие уровни личности . могут быть построены
EKA2 Пользовательский интерфейс практически полностью совместим с EKA1. EKA1 не использовался после версии Symbian OS 8.1 и был заменен в 2005 году.
Основным преимуществом EKA2 была его способность использовать полные стеки протоколов телефонной сигнализации . Раньше на телефонах Symbian они должны были работать на отдельном центральном процессоре (ЦП). Такие стеки сигнализации очень сложны, и переписать их для работы в ОС Symbian обычно невозможно. [ нужна ссылка ] Таким образом, EKA2 позволяет слоям личности эмулировать базовые примитивы других операционных систем, тем самым позволяя существующим стекам сигнализации работать практически без изменений.
Гарантии в реальном времени являются обязательным условием для стеков сигнализации, а также помогают решать мультимедийные задачи. Однако, как и в любой ОСРВ, необходим полный анализ всех потоков, прежде чем можно будет предложить какие-либо гарантии в реальном времени для чего-либо, кроме потока с наивысшим приоритетом; поскольку потоки с более высоким приоритетом могут препятствовать запуску потоков с более низким приоритетом. Любая мультимедийная задача, скорее всего, будет включать в себя работу с графикой, хранилищем и/или сетью, которые с большей вероятностью нарушат поток, чем ядро.
Внутри ядра EKA1 допускал только один поток (плюс нулевой простаивающий поток). EKA2 допускает множество потоков. Это значительно упрощает написание драйверов устройств , в которых задействованы сложные конечные автоматы , например драйверы для карт памяти SD или флэш-накопителей USB . Прерывания обрабатываются с помощью процедуры обслуживания прерываний , которая может запрашивать немедленный вызов отложенной функции (вызываемый сразу после обработки прерывания) или вызов отложенной функции , который ставится в очередь для выполнения в потоке ядра. Любой из них, в свою очередь, может взаимодействовать с потоками на стороне пользователя.
Управление питанием в EKA2 практически не изменилось по сравнению с EKA1. Точная схема варьируется в зависимости от телефона, но обычно нулевой поток переводит процессор и периферийные устройства в спящий режим после запроса пробуждения всякий раз, когда истекает срок следующего таймера.
EKA2 работает на процессорах с архитектурой ARM и эмуляторе WINS . Существуют неофициальные порты для других процессоров. В эмуляторе EKA2 обеспечивает несколько лучшую эмуляцию, чем EKA1, особенно для RProcess
API, которые Symbian OS использует для представления процессов . В ЕКА1 они вообще не работали на эмуляторе, который запускается как единый процесс Windows.
Большая заслуга в создании EKA2 принадлежит одному разработчику ядра Symbian, который начал этот проект как эксперимент за много лет до того, как он стал официальной частью Symbian OS. [3]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Внутреннее устройство ОС Symbian» . Архивировано из оригинала 21 января 2011 г. Проверено 4 мая 2011 г.
- ^ Бландфорд, Рэйф (22 октября 2009 г.). «Symbian Foundation открывает микроядро EKA2 с открытым исходным кодом» . Все о Symbian . Фонд Симбиан.
- ^ Деннис Мэй - Великобритания | ЛинкедИн . Великобритания.linkedin.com. Проверено 9 декабря 2013 г.
Внешние ссылки
[ редактировать ]- https://web.archive.org/web/20091025051019/http://developer.symbian.org/wiki/index.php/Category%3AKernel_%26_Hardware_Services
- 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