パーソナルコンピュータの歴史

パーソナルコンピュータの歴史

私のラップトップとデスクトップにUbuntu Desktopをインストールするには、Ubuntu Webサイトから同じ画像をダウンロードするだけです。これは私が聞いたほぼすべてのLinuxディストリビューションで動作します。

私は現在、さまざまなRaspberry Piの交換品を買い物していますが、それぞれ独自のオペレーティングシステムが必要であることがわかりました。例えば、アンビアンサポートしているすべてのボードのダウンロードがあります。同様に、RaspbianがOrangePiですぐに機能しないのはなぜですか? armv6/armv7/armv8に異なるイメージが必要になることがあることは理解しています。しかし、各SBCに独自の画像が必要なのはなぜですか?

ベストアンサー1

この質問に対する答えは非常に微妙です。しかし、根本的な理由は、(x86 / x86_64)PCが非常に多様に見えますが、そうではないからです。 SBC(通常はARMベース)はより多様であり、ARM CPUでもSBC間に大きな違いがある可能性があります。

パーソナルコンピュータの歴史

PCの多様性が欠けている理由は、多少の意見に基づいているかもしれませんが、Microsoft DOSやMicrosoft Windowsと関連があると思います。歴史的に彼らは厳しい要件を持っていました。私信じる当初はこれが可能だったから」IBM対応PC「勝利しました。マイクロソフトはその要件を満たすためにソフトウェアを作成しました。その後、マイクロソフトは支配的になり、必要なものは何でも要求でき、ハードウェアベンダーはそれに従わなければなりませんでした。」

同様に、Intelは、AMDなどの他のメーカーが競合するために、そのCPUがIntelのCPUと互換性があることを確認するのに十分な支配的な立場を占めています。歴史上興味深い点は私たちが今x86_64と呼ぶのは、実際にAMD64とも呼ばれるAMDの発明です。

シングルボードコンピュータ(ARM)

ほとんどのSBCはARMベースであり、同じ歴史はありません。 ARMは実際にCPUをまったく作成せず、製造業者に設計ライセンスを付与するだけです。これにより、さまざまなメーカーがこれらのデザインをカスタマイズでき、標準化する必要がある商業圧力が不十分です。

ARM SBC多様性実務問題

命令セット

PCには非常に安定したコア命令セットがあります。はい、さまざまなIntel / AMD CPUにはいくつかの高度な機能のためのいくつかの追加の命令セットがありますが、ほとんどの場合、オペレーティングシステムを実行するのにそれほど重要ではありません。実行できるアプリケーションに影響を与える可能性があります。

しかし、ARM SBCの場合、命令セットには大きな違いがあります。たとえば、最初のRaspberry PIが作成されたときにARM CPUを使用しました。ハードウェア浮動小数点当時、他の主要なLinuxディストリビューション(Debianなど)はこの機能をサポートするようにコンパイルされていませんでした。技術的にはうまくいくかもしれませんが、そうなります。たくさんそれがなければ、より遅くなります。

ここで、コアCPU機能と命令セットがカーネルだけでなく、インストールするすべてのソフトウェアパッケージでも使用されることを理解することが重要です。ハードウェア浮動小数点をサポートしたいがオペレーティングシステムのディストリビューションがそれをコンパイルしない場合は、システム内のすべてのパッケージを再コンパイルする必要があります。

カーネルの設定

CPUの他の機能により、いくつかのトリッキーな問題が発生します。これは、多くのARM SBCがLinuxカーネルを変更する必要があることを意味します。今、カーネルだけのためにまったく新しいディストリビューションをリリースするのは少し無理のようです。しかし、一つは事実です。

RaspbianがOrangePiですぐに機能しないのはなぜですか?

スタートアップの問題(下)を克服することができますが、まだ重要なものが欠けていることがわかります。カーネルの適用範囲。その結果、単に機能が欠落しているか、カーネルが起動しない可能性があります。

始める

一般に、リリースはまったく新しいオペレーティングシステムをリリースする理由ではありません。しかし、注意して扱わなければなりません。

PCのハードウェア初期化の大部分は標準化されるか、BIOSによって処理されます。 BIOSは製造元から提供されたソフトウェアを保存し、オペレーティングシステムの前に実行されます。その後、ブートローダを見つけて実行することを担当します。

ARM SBCにはBIOSはありません。同等のソフトウェアがオペレーティングシステムに付属しています。技術的には、オープンソースオペレーティングシステムがこのファームウェアを互いに共有するのを防ぐことはできません(参照)Raspberry Ri用のbootcode.binライセンス)。しかし、これは、すべてのオペレーティングシステムが異なるすべてのSBCに対してそのファームウェアのコピーを持っている必要があることを意味します。そして様々なSBCがあります。

私は他のSBCが既存のオペレーティングシステムの独自のISOを公開することによってこの問題を解決したと思います。 ビーグルボードはまさにそのようなことをします

おすすめ記事