排他制御 のバックアップの現在との差分(No.2)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
#author("2022-08-24T20:00:38+09:00","default:k1rou","k1rou")
#author("2022-09-19T16:42:58+09:00","default:k1rou","k1rou")
*排他制御 [#q7a04b84]

*ロックとアンロック [#u6c6ca11]
**ロックとアンロック [#u6c6ca11]

*デッドロック [#sfaa0886]
**デッドロック [#sfaa0886]
--複数のプロセスが無秩序にロック・アンロックをすることで、お互いで資源の解放を待つ状態になること

*クリティカルセクション [#k5a73cf3]
**クリティカルセクション [#k5a73cf3]
--他のプロセスによる処理を許すと、正しいし結果が得られなくなる部分のこと

*セマフォ [#a835b6f5]
**セマフォ [#a835b6f5]
-semaphore
-排他制御のメカニズム

--セマフォ変数(資源の残量を示す変数)と、資源の解放を待っているプロセスの待ち行列で構成される
--P操作:
---クリティカルセクションに入る前に行う。
---セマフォ変数から1減纂する
---減纂後のセマフォ変数が負になった場合、プロセスの実行を中断して待ち行列に入れる
---セマフォ変数から1減算する
---減算後のセマフォ変数が負になった場合、プロセスの実行を中断して待ち行列に入れる
--V操作:
---クリティカルセクションに入るタイミングで行う。
---セマフォ変数に1加算する
---増加前のセマフォ変数が負の場合、待ち行列の先頭プロセスを実行可能状態にする

***セマフォの種類 [#o498bc7b]
-2値セマフォ
--バイナリセマフォ
--セマフォ変数が0と1の値しか持たないセマフォ
--1つのタスクは1つのセマフォ変数しか使わない

-ゼネラルセマフォ
--セマフォ変数が複数の値を持つセマフォ
--1つのタスクは複数のセマフォ変数を使うことができる

*関連用語 [#x946df59]
-[[プロセス]]
-[[デッドロック]]