Linux程序結構

2021-08-26 21:40:59 字數 494 閱讀 3073

1.**區:

text segment

載入的是可執行檔案**段

2.資料區:

data segment

位置可位於**段後,也可以分開。程式在執行之初就為該資料段申請了空間,在程式退出時才釋放,因此,儲存於資料段(全域性初始化,靜態初始化資料)的資料的生存週期為整個程式執行過程。

3.未初始化資料區:

bbs, block startedby symbol

位置可分開亦可以緊靠資料段。程式在執行之初就為該資料段申請了空間,在程式退出時才釋放,因此,儲存於資料段(全域性未初始化,靜態未初始化資料)的資料的生存週期為整個程式執行過程。

4.棧區:

stack

由編譯器自動分配釋放,存放函式的引數值,返回值,區域性變數等。在程式執行過程中實時載入和釋放。

5.堆區:

heap

堆在記憶體中位於bbs區和棧區之間,一般由程式設計師分配和釋放。若程式設計師不釋放,程式退出時可能由os**。

linux 程序結構

linux乙個程序有3部分組成 段,資料段,堆疊段。段存放程式的可執行 資料段存放程式的全域性變數,常量,靜態變數。堆疊段中的堆用於存放動態分配的記憶體變數 堆疊段中的棧用於函式呼叫,存放函式的引數,函式內部定義的區域性變數。linux程序狀態 執行狀態 r表示 可中斷等待狀態 s表示 不可中斷等待...

Linux 程序結構

區 載入的是可執行檔案的 段,其載入到記憶體中的位置由載入器完成。在有作業系統支援時,程式不需要關注這一位置 如果是自己移植作業系統,則需要事先規劃各載入位置。這一點請參閱相關os移植內容。全域性初始化資料區 靜態資料區 載入的是可執行檔案資料段,位置可位於 段後也可以分開。程式 在執行之初就為該資...

Linux 程序 資料結構

程序相關函式的資料結構為 程序描述符task struct 管理這個資料結構的為各種等待佇列 執行佇列等。下面是任務 程序 資料結構,或稱為程序描述符。long state 任務的執行狀態 1不可執行,0可執行 就緒 0已停止 long counter 任務執行時間計數 遞減 滴答數 執行時間片。l...