64/32ビットLinuxシステムの違いの比較分析(アドレス空間レイアウト、システムコール)

Ubuntu は 17.10 から 32 ビット (i386) アーキテクチャを正式にサポートしなくなりました (厳密に言うと、17.10 は 32 ビット PC バージョンをサポートせず、32 ビット SERVER バージョンをサポートするため、18.04 から開始されました)。ただし、安定したバージョンは確かに 18.04 からです。 18.04 当初)、64 ビット (amd64) アーキテクチャのみがサポートされています。これは、64 ビット システムが時間の経過とともにより一般的になり、最新のコンピューターのハードウェア パフォーマンスとメモリ容量をより有効に活用できるためです。ソフトウェアのアップデートにより、多くのアプリケーションは 32 ビット バージョンを提供しなくなり、64 ビット バージョンのみを提供するようになりました。これにより、Ubuntu も 32 ビット アーキテクチャの更新を停止するように求められます。それにもかかわらず、ubuntu 18.04 は、古いシステムとアプリケーションをサポートするために、32 ビット バージョンのパッケージとライブラリを引き続き提供します。ミラーのダウンロードリンク:

/リリースのインデックス

カーネルのアーキテクチャはカーネル自体が決定するものであり、リリースバージョンとは関係ありませんが、なぜUBUNTUとしているかというと、以下の実験はUBUNTU環境で行われているためです。Linux カーネルには、32 ビット アーキテクチャと 64 ビット アーキテクチャで異なるアドレス空間範囲があり、32 ビット アーキテクチャでは、アドレス空間は [0x00000000,0xFFFFFFFF] から合計 32 ビット、合計 4GB になります。空間はユーザー空間とカーネル空間に分割されます。異なるアーキテクチャの 2 つの部分は、通常 3G ユーザー向けの 1G コアの分割方法に従って、異なる方法で分割されます。

対照的に、64 ビット アーキテクチャでは、範囲は [0x0000000000000000,0xFFFFFFFFFFFFFFFF] であり、これは非常に大きいため、現在このような大きな領域を必要とするアプリケーションはないため、実際にはこのアドレス領域は埋まりません。代わりに、ユーザー領域とカーネル領域が使用されます。はそれぞれ一部を占め、残りは使用のために予約されています。現在の主流の実装は 64 ビット アドレス空間、Linux64 ビット オペレーティング システムです。

おすすめ

転載: blog.csdn.net/tugouxp/article/details/130586982