目次:
定義-クリティカルセクションルーチン(CSR)とはどういう意味ですか?
クリティカルセクションルーチン(CSR)は、他のプロセスが同時に実行できないように、プロセスが排他ロックを取得するコードのセクションです。 多くの場合、1つまたは複数のプロセスがオペレーティングシステムで同時に実行され、これらのプロセスがファイルとリソースへのアクセスについて互いに競合することを強制します。 リソースに関連するコードの一部が実行されている間は、1つのプロセスのみがリソースにアクセスできます。
他のプロセスが待機している間にCSRのプロセスが失敗しないようにするために、プロセス管理コンポーネントによって制限時間が設定されます。 したがって、プロセスは、限られた時間だけ排他ロックにアクセスできます。
Techopediaはクリティカルセクションルーチン(CSR)について説明します
CSRを実装するための主な要件は次のとおりです。
- 相互排除:プロセスがCSRで実行されている場合、他のプロセスは入力できません。
- 進行状況:CSRでプロセスが実行されておらず、それを入力したいプロセスがいくつかある場合、一定の時間内に実行できます。 プロセスの1つがCSRに入り、他のプロセスが待機します。
- 制限された待機:プロセスがCSRの入力を要求し、要求が許可される前に、この期間中にCSRの入力を待機しているプロセスの数に上限がなければなりません。 CSRに入る順番を取得します。
特定のコード内のCSRは、次のプロパティで識別できます。
- コードの特徴は、読み取り/書き込み/更新の一連の操作です。
- コードのセクションは、別のコードの変数を変更します。これは、読み取り/書き込み/更新の一連の操作を実行します。
- 他のコードのデータ構造を変更してアクセスするコード、または他のプロセスによって変更される可能性のあるデータ構造を使用するコードの存在。
クリティカルセクションの概念は、割り込み機能を使用するハードウェアに適用できます。 プロセスがクリティカルセクションに入るたびに、他のプロセスがリソースのロックを要求できないように、プロセッサのすべての割り込みを無効にする必要があります。 同様に、プロセスの実行が終了すると、割り込みが再び有効になります。 別のアプローチは、プロセスの実行または終了を指示するシグナルのように動作する特別な変数であるセマフォを使用することです。
