EKA2

EKA2
EKA2
Developer(s) Symbian Foundation
Type Kernel (Microkernel)
License Eclipse Public License
Website http://developer.symbian.org/wiki/index.php/Category:Kernel_&_Hardware_Services

EKA2 (EPOC Kernel Architecture 2) is the second-generation Symbian platform kernel.[1]

Like its predecessor, EKA1, it has pre-emptive multithreading and full memory protection. The main differences are:

  • Real-time guarantees (each API call is quick, but more importantly, time-bound)
  • Multiple threads inside the kernel as well as outside
  • Pluggable memory models, allowing better support for later generations of ARM instruction set.
  • A "nanokernel" which provides the most basic OS facilities upon which other "personality layers" can be built

The user-side interface of EKA2 is almost completely compatible with EKA1 - though EKA1 has not been used since Symbian OS v8.1 (which was superseded in 2005)

The main advantage of EKA2 was its ability to run full telephone signalling stacks. Previously, on Symbian phones, these had to run on a separate CPU. Such signalling stacks are extremely complex and rewriting them to work natively on Symbian OS is typically not an option[citation needed]. EKA2 therefore allows "personality layers" to emulate the basic primitives of other operating systems, thus allowing existing signalling stacks to run largely unchanged.

Real-time guarantees are a pre-requisite of signalling stacks, and also help with multimedia tasks. However, as with any real-time operating system, a full analysis of all threads is required before any real-time guarantees can be offered to anything except the highest-priority thread. (Higher priority threads may prevent lower-priority threads from running). Any multimedia task is likely to involve graphics, storage and/or networking activity, all of which are more likely to disrupt the stream than the kernel is.

Inside the kernel, EKA1 only allowed a single thread (plus a 'null' idle thread). EKA2 allows many threads. This makes it much easier to write device drivers that involve complex state machines, such as those for memory sticks or USB. Interrupts are handled with an interrupt service routine, which may request an immediate deferred function call (called as soon as the interrupts are processed), or a deferred function call, which is queued to run on a kernel thread. Either may in turn communicate with user-side threads.

Power management in EKA2 was largely unchanged from EKA1. The exact scheme varies between phones, but generally the null thread puts the CPU and peripherals to sleep, after having requested a wake-up whenever the next timer is due to expire.

EKA2 runs on ARM CPUs and the "WINS" emulator. (Unofficial ports exist for other CPUs). On the emulator, EKA2 provides somewhat better emulation than EKA1, in particular for the RProcess APIs which Symbian OS uses to represent processes. In EKA1 they didn't work at all on the emulator, which runs as a single Windows process.

Much of the credit for EKA2 goes to a single Symbian kernel engineer, who began the project as an experiment many years before it became an official part of Symbian OS.[citation needed]

See also

  • Nanokernel

References

External links


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Сравнение устройств с Symbian — В данном списке представлено сравнение устройств, работающих под управлением операционных систем семейства Symbian. Содержание 1 S60 2 См. также 3 Примечания 4 …   Википедия

  • Comparison of Symbian devices — This is a list of devices that run on the open source Symbian platform mobile operating system (Symbian^1, Symbian^2, and Symbian^3), including their proprietary predecessors running on Symbian OS and EPOC. Model Type of device Brand Release year …   Wikipedia

  • Symbian OS — Infobox OS name = Symbian OS caption = developer = Symbian Ltd. source model = Shared kernel type = Microkernel supported platforms = ARM (can be emulatedFact|date=September 2008 on x86) ui = S60 platform, UIQ, MOAP family = Embedded operating… …   Wikipedia

  • Symbian OS — Разработчик Nokia Семейство ОС Symbian Последняя версия Nokia Belle …   Википедия

  • Symbian — OS Разработчик Symbian Семейство ОС Symbian Исходный код EPL Последняя версия 9.5 март 2007 Тип ядра Реального времени (Микроядро) Состояние актуальная Веб сайт …   Википедия

  • Symbian — This article is about the operating system. For other uses, see Symbian (disambiguation). Symbian Company / developer Accenture on behalf of Nokia [1] …   Wikipedia

  • EPOC — Symbian OS Symbian Entreprise/ Développeur Symbian ltd + Symbian Foundation Licence Future Eclipse Public Licence Dernière version stable 9.4 [+/−] …   Wikipédia en Français

  • Symbian OS — Langue Anglais, français, allemand, italien, portugais, espagnol et d autres État du projet annulé[1] Entreprise / Développeur Symbian ltd + Symbian Foundation Licence …   Wikipédia en Français

  • Symbian S60 — Symbian OS Symbian Entreprise/ Développeur Symbian ltd + Symbian Foundation Licence Future Eclipse Public Licence Dernière version stable 9.4 [+/−] …   Wikipédia en Français

  • Operating system — Operating systems …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”