アドレス空間【address space】
概要
コンピュータやネットワークで、対象の所在を表したり他と識別するための番号のことを「アドレス」(address)という。アドレスは通常、整数の番号で表され、下限から上限までの間に含まれる番号の総体をアドレス空間と呼ぶ。コンピュータのメインメモリやファイルシステムの記憶領域、入出力機器、ネットワーク上の機器など、識別番号によって対象を一意に指定する際に用いられる概念である。
メモリアドレス空間
コンピュータのメインメモリ管理においては、有効なメモリアドレスの範囲、およびそのアドレスで識別されるメモリ領域全体のことをアドレス空間と呼ぶ。CPUはこのメモリアドレスを用いて、データやプログラムの格納場所を指定する。
メモリ装置内の物理的な位置を直接表すアドレス空間は「物理アドレス空間」と呼ばれ、オペレーティングシステム(OS)が各プログラムに割り当てる、利用可能なメモリ領域のアドレス空間は「仮想アドレス空間」と呼ばれる。物理アドレス空間は搭載された実メモリの容量によって制約を受けるのに対し、仮想記憶の技術を用いる仮想アドレス空間は、実メモリの容量を上回る範囲をプログラムに提供できる。
OSやメモリ管理装置(MMU)は、仮想アドレスと物理アドレスの対応関係をページテーブルなどの仕組みで管理し、複数のプログラムが互いの領域に不用意にアクセスすることを防いでいる。この仕組みにより、プログラムごとに独立したメモリ空間が確保され、安定した動作が可能となっている。
IPアドレス空間
インターネットなどのIPネットワークで機器の識別に用いるIPアドレスにおいても、連続したアドレスの範囲のことをアドレス空間という。IPv4アドレスは32ビットで表され、そのアドレス空間の広さも32ビットとなる。この中に、組織内ネットワーク専用のプライベートアドレスや、ループバックアドレス、マルチキャストアドレスなど、特定の用途のために予約された領域が定義されている。
それ以外の一般のアドレス空間は、インターネットに接続された各組織に段階的に割り当てられ、世界規模のネットワークを構成している。なお、IPv4アドレスの枯渇に伴い、128ビットのアドレス空間を持つIPv6への移行が進められている。IPv6アドレスのアドレス空間の広さは2128とIPv4に比べて極めて広大であり、その一部はIPv4の場合と同様の構造で特定用途向けに割り当てられている。
