Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 See also  





2 References  





3 External links  














EKA2







 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


EKA2
DeveloperPsion
Symbian Ltd.
Symbian Foundation
Nokia
Accenture
Written inAssembly language, C, then C++
OS familyEPOC (Symbian)
Working stateDiscontinued
Source modelProprietary and Open 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
Kernel typeMicrokernel Real-time
LicenseEclipse Public
Preceded byEKA1
Official websitedeveloper.symbian.org/wiki/index.php/Category:Kernel_&_Hardware_Services

EKA2 (EPOC Kernel Architecture 2) is the second-generation Symbian platform real-time operating system kernel,[1] which originated in the earlier operating system EPOC.

EKA2 began with a proprietary software license. In October 2009, it was released as free and open-source software under an Eclipse Public License.[2] In April 2011, it was reverted to a proprietary license.

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

The user interface of 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 signalling protocol stacks. Previously, on Symbian phones, these had to run on a separate central 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 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 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 a null idle thread). EKA2 allows many threads. This makes it much easier to write device drivers that involve complex finite-state machines, such as those for SD card memory sticks or USB flash drives. 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 architecture CPUs and the WINS emulator. Unofficial ports exist for other CPUs. On the emulator, EKA2 provides somewhat better emulation than EKA1, more so 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.[3]

See also[edit]

References[edit]

  1. ^ "Symbian OS Internals". Archived from the original on 2011-01-21. Retrieved 2011-05-04.
  • ^ Blandford, Rafe (October 22, 2009). "Symbian Foundation opensources EKA2 microkernel". All About Symbian. Symbian Foundation.
  • ^ Dennis May - United Kingdom | LinkedIn. Uk.linkedin.com. Retrieved on 2013-12-09.
  • External links[edit]


    Retrieved from "https://en.wikipedia.org/w/index.php?title=EKA2&oldid=1210085703"

    Categories: 
    Symbian OS
    Operating system kernels
    Nanokernels
    2005 software
    Hidden categories: 
    Articles with short description
    Short description is different from Wikidata
    Articles needing additional references from May 2007
    All articles needing additional references
    All articles with unsourced statements
    Articles with unsourced statements from August 2011
     



    This page was last edited on 24 February 2024, at 23:07 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki