linux 程序結構

2021-06-01 05:16:00 字數 320 閱讀 8465

linux乙個程序有3部分組成:**段,資料段,堆疊段。

**段存放程式的可執行**。資料段存放程式的全域性變數,常量,靜態變數。

堆疊段中的堆用於存放動態分配的記憶體變數;堆疊段中的棧用於函式呼叫,存放函式的引數,函式內部定義的區域性變數。

linux程序狀態

執行狀態:r表示

可中斷等待狀態:s表示

不可中斷等待狀態:d表示

僵死狀態:程序已終止,但程序描述符依然存在,直到父程序呼叫wait()函式後釋放。z表示

停止狀態:當程序收到sigstop、sigstp、sigtin、sigtou訊號後停止執行。t表示

Linux 程序結構

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

Linux程序結構

1.區 text segment 載入的是可執行檔案 段 2.資料區 data segment 位置可位於 段後,也可以分開。程式在執行之初就為該資料段申請了空間,在程式退出時才釋放,因此,儲存於資料段 全域性初始化,靜態初始化資料 的資料的生存週期為整個程式執行過程。3.未初始化資料區 bbs,b...

Linux 程序 資料結構

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