所謂進程地址空間(process address space),就是從進程的視角看到的地址空間,是進程運行時所用到的虛擬地址的集合。
32位系統的進程地址空間
以IA-32處理器為例,其虛擬地址為32位,因此其虛擬地址空間的範圍為 ,linux系統將地址空間按3:1比例劃分,其中用戶空間(user space)佔3GB,內核空間(kernel space)佔1GB。
假設物理內存也是4GB(事實上,虛擬地址空間的範圍不一定需要和物理地址空間的大小相同),則虛擬地址空間和物理地址空間的轉換如下圖所示: