行程管理
![本頁使用了標題或全文手工轉換](http://images.weserv.nl/?url=//upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
此條目沒有列出任何參考或來源。 (2015年11月12日) |
在現代作業系統中,行程管理(英語:Process management)是作業系統的功能之一,特別是多任務處理的狀況下,這是必要的功能。作業系統將資源分配給各個行程,讓行程間可以分享與交換資訊,保護每個行程擁有的資源,不會被其他行程搶走,以及使行程間能夠同步。為了達到這些要求,作業系統為每個行程分配了一個資料結構,用來描述行程的狀態,以及行程擁有的資源。作業系統可以透過這個資料結構,來控制每個行程的運作。
多道程序
許多現代操作系統都支持在內存中同時加載同一程序的不同實例。例如,多個用戶可能都在運行同一個程序,每個用戶所運行的就是該程序在內存中的不同副本。有一些程序可以只在內存中加載一個副本,在不同的用戶間共享通向的程序代碼,這樣的程序是可重入的。同一處理器(核)在任意時間點都只能執行一個程序中的一條指令,而如果每隔一段時間輪換處理器所處理的進程,暫時停止其它進程的活動,那麼多個進程就可以同時在一段時間內存在,這樣就是一種並發計算。
多道和多任務的操作系統便是一種可以多進程並發執行的系統。多道程序要求處理器為每個進程都分配一定的時間,並在合適的時機釋放。如果釋放時進程尚未結束,則需要確保進程能夠很方便地重啟。
進程執行過程中,如果操作系統需要取回處理器的控制權,一般有兩種方法:
一個進程停止、另一個進程開始(或者重啟)的過程稱作上下文交換或上下文切換。在許多現代操作系統中,進程還可以包含許多子進程,這樣便引入了線程的概念。可以將線程看作子進程,即在同一進程中的獨立代碼執行單元。
|