| 開発者 | Psion Symbian Ltd. Symbian Foundation Nokia Accenture |
|---|---|
| 書かれた | アセンブリ言語、C、そしてC++ |
| OSファミリー | EPOC (シンビアン) |
| 作業状態 | 製造中止 |
| ソースモデル | 独自仕様とオープンソース |
| 初回リリース | 2005年 |
| 最終リリース | 10.1 / 2012年10月2日 |
| マーケティングターゲット | 携帯電話 |
| 利用可能 | 英語 |
| プラットフォーム | アーム |
| カーネルタイプ | マイクロカーネル リアルタイム |
| ライセンス | エクリプスパブリック |
| 先行 | EKA1 |
| 公式サイト | developer.symbian.org/wiki/index.php/Category:Kernel_&_Hardware_Services |
EKA2(EPOCカーネルアーキテクチャ2 )は、 Symbianプラットフォームの第2世代リアルタイムオペレーティングシステム カーネルであり、[1]以前のオペレーティングシステムEPOCに由来しています。
EKA2は当初はプロプライエタリなソフトウェアライセンスでした。2009年10月にEclipse Public Licenseの下でフリーかつオープンソースのソフトウェアとしてリリースされました。[2] 2011年4月にプロプライエタリなライセンスに戻されました。
前身のEKA1と同様に、プリエンプティブマルチスレッドと完全なメモリ保護を備えています。主な違いは次のとおりです。
- リアルタイム保証:各アプリケーションプログラミングインターフェース(API)呼び出しは高速ですが、さらに重要なのは、時間制限があることです。
- カーネル内とカーネル外の複数のスレッド
- プラグ可能なメモリ モデルにより、後世代のARM 命令セット アーキテクチャをより適切にサポートできます。
- 他のパーソナリティ層を構築するための最も基本的なOS機能を提供するナノカーネル
EKA2 のユーザー インターフェイスはEKA1とほぼ完全に互換性があります。EKA1 は Symbian OS バージョン 8.1 以降では使用されなくなり、2005 年に置き換えられました。
EKA2 の主な利点は、完全な電話シグナリングプロトコル スタックを実行できることです。以前の Symbian 電話で、これらは別の中央処理装置(CPU) で実行する必要がありました。このようなシグナリング スタックは非常に複雑で、Symbian OS でネイティブに動作するように書き直すことは通常オプションではありません。[要出典] EKA2 では、パーソナリティ レイヤーが他のオペレーティング システムの基本プリミティブをエミュレートできるため、既存のシグナリング スタックをほとんど変更せずに実行できます。
リアルタイム保証はシグナリング スタックの前提条件であり、マルチメディア タスクにも役立ちます。ただし、他の RTOS と同様に、最高優先度のスレッド以外のスレッドにリアルタイム保証を提供するには、すべてのスレッドを完全に分析する必要があります。これは、優先度の高いスレッドによって優先度の低いスレッドの実行が妨げられる可能性があるためです。マルチメディア タスクには、グラフィックス、ストレージ、および/またはネットワーク アクティビティが含まれる可能性が高く、これらはすべて、カーネルよりもストリームを中断させる可能性が高くなります。
カーネル内では、EKA1 では 1 つのスレッド (および 1 つのヌルアイドル スレッド) のみが許可されていました。EKA2 では、多くのスレッドが許可されます。これにより、SD カードメモリ スティックやUSB フラッシュ ドライブなどの複雑な有限状態マシンを含むデバイス ドライバーの作成がはるかに簡単になります。割り込みは、割り込みサービス ルーチンで処理されます。割り込みサービス ルーチンは、即時の遅延関数呼び出し(割り込みが処理されるとすぐに呼び出される) または遅延関数呼び出し(カーネル スレッドで実行するためにキューに入れられる) を要求する場合があります。どちらも、ユーザー側のスレッドと通信する場合があります。
EKA2 の電源管理は EKA1 からほとんど変更されていません。正確なスキームは電話機によって異なりますが、一般的には、次のタイマーが期限切れになるたびに、ヌル スレッドがウェイクアップを要求した後、CPU と周辺機器をスリープ状態にします。
EKA2 は、 ARM アーキテクチャCPU およびWINSエミュレータ上で動作します。他の CPU 用の非公式ポートが存在します。エミュレータ上では、EKA2 は EKA1 よりもやや優れたエミュレーションを提供します。特に、 Symbian OS がプロセスをRProcess表すために使用する APIに関しては優れています。EKA1 では、単一の Windows プロセスとして実行されるエミュレータ上では、これらの API はまったく動作しませんでした。
EKA2の功績の多くは、Symbian OSの正式な一部となる何年も前に実験としてプロジェクトを開始した一人のSymbianカーネルエンジニアによるものです。[3]
参照
参考文献
- ^ 「Symbian OS Internals」。2011年1月21日時点のオリジナルよりアーカイブ。2011年5月4日閲覧。
- ^ Blandford, Rafe (2009 年 10 月 22 日)。「Symbian Foundation が EKA2 マイクロカーネルをオープンソース化」。All About Symbian。Symbian Foundation。
- ^ Dennis May - 英国 | LinkedIn. Uk.linkedin.com. 2013年12月9日閲覧。
外部リンク
- 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
