クリティカルセクション
Critical Section
くりてぃかるせくしょん
複数のタスクが共有資源へ同時にアクセスすると不整合を起こすため、同時に1つのタスクしか実行してはならない処理区間。セマフォやミューテックスで排他制御する。区間を長く取りすぎると応答性が下がる。
Past Exams
過去問での出題
過去問で 1 回出題(エンベデッドシステムスペシャリスト試験 1)
出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。「選択肢」は、問題文ではなく選択肢に出たものです。用語名で照合しているため、関係の薄い問題が含まれることがあります。
Related
関連キーワードの用語
共有資源に複数のタスクが同時にアクセスしないよう、一度に1つのタスクだけに使用を許す制御。セマフォやミューテックスで実現する。優先度逆転やデッドロックを招かないよう、獲得順序と優先度継承の設計が要る。
RTOSにおけるプログラムの実行単位。各タスクは独立した実行コンテキスト(プログラムカウンタ、スタック、レジスタ)を持つ。実行状態(RUNNING)、実行可能状態(READY)、待ち状態(WAITING)、休止状態(DORMANT)などの状態を遷移する。
実行中のタスクの状態(レジスタ、プログラムカウンタ、スタックポインタ等)を保存し、次に実行するタスクの状態を復元してCPUの実行を切り替える処理。コンテキストスイッチの所要時間はRTOSの性能指標の一つである。
共有資源へのアクセスを制御するための同期機構。カウンティングセマフォ(カウンタで管理)とバイナリセマフォ(0/1で管理)がある。P操作(取得/Wait)とV操作(解放/Signal)で資源の排他制御を行う。
相互排他(Mutual Exclusion)のための同期機構。バイナリセマフォと似ているが、所有権の概念を持ち、ロックしたタスクのみがアンロックできる。優先度逆転問題への対策として優先度継承プロトコルをサポートするものが多い。
RTOSにおけるタスクの状態変化。典型的には実行状態(RUNNING)、実行可能状態(READY)、待ち状態(WAITING/BLOCKED)、休止状態(DORMANT/SUSPENDED)の4状態を持つ。ディスパッチャがREADYからRUNNINGへの遷移を管理し、I/O待ちやセマフォ待ちでWAITINGに遷移する。
