一、地址空間與特權級別
1K=1024B=2^10(2的10次方)B
1M=1024K
1G=1024M
由於內存區域通過指針尋址,因此CPU的字長(32位、64位)決定所能管理的地址空間的最大長度。對32位系統,是2^32B=4GB,對64位處理器,可以管理2^64(2的64次方)B。
地址空間的最大長度與實際可用的物理內存數量無關,因此被稱爲虛擬地址空間。從系統中每個進程的角度來看,地址空間中只有自身一個進程,而無法感知到其他進程存在。應用程序無須關注其他程序的存在,好像計算機中只有一個進程一樣。
Linux將虛擬地址空間劃分爲兩個部分,分別爲內核空間和用戶空間,如圖1-3所示。
系統中每個用戶進程都有自身的虛擬地址範圍,從0到TASK_SIZE。用戶空間之上的