エンベデッドシステムスペシャリスト暗記無料で始める

システムコールと特権モードとは?しすてむこーるととっけんもーど

システムコールと特権モードとは、入出力命令やメモリ保護の設定など、ハードウェアを直接動かす命令はCPUの特権モード(カーネルモード)でしか実行できず、アプリは利用者モードで走る。その壁を越えて処理を頼む唯一の入口がシステムコールで、呼び出しの間だけモードが上がって戻る。OSが資源を守れるのはこの壁があるため。

最終更新:2026-10-06

試験情報

エンベデッドシステムスペシャリスト試験の頻出用語/午前II

エンベデッドSPを最短で暗記・合格する →

背景

どのプログラムからでもハードを直接叩ける構造では、1本のバグが他の全部を巻き込む。特権を持つ命令をOSだけに限り、アプリは決められた入口からしか頼めないようにすれば、被害を呼出し元へ閉じ込められる。ただし保護には切替えの代償があり、MMUを持たないMCUではそもそもこの分離が無く、全タスクが特権で動く構成も普通にある。

具体例

Arm Cortex-MではSVC命令でハンドラモードへ移り、RTOSのサービスコールを処理する。特権と非特権の分離をMPUの設定と組み合わせれば、アプリタスクが他タスクのスタックを壊した時点で検出できる。分離を入れるほど切替えのオーバヘッドが増えるため、周期の短い処理では入れない判断もある。

試験での引っ掛け

ライブラリ関数の呼出し=システムコールではない。文字列操作のように利用者モード内で完結する関数はモード遷移を伴わない。またモード遷移はプロセス切替えとは別物で、同じプロセスのまま特権レベルだけが変わる。割込みハンドラも特権側で動くが、こちらはアプリからの依頼ではなくハード起因という違いがある。

関連用語

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

エンベデッドSPを最短で暗記・合格する →

試験での特徴
  • 分野:午前II
  • ライブラリ関数の呼出し=システムコールではない。