1. 程式人生 > >linux程序管理之輕量級程序(四)

linux程序管理之輕量級程序(四)

在Linux中,輕量級程序可以是程序,也可以是執行緒。我們所說的執行緒,在Linux中,其實是輕量級程序之間共享程式碼段,檔案描述符,訊號處理,全域性變數時;

如果不共享,就是我們所說的程序。

程序是資源管理的最小單位,執行緒是程式執行的最小單位。在作業系統設計上,從程序演化出執行緒,最主要的目的就是減小多程序上下文切換開銷。

最初的程序定義都包含程式、資源及其執行三部分,其中程式通常指程式碼,資源在作業系統層面上通常包括記憶體資源、IO資源、訊號處理等部分,

而程式的執行通常理解為執行上下文,包括對CPU的佔用,後來發展為執行緒。線上程概念出現以前,為了減小程序切換的開銷,作業系統設計者逐漸修正程序

的概念,逐漸允許將程序所佔有的資源從其主體剝離出來,允許某些程序共享一部分資源,例如檔案、訊號,資料記憶體,甚至程式碼,這就發展出輕量程序的概念。

Linux核心在2.0.x版本就已經實現了輕量程序,應用程式可以通過一個統一的clone()系統呼叫介面,用不同的引數指定建立輕量程序還是普通程序。