| EKA2 | |
|---|---|
| 開発者 | Psion Symbian Ltd. Symbian Foundation Nokia Accenture |
| 書かれた | アセンブリ言語、C、そしてC++ |
| OSファミリー | EPOC (シンビアン) |
| 作業状態 | 製造中止 |
| ソースモデル | 独自仕様とオープンソース |
| 初回リリース | 2005 (2005年) |
| 最終リリース | 10.1 / 2012年10月2日 (2012年10月2日) |
| マーケティングターゲット | 携帯電話 |
| 入手可能な | 英語 |
| サポートされているプラットフォーム | アーム |
| カーネルタイプ | マイクロカーネルリアルタイム |
| ライセンス | エクリプスパブリック |
| 先行 | EKA1 |
| 公式サイト | 開発者 |
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では、これらのAPIは単一のWindowsプロセスとして動作するエミュレータ上では全く動作しませんでした。
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