第三章—進程描述和控制【計算機操作系統】

3.1   什麼是指令跟蹤?

指令跟蹤是指爲該進程而執行的指令序列。

3.2   通常那些事件會導致創建一個進程?

新的批處理作業;交互登錄;操作系統因爲提供一項服務而創建;由現有的進程派生。(表3.1)

3.3   對於圖3.6中的進程模型,請簡單定義每個狀態。

運行態:該進程正在執行。就緒態:進程做好了準備,只要有機會就開始執行。

阻塞態:進程在某些事件發生前不能執行,如I/O操作完成。

新建態:剛剛創建的進程,操作系統還沒有把它加入到可執行進程組中。

退出態:操作系統從可執行進程組中釋放出的進程,或者是因爲它自身停止了,或者是因爲某種原因被取消。

3.4   搶佔一個進程是什麼意思?

處理器爲了執行另外的進程而終止當前正在執行的進程,這就叫進程搶佔。

3.5   什麼是交換,其目的是什麼?

交換是指把主存中某個進程的一部分或者全部內容轉移到磁盤。當主存中沒有處於就緒態的進程時,操作系統就把一個阻塞的進程換出到磁盤中的掛起隊列,從而使另一個進程可以進入主存執行。

3.6   爲什麼圖3.9(b)中有兩個阻塞態?

有兩個獨立的概念:進程是否在等待一個事件(阻塞與否)以及進程是否已經被換出主存(掛起與否)。爲適應這種2*2的組合,需要兩個阻塞態和兩個掛起態。

3.7   列出掛起態進程的4個特點。

1.進程不能立即執行。

2.進程可能是或不是正在等待一個事件。如果是,阻塞條件不依賴於掛起條件,阻塞事件的發生不會使進程立即被執行。

3.爲了阻止進程執行,可以通過代理把這個進程置於掛起態,代理可以是進程自己,也可以是父進程或操作系統。

4.除非代理顯式地命令系統進行狀態轉換,否則進程無法從這個狀態中轉移。

3.8   對於哪類實體,操作系統爲了管理它而維護其信息表?

內存、I/O、文件和進程。

3.9   列出進程控制塊中的三類信息。

進程標識,處理器狀態信息,進程控制信息。

3.10 爲什麼需要兩種模式(用戶模式和內核模式)?

用戶模式下可以執行的指令和訪問的內存區域都受到限制。這是爲了防止操作系統受到破壞或者修改。而在內核模式下則沒有這些限制,從而使它能夠完成其功能。

3.11 操作系統創建一個新進程所執行的步驟是什麼?

1.給新進程分配一個唯一的進程標識號。2.給進程分配空間。3.初始化進程控制塊。4.設置正確的連接。5.創建或擴充其他的數據結構。

3.12 中斷和陷阱有什麼區別?

中斷與當前正在運行的進程無關的某些類型的外部事件相關,如完成一次I/O操作。陷阱與當前正在運行的進程所產生的錯誤或異常條件相關,如非法的文件訪問。

3.13 舉出中斷的三個例子。

時鐘終端,I/O終端,內存失效。

3.14 模式切換和進程切換有什麼區別?

發生模式切換可以不改變當前正處於運行態的進程的狀態。發生進程切換時,一個正在執行的進程被中斷,操作系統指定另一個進程爲運行態。進程切換需要保存更多的狀態信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章