跳至內容

輕量級行程

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書

在電腦作業系統中,'輕量級行程(英語:Light-weight process,縮寫:LWP)是一種實現多工的方法。與普通行程相比,LWP與其他行程共享所有(或大部分)它的邏輯位址空間和系統資源;與執行緒相比,LWP有它自己的行程識別碼,並和其他行程有著父子關係;這是和類Unix作業系統的系統呼叫vfork()生成的行程一樣的。另外,執行緒既可由應用程式管理,又可由核心管理,而LWP只能由核心管理並像普通行程一樣被排程。Linux核心是支援LWP的典型例子。

在大多數系統中,LWP與普通行程的區別也在於它只有一個最小的執行上下文和排程程式所需的統計資訊,而這也是它之所以被稱為輕量級的原因。一般來說,一個行程代表程式的一個實例,而LWP代表程式的執行執行緒(其實,在核心不支援執行緒的時候,LWP可以很方便地提供執行緒的實現)。因為一個執行執行緒不像行程那樣需要那麼多狀態資訊,所以LWP也不帶有這樣的資訊。

因為LWP之間共享它們的大部分資源,所以它在某些應用程式就不適用了;這個時候就要使用多個普通的行程了。例如,為了避免記憶體流失a process can be replaced by another one)和實現特權分隔processes can run under other credentials and have other permissions)。

使用多個行程也使得應用程式在出現行程池內的行程崩潰或被攻擊的情況下變得更加健壯。

參見

外部連結