進程pid理解


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM