鷲になれなかったトリ

翼があれば飛び立てる。

エンベデッドシステムスペシャリスト試験対策(6) - リアルタイムOSの機能

22日目。続きです。

第2部 第7章 リアルタイムOSの機能

用語の整理

割込みハンドラ

実行中のタスクを中断し、処理させたいタスクを割り込ませて行う。キーボードなどの外部入力に対してすぐ対応できるようにするためにはいつでも割り込みできるようにしておく。
割込み処理として、マシンチェック割込み、入出力割込み、外部割込み、プログラム割込み、スーパバイザコール割込みなどがある。 プログラムが起点になる割込み(プログラム割込みやスーパバイザコール割込み)などは内部割込みに分類される。

リアルタイムOSにおける)コンテキスト

タスク実行に必要なレジスタやプログラムモード(特権モード、非特権モード)、プログラムカウンタなどの環境情報であり、タスクを中断するときはコンテキストを一時保存し、タスク再開時に切り替えられるようになっている(コンテキストスイッチ)。

スレッド、プロセス

プログラムを動かすための器となるのがプロセスで、そのプロセス内でスレッドが実行される。
プロセス内のスレッドは同じアドレス空間を共有するため、スレッド間の通信では切替えのオーバヘッドが少ないが、プロセス間の通信ではアドレス空間の切替えが必要となる。

(プロセス制御における)プリエンプティブ方式

実行中のプロセスからCPUを奪って別のプロセスにCPUを割り当てる方式。
逆にプロセス終了までCPU割り当てを待つやり方はノンプリエンプティブ方式。

セマフォ

共有資源を同時使用を禁止する(排他制御)ために用いられる仕組み。
資源の使用状況を変数で管理し、使用側の占有開始(P操作)、占有終了(V操作)の操作によって変数を更新する。 セマフォだけでは、デッドロック(共有資源使用の競合)は防げないため、プログラム側で資源獲得順序を守る必要がある。
セマフォの変数値の持ち方によってバイナリセマフォ、ゼネラルセマフォなどに分かれる。

所感

参考資料によると出題としては減少傾向にあるようなので、さらっと流してまとめました。 必要であれば知識を継ぎ足していく感じで行ってみます。

参考資料

  • エンベデッドシステムスペシャリスト「専門知識+午後問題」の重点対策 第4版