同期プロセス-3
細い麻布語
臨界領域に入る前に、スイッチを使用中にし、臨界領域に入ります.その後、到着したプロセスは、前のプロセスが操作を完了するのを待っています.プロセスが完了すると、細い麻布語は次のプロセスに臨界領域を使用する同期信号を発行します.
他のアルゴリズムとは異なり、細い麻布言語では、ビジーを待つ必要はありません.臨界領域がロックされているかどうかを直接確認したり、他のプロセスに同期メッセージを送信したりする必要はありません.
Semaphore(n); // RS = n; n은 공유 가능한 자원의 수
P(); // 임계영역을 들어가기 전 사용 중이라 변경
/*
Critical Section
*/
V(); // 임계영역을 나오고 비었다고 표시함
Counting/Binary Semaphore
細い麻布語の問題
細麻布語の問題は,不適切な使用により臨界領域が保護されないことである.上図に示すように、使用者が故意に細い麻布を使用しないか、使用中にミスをしたために問題が発生する.
1.プロセスは細い麻布を使用せず、直接臨界領域に入り、臨界領域を保護できない.
2.2回P()を使用してwake up信号が発生しなかった.プロセス間に同期がないため、細い麻布キューで待機しているプロセスは無限の待機状態にあります.
3.P()とV()は反対に用いられ,反発が保証されない場合には臨界領域を保護できない.
P()、V()を使う必要がなく、自動処理がディスプレイです.
モニタ
モニタは、共有リソースを内部に非表示にし、共有リソースにアクセスするインタフェースのみを提供することで、リソースを保護し、プロセス間で同期します.これはシステム呼び出しと同じ概念です.
ディスプレイの動作原理
Reference
この問題について(同期プロセス-3), 我々は、より多くの情報をここで見つけました https://velog.io/@mardi2020/프로세스-동기화-3テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol