Windows 7で使用されるスケジューリングアルゴリズムは何ですか?
Windowsは、NT以降、優先順位のスケジューリングにマルチレベルフィードバックキューを使用したラウンドロビン手法を使用していますが、Vistaでは、ディスクデフラグツールなどの一部のプロセスの優先順位を低くするために、いくつかのスマートなヒューリスティックな改善が行われました。フォアグラウンドプロセスを妨害しません。私の知る限りでは、Windows 7はVistaと同じスケジューラーを使用していますが、多少の改善があった可能性があります。
Windows NTベースのオペレーティングシステムはmultilevel feedback queue
。そのため、Windows 7でも同じスケジューリングアルゴリズムを使用する必要があると思います。
スケジューラーはWindowsVistaで変更され、優先度スケジューラーが含まれ、最新のプロセッサーのサイクルカウンターレジスタを使用して、スレッドが実行したCPUサイクルの正確な数を追跡します。
同様の行で、Windows7でもいくつかの改善がある可能性があります。しかし、アルゴリズムは同じかもしれません。
ユーザーモードスケジューリング(UMS)は、アプリケーションが独自のスレッドをスケジュールするために使用できる軽量のメカニズムです。アプリケーションは、システムスケジューラを使用せずに、ユーザーモードでUMSスレッドを切り替え、UMSスレッドがカーネルでブロックされた場合にプロセッサの制御を取り戻すことができます。 UMSスレッドは、単一のスレッドのスレッドコンテキストを共有するのではなく、各UMSスレッドが独自のスレッドコンテキストを持っているという点でファイバーとは異なります。ユーザーモードでスレッドを切り替える機能により、UMSは、システムコールをほとんど必要としない多数の短期間の作業項目を管理するために、スレッドプールよりも効率的になります。