作業系統 程序控制

2021-10-09 17:34:27 字數 695 閱讀 6972

程序控制的主要功能是對系統中的所有程序實施有效的管理,它具有建立新程序、撤銷已有程序、實現程序狀態轉換等功能。

簡化理解:程序控制就是要實現程序狀態的轉換。

原語實現程序控制。原語的特點是執行期間不允許中斷,只能一氣呵成。這種不可中斷的操作即原子操作

原語採用「關中斷」指令和「開中斷指令」實現。

關中斷指令執行後,外部中斷訊號將被忽略,直到開中斷執行。

顯然,開/關中斷指令的許可權非常大,必然是只允許在核心態下執行的特權指令

程序控制會導致程序狀態的轉換。無論哪個原語,要做的無非三類事情:

更新pcb中的資訊(如修改程序狀態標誌、將執行環境儲存到pcb、從pcb恢復執行環境)

a. 所有的程序原語一定都會修改程序狀態標誌

b. 剝奪當前執行程序的cpu使用權必然需要儲存其執行環境

c. 某程序開始執行前必然要恢復其執行環境。

將pcb插入合適的佇列

分配/**資源

注意:阻塞原語和喚醒原語必須成對使用

因何事阻塞就應有何事喚醒

作業系統 程序控制

附錄 1.程序的建立 include includemain 2.程序的互斥 1 同步 include includemain else else 2 互斥 include includemain else else 3.程序的軟中斷通訊 include include includevoid wa...

作業系統 程序控制

知識總結 目錄 程序控制 1.程序建立 使用者登入,作業排程,列印等會導致新程序的建立 原語 原語 作業系統或 計算機網路用語範疇。是由若干條指令組成的,用於完成一定功能的乙個過程。是由若干個 機器指令 構成的完成某種特定功能的一段程式,具有不可分割性 即原語的執行必須是連續的,在執行過程中不允許被...

作業系統 程序控制

fork 使用fork建立乙個子程序 在子程序從此時開始執行,並不執行fork前的內容 fork在父程序中返回子程序的pid,在子程序中返回0 子,父程序是並行執行的,所以輸出可能是摻雜到一起的 includemain fork表示開啟乙個子程序,從 的此處開始執行 區別父子程序是通過fork的返回...