#author("2022-01-31T16:58:22+09:00","default:k1rou","k1rou") #author("2022-08-24T19:57:23+09:00","default:k1rou","k1rou") *プロセス [#u41f7861] *プロセスの状態 [#d48a0216] -実行可能状態 -実行状態 -待ち状態 *ディスパッチ [#x347860f] -実行権を他のプロセスに渡すこと --実行可能状態 → 実行状態 --実行状態 → 実行可能状態 -ディスパッチャ -ディスパッチング *コンテキスト切り替え [#tb985cf1] -プロセッサの割り当てを他のプロセスに変更すること **方式 [#w9128535] -プリエンプティブ --割込みの発生により、実行状態のプロセスから強制的にプロセッサの実行権を取り上げて、他のプロセスに与える --実行権を取り上げられたプロセスは実行可能状態になる -ノンプリエンプティブ --実行状態のプロセスから強制的にプロセッサの実行権を取り上げない --実行状態のプロセスは自主的にプロセッサの実行権を解放する --実行権を解放したプロセスは待ち状態になる *スケジューリング [#mf31060f] -実行可能状態のプロセスの待ち行列の形成やディスパッチの方法・方式のこと **スケジューリング方式 [#c0521b81] -到着順方式 -SJF方式 -ラウンドロビン方式 -優先度順方式 -動的優先度順方式 -多重待ち行列方式 -フィードバック待ち行列方式 *排他制御・同期制御 [#q792773a] **排他制御 [#n550e988] -ロックとアンロック -「[[排他制御]]」参照 -デッドロック --複数のプロセスが無秩序にロック・アンロックをすることで、お互いで資源の解放を待つ状態になること -クリティカルセクション --他のプロセスによる処理を許すと、正しいし結果が得られなくなる部分のこと -セマフォシステム --セマフォ変数(資源の残量を示す変数)と、資源の解放を待っているプロセスの待ち行列で構成される --P操作: ---クリティカルセクションに入る前に行う。 ---セマフォ変数から1減纂する ---減纂後のセマフォ変数が負になった場合、プロセスの実行を中断して待ち行列に入れる --V操作: ---クリティカルセクションに入るタイミングで行う。 ---セマフォ変数に1加算する ---増加前のセマフォ変数が負の場合、待ち行列の先頭プロセスを実行可能状態にする **同期制御 [#daca96fa] *関連用語 [#a2842f03] -マルチタスク