Jump to content

EKA2

From Wikipedia, the free encyclopedia
EKA2
DeveloperPsion
Symbian Ltd.
Symbian Foundation
Nokia
Accenture
Written inAssembly language,C,thenC++
OS familyEPOC(Symbian)
Working stateDiscontinued
Source modelProprietaryandOpen source
Initial release2005;19 years ago(2005)
Final release10.1 / October 2, 2012;11 years ago(2012-10-02)
Marketing targetMobile phones
Available inEnglish
PlatformsARM
KerneltypeMicrokernelReal-time
LicenseEclipse Public
Preceded byEKA1
Official websitedeveloper.symbian.org/wiki/index.php/Category:Kernel_&_Hardware_Services

EKA2(EPOC Kernel Architecture 2) is the second-generationSymbianplatformreal-time operating systemkernel,[1]which originated in the earlier operating systemEPOC.

EKA2 began with aproprietary softwarelicense. In October 2009, it was released asfree and open-source softwareunder anEclipse Public License.[2]In April 2011, it was reverted to a proprietary license.

Like its predecessor,EKA1,it haspreemptivemultithreading and full memory protection. The main differences are:

  • Real-timeguarantees: each application programming interface (API) call is fast, but more importantly, time-bound
  • Multiplethreadsinside the kernel, and outside
  • Pluggablememory models,allowing better support for later generations ofARMinstruction set architecture.
  • Ananokernelwhich provides the most basic OS facilities upon which otherpersonality layerscan be built

Theuser interfaceof EKA2 is almost fully compatible with EKA1. EKA1 was not used after Symbian OS version 8.1, and was superseded in 2005.

The main advantage of EKA2 was its ability to run full telephone signallingprotocol stacks.Previously, on Symbian phones, these had to run on a separatecentral processing unit(CPU). Such signalling stacks are very complex and rewriting them to work natively on Symbian OS is typically not an option.[citation needed]EKA2 thus allowspersonality layersto emulate the basic primitives of other operating systems, thus allowing existing signalling stacks to run largely unchanged.

Real-time guarantees are a prerequisite of signalling stacks, and also help with multimedia tasks. However, as with any RTOS, a full analysis of all threads is needed before any real-time guarantees can be offered to anything except the highest-priority thread; because 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 one thread (plus anullidle thread). EKA2 allows many threads. This makes it much easier to writedevice driversthat involve complexfinite-state machines,such as those forSD cardmemory sticks orUSB flash drives.Interrupts are handled with aninterrupt service routine,which may request animmediate deferred function call(called as soon as the interrupts are processed), or adeferred 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 andperipheralsto sleep, after having requested a wake-up whenever the next timer is due to expire.

EKA2 runs onARM architectureCPUs and theWINSemulator. Unofficial ports exist for other CPUs. On the emulator, EKA2 provides somewhat better emulation than EKA1, more so for theRProcessAPIs which Symbian OS uses to representprocesses.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.[3]

See also

[edit]

References

[edit]
  1. ^"Symbian OS Internals".Archived fromthe originalon 2011-01-21.Retrieved2011-05-04.
  2. ^Blandford, Rafe (October 22, 2009)."Symbian Foundation opensources EKA2 microkernel".All About Symbian.Symbian Foundation.
  3. ^Dennis May - United Kingdom | LinkedIn.Uk.linkedin. Retrieved on 2013-12-09.
[edit]