EKA2 ( EPOC Kernel Architecture 2 ) ist der Echtzeitbetriebssystemkernel der zweiten Generation der Symbian- Plattform [ 1 ] , der aus dem früheren Betriebssystem EPOC hervorgegangen ist .

EKA2 wurde ursprünglich unter einer proprietären Softwarelizenz veröffentlicht. Im Oktober 2009 wurde es als freie und Open-Source-Software unter der Eclipse Public License (EPL) freigegeben . [ 2 ] Im April 2011 wurde es wieder unter einer proprietären Lizenz veröffentlicht.

Wie sein Vorgänger EKA1 verfügt es über präemptives Multithreading und vollständigen Speicherschutz. Die Hauptunterschiede sind:

  • Echtzeitgarantien : Jeder Aufruf der Anwendungsprogrammierschnittstelle ( API ) ist schnell, aber vor allem zeitgebunden.
  • Mehrere Threads innerhalb des Kernels und außerhalb
  • Austauschbare Speichermodule ermöglichen eine bessere Unterstützung späterer Generationen der ARM -Befehlssatzarchitektur .
  • Ein Nanokernel , der die grundlegendsten Betriebssystemfunktionen bereitstellt, auf denen weitere Persönlichkeitsschichten aufgebaut werden können.

Die Benutzeroberfläche von EKA2 ist nahezu vollständig kompatibel mit EKA1. EKA1 wurde nach Symbian OS Version 8.1 nicht mehr verwendet und im Jahr 2005 abgelöst.

Der Hauptvorteil von EKA2 lag in seiner Fähigkeit, vollständige Telefonsignalisierungsprotokollstapel auszuführen . Auf Symbian-Telefonen mussten diese zuvor auf einer separaten CPU laufen . Solche Signalisierungsstapel sind sehr komplex, und ihre Neuentwicklung für den nativen Betrieb unter Symbian OS ist in der Regel keine Option. EKA2 ermöglicht es daher den Benutzeroberflächen , die grundlegenden Funktionen anderer Betriebssysteme zu emulieren, sodass bestehende Signalisierungsstapel weitgehend unverändert weiterlaufen können.

Echtzeitgarantien sind eine Voraussetzung für Signalisierungsstapel und erleichtern auch Multimedia-Aufgaben. Wie bei jedem Echtzeitbetriebssystem (RTOS) ist jedoch eine vollständige Analyse aller Threads erforderlich, bevor Echtzeitgarantien für andere Threads als den Thread mit der höchsten Priorität gegeben werden können. Threads mit höherer Priorität können nämlich die Ausführung von Threads mit niedrigerer Priorität verhindern. Jede Multimedia-Aufgabe beinhaltet wahrscheinlich Grafik-, Speicher- und/oder Netzwerkaktivitäten, die den Datenstrom eher stören als der Kernel.

Innerhalb des Kernels erlaubte EKA1 nur einen Thread (plus einen Leerlaufthread ). EKA2 hingegen erlaubt mehrere Threads. Dies vereinfacht die Entwicklung von Gerätetreibern mit komplexen endlichen Automaten , wie beispielsweise für SD-Karten oder USB-Sticks, erheblich. Interrupts werden über eine Interrupt-Service-Routine behandelt , die entweder einen sofortigen Funktionsaufruf (der direkt nach der Verarbeitung des Interrupts ausgeführt wird) oder einen verzögerten Funktionsaufruf anfordert , der in einer Warteschlange zur Ausführung in einem Kernel-Thread eingereiht wird. Beide können wiederum mit Benutzer-Threads kommunizieren.

Das Energiemanagement in EKA2 blieb gegenüber EKA1 weitgehend unverändert. Das genaue Schema variiert je nach Telefon, aber im Allgemeinen versetzt der Null-Thread die CPU und die Peripheriegeräte in den Schlafmodus, nachdem er ein Aufwachen angefordert hat, sobald der nächste Timer abläuft.

EKA2 läuft auf ARM-Architektur- CPUs und dem WINS -Emulator. Inoffizielle Portierungen für andere CPUs existieren. Im Emulator bietet EKA2 eine etwas bessere Emulation als EKA1, insbesondere hinsichtlich der APIs, die Symbian OS zur Darstellung von ProzessenRProcess verwendet . In EKA1 funktionierten diese APIs im Emulator, der als einzelner Windows-Prozess ausgeführt wird, überhaupt nicht.

Ein Großteil des Verdienstes für EKA2 gebührt einem einzelnen Symbian-Kernel-Entwickler, der das Projekt viele Jahre vor seiner offiziellen Integration in Symbian OS als Experiment begann. [ 3 ]

Siehe auch

Referenzen

  1. ^ „Symbian OS Internals“ . Archiviert vom Original am 21.01.2011 . Abgerufen am 04.05.2011 .
  2. ^ Blandford, Rafe (22. Oktober 2009). „Symbian Foundation veröffentlicht EKA2-Mikrokernel als Open Source“ . All About Symbian . Symbian Foundation.
  3. ^ Dennis May – Vereinigtes Königreich | LinkedIn . Uk.linkedin.com. Abgerufen am 09.12.2013.