程序pid理解
阿新 • • 發佈:2018-12-18
PID(Process Identification)
作業系統裡指程序識別號,也就是程序識別符號。
作業系統裡每開啟一個
程式都會建立一個程序ID,即PID。
PID(程序控制符)英文全稱為Process Identifier,它也屬於電工電子類技術術語。
PID是各程序的代號,每個程序有唯一的PID編號。它是程序執行時系統隨機分配的,並不代表專門的程序。在執行時PID是不會改變識別符號的,但是你終止程式後再執行PID識別符號就會被系統回收,就可能會被繼續分配給新執行的程式。
含義
只要執行一程式,系統會自動分配一個標識。
是暫時唯一:程序中止後,這個號碼就會被回收,並可能被分配給另一個新程序。
只要沒有成功執行其他程式,這個PID會繼續分配給當前要執行的程式。
如果成功執行一個程式,然後再執行別的程式時,系統會自動分配另一個PID。 是暫時唯一:程序中止後,這個號碼就會被回收,並可能被分配給另一個新程序。 只要沒有成功執行其他程式,這個PID會繼續分配給當前要執行的程式。 如果成功執行一個程式,然後再執行別的程式時,系統會自動分配另一個PID。 作業系統中程序管理的基本原理
1)程序的三種基本狀態
我們已經知道了程序實際是一個動態的概念,我們再回到分時系統的原理上。分時系統是給一個程序分配一個時間片,讓這個程序執行,當程序時間片用完以後,為下一個程序分配時間片。當程序執行過程中發生阻塞,則主動讓出CPU控制權,給其它程序執行的機會。 分析上面的過程,每一時刻只有一個程序處於執行的狀態。而有多個程序處於等待分配時間片的狀態,這多個程序應該遵循一定的順序。事實上是存在於一個佇列中。這種等待分配時間片的狀態我們稱為就緒狀態,存放就緒程序的佇列就稱為就緒佇列。當CPU處於空閒狀態時,排程程式就會從就緒佇列中取出一個程序並執行。當程序時間片用完後,排程資訊就會把這個程序放入到就緒佇列中。 除了時間片用完,當程序IO請求時,程序會在IO請求完畢之前無法繼續執行,這類情況我們稱為程序的阻塞(可能出現程序阻塞的有IO請求,申請緩衝空間等)。當出現程序阻塞後,排程程式應該怎麼處理呢?首先程序肯定不能放入就緒態,因為放入就緒態就有可能被分配時間片,而此時程序不能繼續執行,這就浪費了CPU資源。排程程式對其進行的處理是將其放到一個阻塞佇列中,當IO完成時,再把它放回就緒佇列等待分配時間片。 圖1畫出了程序就緒態,執行態和阻塞態的關係
使用Toyix檢視程序的三種狀態
Toyix是一個專門為作業系統的基礎理論教學而編寫的系統,通過這個系統可以很方便的模擬程序的建立執行過程。
從Toyix網站(http://www.toyix.net/)下載系統並安裝(具體安裝方式請參考網站教程)
轉載:https://www.cnblogs.com/wangshuai6707/p/4430586.html
PID是各程序的代號,每個程序有唯一的PID編號。它是程序執行時系統隨機分配的,並不代表專門的程序。在執行時PID是不會改變識別符號的,但是你終止程式後再執行PID識別符號就會被系統回收,就可能會被繼續分配給新執行的程式。
含義
只要執行一程式,系統會自動分配一個標識。
是暫時唯一:程序中止後,這個號碼就會被回收,並可能被分配給另一個新程序。
只要沒有成功執行其他程式,這個PID會繼續分配給當前要執行的程式。
如果成功執行一個程式,然後再執行別的程式時,系統會自動分配另一個PID。 是暫時唯一:程序中止後,這個號碼就會被回收,並可能被分配給另一個新程序。 只要沒有成功執行其他程式,這個PID會繼續分配給當前要執行的程式。 如果成功執行一個程式,然後再執行別的程式時,系統會自動分配另一個PID。 作業系統中程序管理的基本原理
1)程序的三種基本狀態
我們已經知道了程序實際是一個動態的概念,我們再回到分時系統的原理上。分時系統是給一個程序分配一個時間片,讓這個程序執行,當程序時間片用完以後,為下一個程序分配時間片。當程序執行過程中發生阻塞,則主動讓出CPU控制權,給其它程序執行的機會。 分析上面的過程,每一時刻只有一個程序處於執行的狀態。而有多個程序處於等待分配時間片的狀態,這多個程序應該遵循一定的順序。事實上是存在於一個佇列中。這種等待分配時間片的狀態我們稱為就緒狀態,存放就緒程序的佇列就稱為就緒佇列。當CPU處於空閒狀態時,排程程式就會從就緒佇列中取出一個程序並執行。當程序時間片用完後,排程資訊就會把這個程序放入到就緒佇列中。 除了時間片用完,當程序IO請求時,程序會在IO請求完畢之前無法繼續執行,這類情況我們稱為程序的阻塞(可能出現程序阻塞的有IO請求,申請緩衝空間等)。當出現程序阻塞後,排程程式應該怎麼處理呢?首先程序肯定不能放入就緒態,因為放入就緒態就有可能被分配時間片,而此時程序不能繼續執行,這就浪費了CPU資源。排程程式對其進行的處理是將其放到一個阻塞佇列中,當IO完成時,再把它放回就緒佇列等待分配時間片。 圖1畫出了程序就緒態,執行態和阻塞態的關係
使用Toyix檢視程序的三種狀態
Toyix是一個專門為作業系統的基礎理論教學而編寫的系統,通過這個系統可以很方便的模擬程序的建立執行過程。
從Toyix網站(http://www.toyix.net/)下載系統並安裝(具體安裝方式請參考網站教程)
轉載:https://www.cnblogs.com/wangshuai6707/p/4430586.html