1. 程式人生 > >解惑—Linux中的地址空間(一)

解惑—Linux中的地址空間(一)

任意一個時刻,在一個CPU上只有一個程序在執行。所以對於此CPU來講,在這一時刻,整個系統只存在一個4GB的虛擬地址空間,這個虛擬地址空間是面向此程序的。當程序發生切換的時候,虛擬地址空間也隨著切換。由此可以看出,每個程序都有自己的虛擬地址空間,只有此程序執行的時候,其虛擬地址空間才被執行它的CPU所知。在其它時刻,其虛擬地址空間對於CPU來說,是不可知的。所以儘管每個程序都可以有4 GB的虛擬地址空間,但在CPU眼中,只有一個虛擬地址空間存在。虛擬地址空間的變化,隨著程序切換而變化。