作業系統第二章第二節

2021-08-28 04:07:12 字數 2143 閱讀 5937

程序控制的基本過程:

程序的建立

程序的終止

程序的阻塞與喚醒

程序的掛起和啟用

關於程序的親屬關係:

系統中執行的程序並不都是孤立的,有的程序執行後,會呼叫其他程序來執行,這樣就組成了程序間的父子關係。

可用 「程序圖」描述乙個程序的家族關係,該圖實際就是一種有向樹。

程序間的父子關係關係著資源的繼承。建立和撤銷程序時,其父、子程序要相應的被影響。

1.程序的建立

(1)乙個程序建立另一程序的事件(原因)

使用者登入:分時情況下使用者的請求

作業排程:批處理中

提供服務:執行中的使用者程式提出功能請求,要建立服務程序(如列印服務)

應用請求:應用程式自己建立程序,完成特定功能的新程序。(木馬程式)

(2)建立過程(很關鍵,不能被打斷)

- 申請空白pcb

-為新程序分配資源:主要是記憶體資源的處理

- 初始化程序控制塊:識別符號(包括父程序的)、程式計數器指向程式入口位址,就緒態、優先順序等資訊的填寫。

-將新程序插入就緒佇列

2.程序的終止

(1)引起程序終止的事件

-正常結束

-異常結束:

記憶體越界錯誤

保護錯(許可權錯,如修改唯讀檔案等)

非法指令(不存在的指令,程式異常轉向而把資料當指令)

特權指令錯(使用者態程式試圖執行只有os可執行的指令)

執行超時、運算錯、i/o故障等

-外界干預

操作員或作業系統干預(死鎖時,可人為結束)

父程序請求終止子程序

父程序終止,子孫程序也跟著終止

(2)終止過程

對上述事件,os呼叫核心終止原語,執行下列過程:

- 根據程序標示符,檢索出該程序pcb,讀其狀態。

*if 執行態,立即終止該程序,置排程標誌為真,指示重新進行排程。

*if 有子孫程序,亦應予以終止,以防成為不可控程序。

-歸還全部資源至其父程序或系統。

-將該程序pcb從所在佇列或鍊錶中移出

3.程序的阻塞與喚醒

(1).引起程序阻塞和喚醒的事件

請求系統服務的滿足情況

啟動某種需等待(i/o)操作

合作需要的新資料尚未到達

執行某功能的程序暫時無新工作可做(如傳送資料程序)

(2).阻塞和喚醒過程

由程序呼叫阻塞原語阻塞自己,是主動行為:

-將pcb中的狀態改為阻塞

-該pcb加入到阻塞佇列中

-轉程序排程,將處理機分配給另一程序

-進行程序切換,即根據兩切換程序的pcb,保護與重新設定處理機狀態。

阻塞與喚醒原語作用相反,成對使用

阻塞程序等待的事件發生時,有關程序(如放棄該資源的程序)呼叫喚醒原語把等待該事件的程序喚醒。

-把阻塞程序從等待該事件的阻塞佇列中移出

-將其pcb中的現行狀態改為就緒

-將pcb插入到就緒佇列中。

4.程序的掛起與啟用

程序的狀態,活動就緒則改為靜止就緒,活動阻塞則改為靜止阻塞

掛起原語將指定程序或阻塞程序掛起。

(1)檢查被掛起程序的狀態,活動就緒則改為靜止就緒,活動阻塞則改為靜止阻塞

(2)將該pcb複製到記憶體(方便檢查)/外存(對換)指定區域

(3)*若掛起的程序是執行態,則需重新進行程序排程。

注意:程序只能掛起自己或其子孫程序

啟用原語的執行過程:

-若掛起程序在外存上,將其調入記憶體

-檢查程序狀態,若處於靜止就緒,則改為活動就緒,若處於靜止阻塞,則改為活動阻塞

關於排程:

-程序控制中,狀態轉換和排程密切相關。

-執行態程序的改變必然產生排程行為

-只要產生新就緒態程序,就需考慮排程策略

只要是採用搶占式排程,要檢查新就緒程序是否可搶占cpu,引起新的排程

第二章 第二節 注釋

零 怎麼編寫注釋 編寫注釋的方式有三種 1.以 開頭 2.以三個 開頭和結尾 3.以三個 開頭和結尾 定義乙個字串變數 name 張三 定義乙個函式 defgetname return name defsetname n param n 姓名 return name n defsetage age ...

Git學習第二章第二節

你不斷對檔案進行修改,然後不斷提交修改到版本庫里,就好比玩rpg遊戲時,每通過一關就會自動把遊戲狀態存檔,如果某一關沒過去,你還可以選擇讀取前一關的狀態。有些時候,在打boss之前,你會手動存檔,以便萬一打boss失敗了,可以從最近的地方重新開始。git也是一樣,每當你覺得檔案修改到一定程度的時候,...

第二章 作業系統

考試題型分析 選擇題 考試時間 上午試題型別 選擇題分值 6 8分 分值佔比 舉例 包餃子。前驅圖表示出了有些任務是有先後順序的,有些任務是可以並行操作的,箭頭表示約束。首次適應法 最佳適應法 最差適應法 迴圈首次適應法 邏輯位址與實體地址轉換 那麼如何根據邏輯位址求實體地址呢?我們得首先知道那一部...