程式的組成部分

風塵璞發表於2017-01-07


在Linux系統中程式由以下三部分組成:①程式控制塊PCB;②資料段;③正文段。

        Linux系統為了節省程式控制塊所佔的記憶體空間,把每個程式控制塊分成兩部分。一部分常駐記憶體,不管程式是否正佔有處理器執行,

系統經常會對這部分內容進行查詢和處理,常駐部分內容包括:程式狀態、優先數、過程特徵、資料段始址、等待原因和佇列指標等,

這是進行處理器排程時必須使用的一些主要資訊。另一部分非常駐記憶體,當程式不佔有處理器時,系統不會對這部分內容進行查詢和處理,

因此這部分內容可以存放在磁碟的對換區中,它隨使用者的程式和資料部分換進或換出記憶體。

       Linux系統把程式的資料段又劃分成三部分:使用者棧區(供使用者程式使用的資訊區);使用者資料區(包括使用者工作資料和非可重入的程式段);

                                                                 系統資料區(包括系統變數和對換資訊)。

        正文段是可重入的程式,能被若干程式共享。為了管理可共享的正文段,Linux設定了一張正文表,每個正文段都佔用一個表目,

     用來指出該正文段在記憶體和磁碟上的位置、段的大小以及呼叫該段的程式數等情況。

相關文章