vmware-vmx.exe无法结束进程_?进程的状态转换
生活随笔
收集整理的這篇文章主要介紹了
vmware-vmx.exe无法结束进程_?进程的状态转换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、進程的狀態和轉換
1.1進程的三態模型
按進程在執行過程中的不同情況至少要定義三種狀態:
- 運行(running)態:進程占有處理器正在運行的狀態。
進程已獲得CPU,其程序正在執行。在單處理機系統中,只有一個進程處于執行狀態; 在多處理機系統中,則有多個進程處于執行狀態。 - 就緒(ready)態:進程具備運行條件,等待系統分配處理器以便運行的狀態。
當進程已分配到除CPU以外的所有必要資源后,只要再獲得CPU,便可立即執行,進程這時的狀態稱為就緒狀態。在一個系統中處于就緒狀態的進程可能有多個,通常將它們排成一個隊列,稱為就緒隊列。 - 等待(wait)態:又稱阻塞態或睡眠態,指進程不具備運行條件,正在等待某個時間完成的狀態。
也稱為等待或睡眠狀態,一個進程正在等待某一事件發生(例如請求I/O而等待I/O完成等)而暫時停止運行,這時即使把處理機分配給進程也無法運行,故稱該進程處于阻塞狀態。
1.2 進程的五態模型
五態模型在三態模型的基礎上增加了新建態(new)和終止態(exit)。
- 新建態:對應于進程被創建時的狀態,尚未進入就緒隊列。
創建一個進程需要通過兩個步驟:
1.為新進程分配所需要資源和建立必要的管理信息。
2.設置該進程為就緒態,并等待被調度執行。 - 終止態:指進程完成任務到達正常結束點,或出現無法克服的錯誤而異常終止,或被操作系統及有終止權的進程所終止時所處的狀態。
處于終止態的進程不再被調度執行,下一步將被系統撤銷,最終從系統中消失。
終止一個進程需要兩個步驟:
1.先等待操作系統或相關的進程進行善后處理(如抽取信息)。
2.然后回收占用的資源并被系統刪除。
1.3 進程的七態模型
三態模型和五態模型都是假設所有進程都在內存中的事實上有序不斷的創建進程,當系統資源尤其是內存資源已經不能滿足進程運行的要求時,必須把某些進程掛起(suspend),對換到磁盤對換區中,釋放它占有的某些資源,暫時不參與低級調度。起到平滑系統操作負荷的目的。
引起進程掛起的原因是多樣的,主要有:1.終端用戶的請求。當終端用戶在自己的程序運行期間發現有可疑問題時,希望暫停使自己的程序靜止下來。亦即,使正在執行的進程暫停執行;若此時用戶進程正處于就緒狀態而未執行,則該進程暫不接受調度,以便用戶研究其執行情況或對程序進行修改。我們把這種靜止狀態成為“掛起狀態”。 2.父進程的請求。有時父進程希望掛起自己的某個子進程,以便考察和修改子進程,或者協調各子進程間的活動。 3.負荷調節的需要。當實時系統中的工作負荷較重,已可能影響到對實時任務的控制時,可由系統把一些不重要的進程掛起,以保證系統能正常運行。 4.操作系統的需要。操作系統有時希望掛起某些進程,以便檢查運行中的資源使用情況或進行記賬。 5.對換的需要。為了緩和內存緊張的情況,將內存中處于阻塞狀態的進程換至外存上。
七態模型在五態模型的基礎上增加了掛起就緒態(ready suspend)和掛起等待態(blocked suspend)。
- 掛起就緒態:進程具備運行條件,但目前在外存中,只有它被對換到內存才能被調度執行。
- 掛起等待態:表明進程正在等待某一個事件發生且在外存中。
掛起進程等同于不在內存中的進程,因此掛起進程將不參與低級調度直到它們被調換進內存。
掛起進程具有如下特征:
- 該進程不能立即被執行
- 掛起進程可能會等待一個事件,但所等待的事件是獨立于掛起條件的,事件結束并不能導致進程具備執行條件。 (等待事件結束后進程變為掛起就緒態)
- 進程進入掛起狀態是由于操作系統、父進程或進程本身阻止它的運行。
- 結束進程掛起狀態的命令只能通過操作系統或父進程發出。
(如有錯誤,還望指正)
總結
以上是生活随笔為你收集整理的vmware-vmx.exe无法结束进程_?进程的状态转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑基础操作_在东莞大朗,学习电脑办公软
- 下一篇: android 高德地图设置不能旋转_你