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