一、其中,使用者程序部分分段儲存內容如下表所示(按位址遞增順序)
名稱儲存內容
**段(.text)
可執行**、字串字面值、唯讀變數
資料段(.data)
已初始化且初始值為非0的全域性變數和靜態區域性變數
bss段
未初始化或初始值為0的全域性變數和靜態區域性變數
棧區域性變數、函式引數、返回位址等
堆動態分配的記憶體
在將應用程式載入到記憶體空間執行時,作業系統負責**段、資料段和bss段的載入,並在記憶體中為這些分配空間。棧也由作業系統分配和管理,堆區是動態記憶體的分配。
棧與堆的區別:
二、1g核心空間是大體分為三部分,部分儲存內容如下表所示:
直接記憶體訪問
不走暫存器直接在此訪問
常用部分
做頁目錄表
高階記憶體
大檔案的對映
4G虛擬位址空間
在linux系統中,使用者空間和核心空間所佔的比例為3 1 在windows系統中,使用者空間和核心空間所佔的比例為2 2 下面以linux系統為例 text 指令段,也叫 段,區域性變數也是指令,但區域性變數儲存在棧上,當 執行時才在棧中預留好的區域中開闢。data 資料段儲存 中的各種資料,包括...
虛擬位址空間布局
在多工系統中,每個程序都執行在自己的虛擬位址空間上,32為模式下它是乙個4g的記憶體位址塊,在linux系統下主要分為1g核心空間和3g使用者空間,而在windows系統下,核心空間和使用者空間的劃分比例為2 2.位於虛擬位址空間最低部分為保留區,未賦予實體地址 text 為 段用來存放程式執行 d...
程序的虛擬位址空間4G劃分
當乙個程 序執行的時候 而這4g也劃分成了兩大塊。第一塊1g要分給核心,我們使用者是看不見也進不去的。第二塊3g是給使用者使用的。就像地拿到手了,還要蓋房裝修,我們使用者拿到這3g也要做同樣的事,這3g也要分成好幾塊。3g 棧空間 特點是由系統管理,先進後出,裡面放了區域性變數 函式形參 自動變數。...