程序的線性位址空間以及函式呼叫過程

2021-10-04 21:15:44 字數 469 閱讀 9246

函式棧幀向低位址延伸。堆由低位址向高位址延伸。

ebp以前的棧的基位址。

通過乙個很長的區域性變數,將返回位址給覆蓋。

esp 棧頂指標,隨著資料入棧出棧發生變化。esp減少代表分配棧空間,esp增加,代表棧空間減少。

ebp 基位址指標,用於標示棧中乙個相對穩定的位置,用於引用函式引數以及區域性變數。

計算機做如下操作

首先把指令暫存器eip中的內容壓入棧(硬體自動壓棧),作為程式的返回位址

之後放入棧的是基址暫存器ebp,指向棧幀的底部(編譯器做的)

複製當前esp給ebp,作為新的基址暫存器。

區域性變數

線性位址的管理

eprocess中 為什麼採用二叉樹的方式管理線性位址空間呢?最主要的原因是使用二叉樹查詢的效能會更好 涉及資料結構 這個startin pn和這個endin pn是以頁為單位也就是 4kb 0x1000 在startin pn這個位址後新增3個0,也就是這個結點描述的線性位址的起始位址 endin...

實體地址 虛擬位址 線性位址以及邏輯位址

是記憶體中的記憶體單元實際位址,是記憶體中每個記憶體單元的編號,這個編號是順序排好的,實體地址的大小決定了記憶體中有多少個記憶體單元,實體地址的大小由位址匯流排的位寬決定。虛擬位址是cpu保護模式下的乙個概念,保護模式是80286系列和之後的x86相容cpu操作模式,在cpu引導完作業系統核心後,作...

固定對映的線性位址

核心位址空間 核心線性位址空間 3gb,3gb 896mb 線性對映 實體地址空間 0,896m 核心線性位址空間 3gb 896mb,4gb 用來實現 非連續記憶體分配 和 固定對映 固定對映 固定對映的線性位址以 任意方式 與前896mb線性對映方式相比 對映任何實體地址空間 固定對映使用的線性...