web-dev-qa-db-ja.com

一部のオペレーティングシステム(カーネル)は、他のハードウェアよりも効率的ですか?

Windows、macOS、およびLinuxカーネルを相互に比較する場合、キャッシュ、ページルックアップ、または電力消費の点で、ハードウェアをより有効に利用できるものはありますか?

LinuxがmacOSよりもかなり暖かく、より多くの電力を消費しているマシンで、macOSをLinuxと並べて比較したところ、これに気付きました。そのため、おそらくオペレーティングシステム(およびそのカーネル)はハードウェアの使用方法を異なる方法で実装していると思いました。

それでは、一部の低レベルのオペレーティングシステムまたはスケジューリング操作が、企業が支援しているカーネルでより効率的であるのは事実ですか?メモリ管理またはキャッシュ管理の特定のアルゴリズムは、おそらくAppleまたはMicrosoftなど)による「トレードシークレット」ですか?これらの問題に対する最も効率的な解決策は、主に公の知識ですか?

2
Cole

実際には、スケジューリングアルゴリズムの効率とはほとんど関係がありません。 Linuxは非常に柔軟なカーネルです。スマートフォンからスーパーコンピューターまで、あらゆる分野で使用されています。明らかに、それらには非常に異なる電力ニーズがあり、それらのニーズを満たすために利用できる構成オプションはかなりあります。

マザーボード上のチップセットには、電力を節約するためのさまざまなモードがあります。新しいチップセットで新しい電力モードを利用するには、ドライバーを作成する必要があります。ドライバーをカーネルの先端に組み込むにはしばらく時間がかかり、ディストリビューションが使用するカーネルに組み込むにはさらに時間がかかり、さらには構成する必要があります。実際にそれを利用します。ほとんどのディストリビューションは、デフォルトで低電力とパフォーマンスのバランスをとろうとしています。それがラップトップであることがわかっている場合は、スペクトルの低電力側に向けてさらにプッシュできます。

したがって、「会社のバッキング」は有利なスタートの利点を提供します。ドライバーは、サポートされているオペレーティングシステム用にハードウェアと同時にリリースされるようにタイミングをとることができます。また、ハードウェアに最適な構成でプリインストールできるため、ユーザーエラーのリスクが軽減されます。ただし、最初の利点は一時的なものであり、2番目の利点は本質的なものではありません。

2
Karl Bielefeldt