Linuxがさまざまなハードウェアプラットフォームに適応するのはなぜですか?

Linuxがさまざまなハードウェアプラットフォームに適応するのはなぜですか?

Linuxがデスクトップ、ラップトップ、サーバー、組み込みデバイス、携帯電話など、さまざまな種類のシステムでうまく動作するのはなぜですか?主にシステムがオープンなので、システムの一部をさまざまな環境に合わせて変更できるからですか?それとも、オペレーティングシステムがこの広範なプラットフォームでより簡単に動作できるようにするLinuxカーネルお​​よび/またはシステムの他の属性はありますか?

答え1

開放性は確かにその一部ですが、重要な要素は、すべての作業がどんなに大きくても小さくてもうまくいけば、メインラインのLinuxカーネルに座るというLinus Torvaldの継続的な主張だと思います。ある時点で彼がラインを引いて「いい、私たちは素晴らしいスーパーコンピュータハードウェアが必要だ」と言うことにした場合、完全に分離された高度なシステムとコンパクトなシステムバリエーションを開発することができます。実際、すべてが比較的うまく機能するようにするためにはるかに多くの努力をしました。

そして、問題の一方が他方に害を及ぼすことは許されないことが多い。言い換えれば、人々はより困難ですが、正しい方法で問題を解決することを強制します。必要なものがあれば、そのパッチワークは歴史の脚注になります。

から数年前のインタビュー:

Q:Linuxは汎用性の高いシステムです。 PC、大型サーバー、モバイルデバイス、その他12台のデバイスを提供します。あなたのユニークな場所から見ると、Linuxの最大の可能性はどこにありますか?

A:私は、Linuxの真の力は、Linuxがどのドメインにも属さないという事実にあると思います。誰もが一緒に働くことができ、人と会社の間で自分にとって重要なことが何であるかについての動機と信念はまったく異なります。だから特定の分野には興味もありません。

答え2

Linuxは、次の理由でさまざまな種類のハードウェアに拡張できます。

  • 非常に設定可能です
  • ソースコードは無料で提供され、利用可能なCコンパイラを使用してすべてのCPU用に構築できます。
  • 組み込みデバイスと携帯電話のプロセッサは、もともと386マシンと少なくとも同じレベルまたはより良いパフォーマンスを持ち、初期のLinux開発が実行され、パフォーマンスが向上し続けます。
  • ネットワーク、どのような種類のディスクやディスクに似たデバイス、シリアルポートがあれば動作します。

答え3

Linuxカーネルは拡張性に優れています。コアカーネルは比較的小さく、必要な操作のみを実行します。デバイスドライバはオプションであり、小規模システムではカーネルから除外できます。最小のコア要件に加えて、ほとんどの機能は選択機能として実装されています。

ほとんどのカーネルと共にインストールされた設定ファイルを表示します。有効になっているすべての機能とサポートされているドライバが一覧表示されます。

ドライバをカーネルに組み込むか、ロード可能なモジュールとしてサポートします。これにより、カーネルが実行されるハードウェアに動的に構成できます。これは多くのディストリビューションで使用されるアプローチです。

コンパイルツールを持つことに加えて、新しいハードウェアに合わせてカーネルを変更するのは比較的簡単です。新しいプロセッサの場合、関連コードは単に既存の機能を修正することによって実装される。新しいデバイスには関連するフック付きの新しいドライバが必要です。新しいファイルシステムも比較的簡単な修正です。

コードベースは十分に管理されており、この柔軟性を維持するために外部フォークは必要ありません。条件付きコンパイルは、できるだけ最小化された非常に柔軟なカーネルを駆動します。

答え4

この回答を裏付ける詳細な技術的な専門知識は不足していますが、経験によれば、Linuxは私が定期的に使用している他のオペレーティングシステム(主にWindows)に比べてスケーラビリティが優れています。もしそうなら、おそらくWindowsがLinuxほど拡張されていないのは問題です。

この方法で質問を再説明することがまだ役に立つ場合は、マイクロソフトが最も強力な最新のハードウェアに適した機能を追加するために市場の力を促進する必要があることを示唆しています。なぜなら、マイクロソフトは主にエンドユーザーが新しいハードウェアを購入したときにオペレーティングシステムのより多くのコピーを販売するからです。システム。したがって、いつでも最新バージョンのWindowsは、古くてパフォーマンスが低下するハードウェアでは正常に動作しないことがわかります。

あなたの質問が過度に単純化された場合はご了承ください。

関連情報