Linuxのプロセススケジューラとは何ですか?

Linuxのプロセススケジューラとは何ですか?

私はウィキペディアについて読んだ。プロセススケジューラ:

プロセススケジューラは部分オペレーティングシステムは、特定の時点でどのプロセスを実行するかを決定します。

私はこれが何を意味するのか本当に理解していません。 Linuxのプロセススケジューラとは何ですか?カーネルの一部ですか?正確にどんな役割を果たしますか?

ベストアンサー1

Linuxでは、プロセススケジューラが重要な部分です。コア。別のスレッドやモジュールとして存在せず、関数として実装され、__schedule()

プロセススケジューラの使命は、次に実行するプロセスを決定することです。システム内の各プロセッサには、CPUが実行を待つプロセスのリストである実行キューがあります。呼び出されると、スケジューラはこのプロセスのリストを表示し、次に実行するプロセスを決定します。これは、以前に実行されていたプロセス(またはスレッド)または別のプロセスです。カーネルの他の様々なシステムは、実行キューからジョブを追加および削除したり、ジョブをあるCPUの実行キューから別のCPUの実行キューに移動したりする。

カーネルは、プロセスがブロックされるたびに(セマフォ、ミューテックスなどを介して)、スケジュールの変更が要求され、システムがユーザー空間からカーネルまたはその逆に変わるたびに、さまざまな状況でプロセスのスケジュールを調整します。タイマーティックは、スケジューラを直接呼び出さずにスケジュールの変更を要求します。

おすすめ記事