熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> 操作系統 >> 正文

操作系統:進程管理進程控制[1]

2013-11-15 15:57:23  來源: 操作系統 

   進程控制

   進程的創建

   進程圖(Process Graph)

   引起創建進程的事件

  () 用戶登錄

  () 作業調度

  () 提供服務

  () 應用請求

   進程的創建(Creation of Progress)

  ()申請空白PCB

  () 為新進程分配資源

  () 初始化進程控制塊

  () 將新進程插入就緒隊列如果進程就緒隊列能夠接納新進程便將新進程插入就緒隊列

   進程的終止

   引起進程終止(Termination of Process)的事件

  ) 正常結束

  在任何計算機系統中都應有一個用於表示進程已經運行完成的指示例如在批處理系統中通常在程序的最後安排一條Holt指令或終止的系統調用當程序運行到Holt指令時將產生一個中斷去通知OS本進程已經完成在分時系統中用戶可利用Logs off去表示進程運行完畢此時同樣可產生一個中斷去通知OS進程已運行完畢

  ) 異常結束

  在進程運行期間由於出現某些錯誤和故障而迫使進程終止這類異常事件很多常見的有①越界錯誤這是指程序所訪問的存儲區已越出該進程的區域②保護錯進程試圖去訪問一個不允許訪問的資源或文件或者以不適當的方式進行訪問例如進程試圖去寫一個只讀文件③非法指令程序試圖去執行一條不存在的指令出現該錯誤的原因可能是程序錯誤地轉移到數據區把數據當成了指令④特權指令錯用戶進程試圖去執行一條只允許OS執行的指令⑤運行超時進程的執行時間超過了指定的最大值 ⑥等待超時進程等待某事件的時間超過了規定的最大值⑦算術運算錯進程試圖去執行一個被禁止的運算例如⑧I/O故障這是指在I/O過程中發生了錯誤等

  ) 外界干預

  外界干預並非指在本進程運行中出現了異常事件而是指進程應外界的請求而終止運行這些干預有① 操作員或操作系統干預由於某種原因例如發生了死鎖由操作員或操作系統終止該進程② 父進程請求由於父進程具有終止自己的任何子孫進程的權利因而當父進程提出請求時系統將終止該進程③ 父進程終止當父進程終止時OS也將他的所有子孫進程終止

   進程的終止過程

  () 根據被終止進程的標識符從PCB集合中檢索出該進程的PCB從中讀出該進程的狀態

  () 若被終止進程正處於執行狀態應立即終止該進程的執行並置調度標志為真用於指示該進程被終止後應重新進行調度

  () 若該進程還有子孫進程還應將其所有子孫進程予以終止以防他們成為不可控的進程

  () 將被終止進程所擁有的全部資源或者歸還給其父進程或者歸還給系統

  () 將被終止進程(它的PCB)從所在隊列(或鏈表)中移出等待其他程序來搜集信息

了解更多計算機相關基礎課程視頻

 

[]  []  


From:http://tw.wingwit.com/Article/program/czxt/201311/24270.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.