3.1 什么是指令跟蹤?
指令跟蹤是指為該進程而執行的指令序列
3.2 哪些常見事件會觸發進程的創建?
新的批處理作業、交互系統登陸、為提供服務而由操作系統創建、現有進程派生
3.3 簡要定義圖3.6所示進程模型中的每種狀態。
新建態:剛剛創建的進程,OS還未將其加入可執行進程組,通常是操作系統為進程創建了PCB但未加載到內存中的新進程。
就緒態:進程運行所需的條件都已具備,等待運行機會
運行態:進程占有CPU,正在執行
阻塞態:進程正在等待某事件發生(例如I/O事件)
退出態:OS從可執行進程組中釋放的進程,自身已停止或因某種原因被取消
3.4 搶占一個進程是什么意思?
處理器為了執行另外的進程而終止當前正在執行的進程
3.5 什么是交換,其目的是什么?
交換是把主存中某個進程的一部分或者全部內容轉移到磁盤。當主存中沒有就緒態進程時,OS講一個阻塞態進程換出到磁盤中的掛起隊列,使另一個進程可以進入主存執行。
3.6 為何圖3.9(b)中有兩個阻塞態?
兩個獨立的概念,進程是否在等待一個事件(阻塞)以及進程是否已經被換出主存(掛起)。為適應2*2組合,需要兩個阻塞態和兩個掛起態。
3.7 列出掛起態進程的4個特點。
進程不能立即執行
進程可能在或不在等待一個事件。若在等待一個事件,阻塞條件不依賴於掛起條件,阻塞事件的發生不會使進程立即執行。
為阻止該進程執行,代理置其於掛起態,代理可以是進程本身、父進程或OS
除非代理顯式的命令系統進行狀態轉換,否則進程無法從這一狀態轉移
3.8 操作系統會為哪類實體維護信息表?
內存、文件、I/O,進程
3.9 列出進程控制塊的三類信息。
進程標識信息、進程狀態信息、進程控制信息
3.10 為什么需要兩種模式?
為防止OS收到破壞或修改,用戶模式下可執行的指令和訪問的內存區域受限。內核模式下沒有這些限制,使它能夠完成其功能。
3.11 操作系統創建一個新進程的步驟是什么?
創建PCB、為新進程分配一個唯一的進程標識符、為進程分配空間、初始化進程控制塊、設置正確的鏈接、創建或擴充其他數據結構
3.12 中斷和陷阱有何區別?
中斷與當前正在運行的進程無關的某些類型的外部事件相關。完成一次I/O操作
陷阱與當前正在運行的進程所產生的錯誤或異常條件相關。非法的文件訪問
3.13 舉出中斷的三個例子。
時鍾中斷、I/O中斷、內存失效
3.14 模式切換和進程切換有何區別?
模式切換可不改變當前處於運行態進程的狀態。進程切換時,一個正在執行的進程被中斷,操作系統指定另一個進程為運行態。進程切換需要保存更多的狀態信息。