エンベデッドシステムスペシャリスト 2024年 午前2 問01
問題文
各ソフトウェアモジュールからアクセスできるハードウェアリソースやメモリ領域の範囲を適切に制限するために、4段階の特権レベル(EL0〜3)をもつCPUがある。ELの次の数字が大きいほど高い特権レベルであるとき、各特権レベルにソフトウェアモジュールを適切に割り当てているものはどれか。

選択肢
ア:
イ:(正解)
ウ:
エ:
🔒 解説は解答すると表示されます
CPUの特権レベル配置【午前2解説】
正解の理由
正しい割当てはイです。ELの数字が大きいほど特権レベルが高いため、一般にソフトウェアは次のように配置されます。
ユーザーアプリケーションは、OSやハードウェア資源を直接操作できないよう、最も低いEL0で動作します。OSはEL1、仮想マシンを管理するハイパーバイザーはEL2で動作し、セキュアモニタなどのファームウェアは最も高いEL3に配置されます。
このように、特権の強さと各ソフトウェアの役割が対応しているのはイです。
解法ステップ
-
EL番号と特権の関係を確認します。
この問題では、数字が大きいほど特権レベルが高いとされています。 -
最も低いEL0にユーザーアプリケーションを置きます。
アプリケーションの誤動作などが、OSやハードウェア全体に影響するのを防ぐためです。 -
OS、ハイパーバイザー、ファームウェアを順に配置します。
OSはEL1、ハイパーバイザーはEL2、セキュアモニタなどはEL3です。 -
表と照合します。
この順序に一致する選択肢はイです。
選択肢別の誤答解説
- ア:ユーザーアプリケーションをEL1、OSをEL3に配置しています。アプリケーションよりOSのほうが高い特権を必要とするため、配置が逆です。また、ファームウェア/セキュアモニタをEL0に置くのも誤りです。
- イ:EL0からEL3へ、ユーザーアプリケーション、OS、ハイパーバイザー、ファームウェア/セキュアモニタの順に特権が高くなっており、適切です。
- ウ:ハイパーバイザーとOSの位置が逆です。仮想化環境を管理するハイパーバイザーは、ゲストOSより高い特権をもつEL2で動作します。
- エ:ハイパーバイザーとファームウェア/セキュアモニタが低いレベルに置かれ、OSが最も高いEL3にあります。特権の順序が不適切です。
よくある誤解
-
ELの数字が小さいほど高特権だと思う
この問題では「数字が大きいほど高特権」と明示されています。EL0が最も低く、EL3が最も高い順に整理します。 -
ハイパーバイザーとOSの順序を取り違える
ハイパーバイザーは仮想マシンやゲストOSを管理するため、OSより高い特権レベルのEL2に配置されます。 -
ファームウェアをOSより低いレベルに置く
セキュアモニタなどは特権レベルの高いEL3で動作します。
補足コラム
EL0〜EL3は、ARMアーキテクチャで使われる例外レベルです。各レベルはソフトウェアが実行できる操作を分け、権限のないメモリ領域やハードウェア資源へのアクセスを制限するために使われます。
特に、仮想化支援ではEL2が重要です。ハイパーバイザーがEL2で動作し、EL1で動作するゲストOSを管理します。EL3はセキュア状態と非セキュア状態の切替えなどを扱います。
FAQ
Q. EL0のアプリケーションは、OSの機能を一切利用できないのですか?
A. いいえ。システムコールなどを通じてOSに処理を依頼できます。ただし、アプリケーションがOSの権限を直接使えるわけではありません。
A. いいえ。システムコールなどを通じてOSに処理を依頼できます。ただし、アプリケーションがOSの権限を直接使えるわけではありません。
Q. すべてのCPUでEL0〜EL3のすべてが使われますか?
A. 実際に利用できるレベルや構成は、CPUの機能やシステムの設計によって異なります。この問題では、提示された4段階の役割分担に従って判断します。
A. 実際に利用できるレベルや構成は、CPUの機能やシステムの設計によって異なります。この問題では、提示された4段階の役割分担に従って判断します。
関連キーワード: ARM例外レベル、EL0、EL1、EL2、EL3、ハイパーバイザー、セキュアモニタ、特権レベル

\ せっかくなら /
エンベデッドシステムスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

