Linux道場Linux学習環境構築編
第15回CPUについて
セミナーなどの際に質問の多い、Linuxの学習環境構築について、いくつかのテーマについて解説していきます。今回はCPUについて解説します。
Linuxは様々なアーキテクチャのCPUに対応していますが、Linux的な呼び方が一般的なCPU名称と一致しているわけではないので、初学者は混乱するようです。基本的な部分を整理しておきます。
CPUが一度に処理ができる数字の大きさを表します。また、扱えるメモリの上限にも関係してきます。主に32ビットと64ビットのCPUがあります。
・32ビットCPU
32ビットのCPUアーキテクチャは、歴史的にインテル社のCPUがアーキテクチャを進化させてきたこともあり、インテル社のアーキテクチャ名称で呼ばれます。以下の名称があります。
- i386
- i486
- i586
- i686
新しいものになるほど、使用できる命令(CPUの中での処理方法)が増えるため、新しいアーキテクチャ用に作成されたLinuxカーネルやバイナリーは、古いアーキテクチャのCPUで動かすことができないことがあります。幅広いハードウェアに対応させるには、i386やi586に合わせてコンパイルが行われることが多いです。
・64ビットCPU
64ビットCPUは、純粋な64ビットCPUと、メモリなど一部の機能のみ64ビットに対応させた32ビットCPUを拡張したCPUがあり、後者の方が幅広く使われています。前者を「ia64」、後者を「x86_64」あるいは「amd64」という名称で呼びます。
・コンパイル時のアーキテクチャ指定
Linuxカーネルや各種ソフトウェアは、コンパイル時に動作させるCPUのアーキテクチャを指定しておく必要があります。上記の通り、幅広いハードウェアに対応させるなら32ビットを、大容量のメモリやデータを扱いたい場合には64ビット用を使用することになります。多くの場合、ディストリビューションは32ビット用と64ビット用のインストールメディアが用意されていますし、中に含まれているパッケージも区別されています。インストールするパッケージを混在させることはできないので注意が必要です。
コラム執筆/宮原 徹
中央大学法学部法律学科卒。
日本オラクル株式会社でのLinux版Oracleのマーケティングに従事後、2001年株式会社びぎねっとを設立。Linuxをはじめとするオープンソースの普及活動を積極的に行い、IPA「2008年度 OSS貢献者賞」を受賞。
LinuC関係の活動では、『Linux標準教科書』『Linuxサーバー構築標準教科書』の監修、執筆や、LPI-Japan発行のメールマガジンにも例題解説などを寄稿している。