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