286にLinuxがありますか?

286にLinuxがありますか?

私は286を持っておらず、それからLinuxを実行する予定もありません。しかし、286には保護モードがありますが、なぜLinuxには386以上のCPUが必要だと言うのですか?

~からhttp://tuxmobil.org/286_mobile.htmlELKSバージョンのLinuxは286で実行できるようです。これは正しいですか?カーネルが286 CPUで実行できるように、どのような修正が行われましたか?

今、私は386用にコンパイルされたカーネルが16ビット286 CPUで実行できないことを明らかに理解しています。だから私の質問は、標準のLinuxカーネルを286用にコンパイルしてから286で実行できないのはなぜですか? LinuxにはハードウェアVM86のサポートが必要ですか?

ベストアンサー1

286保護モード(PM)は、386が提供する機能とは根本的に異なります。 286 PMをプロトタイプとして考えてみてください。欠点が多すぎるため、ほとんど誰も使用しておらず、システム全体が386に収まるように完全に再設計されました。

フラットメモリモデルを使用する代わりに、リアルモードなどのセグメントモデルを使用します。つまり、一度に64kBブロックにわたってメモリにアクセスする必要があることを意味します。

当時利用可能なすべての(MS-DOS)プログラムと完全に互換性がなかったため、PMに入ると、おなじみのプログラムは利用できませんでした。

また、PCを再起動しないと保護モードを再び終了することができないため、メーカーはRAMにフラグを置き、キーボードコントローラに魔法値を書き込むなどの創造的なソリューションを考案しました。これによりCPUのキーがリセットされます。コンピュータを再起動します。マシン。 BIOSが最初に行うことは、以前に設定されたフラグを検出してPOSTルーチンを実行するのではなく、元のプログラムにジャンプし、PMを「終了」した後も元のプログラムを実行し続けることです。

つまり、286 PMでは、多くのトリックがなければ、通常のDOSプログラムを実行することはできません。 DOSプログラムしかなかった頃は、PMを使うことはまったく価値がありませんでした。

したがって、286 PMを使用することは、それを使用せずにEMSとXMSを使用して追加のメモリにアクセスするよりも複雑です。多くの286マザーボードはEMS用のチップセットをサポートしているため、PMなしで追加のシステムメモリをすべて使用できます。

Intelはこれらの欠点を認識し、386でまったく異なる新しい、まったく異なるPMを作成しました。フラットメモリモデルを使用すると、最大4 GBのメモリブロックに簡単にアクセスできます。 CPUはいくつかの命令でPMに入って出ることができるので、不器用な再起動プロトコルは必要ありません。 VM86は、ほとんどの場合PMを終了する必要はなく、PMでDOSプログラムを実行できることを意味します。

これらの改善はすべて、386 PMがより強力であるだけでなく、はるかに互換性が高いことを意味します。

つまり、286と386の保護モードの唯一の共通点は名前です。これがPMオペレーティングシステムが通常バージョン386以降である理由です。 286 PMのサポートを追加することは、まったく別の386 PMと共有されるコードがほとんどまたはまったくない完全に別々の努力です。

これに比べて、386 PMは最後の32ビットCPUまでほぼ同じように動作し、64ビットCPUで32ビットソフトウェアを実行する場合も同様でした。

おすすめ記事