作業系統 程序

2021-09-25 12:18:23 字數 1312 閱讀 9284

中級排程使用的方案稱為交換,為了改善程序組合,或者由於記憶體需求改變導致過度使用記憶體從而需要釋放記憶體,就有必要使用交換。

切換cpu到另外乙個程序需要儲存當前程序狀態和恢復另乙個程序狀態,這個任務稱為上下文切換。當進行上下文切換時,核心會將舊程序狀態儲存在其pcb中,然後載入經排程而要執行的新程序的上下文。

如果處理器提供了多個暫存器組,上下文切換只需簡單改變當前暫存器組的指標。當然,如果活動程序數量超過暫存器的組數,那麼系統需要像以前一樣在暫存器與記憶體之間進行資料複製。

方法不能實現

優點缺點

單標誌法

空閒讓進

-造成資源利用不充分

雙標誌先檢查

忙則等待不用交替進入,可連續使用

-雙標誌後檢查法

空閒讓進-

互相「謙讓」,可能造成飢餓

peterson

讓權等待

-注意:peterson演算法滿足有限等待,但不能實現讓權等待。

包括:

優點:適用於任意數目的程序,而不管是單處理機還是多處理機;簡單。

缺點:不能實現讓權等待,可能導致飢餓現象。

往年的考題會在選擇題裡出現這些方法的偽**,如果能一眼看出是哪個方法,再答題的時候會事半功倍。

本節內容參考自《現代作業系統》p86

關係分析。首先應該確定問題中存在哪些同步關係。只要存在一對同步關係,往往就需要一種資源訊號量。

確定臨界資源。

整理思路

資源訊號量值的含義(常考選擇題):

注意區分迴圈等待和死鎖。

銀行家演算法屬於死鎖避免

預先靜態分配方法破壞的請求並保持條件,順序資源分配法破壞迴圈等待條件。

區分不安全狀態和死鎖。

程序狀態變化及可能的引起事件。

程序優先順序的設定。[《王道》p61t10]

關於時間片的程序排程演算法的敘述。

作業排程順序(在不同的排程演算法下)。

作業完成事件計算(畫甘特圖)

處理機排程的時機。

訊號量值的意義。

併發程序執行結果。

實現臨界區互斥的基本方法

考察對於死鎖預防、死鎖避免和死鎖檢測的區分。[《王道》p133t32]難題

考察銀行家演算法和安全序列。需要熟練掌握銀行家演算法,選擇題可以使用排除法作答。

求死鎖狀態程序數。只能列舉。[《王道》p133t31]

作業系統 程序

在作業系統中,作業系統將記憶體,網路,檔案系統抽象為資源的統一抽象表示。1 什麼是程序 程序就是進入記憶體中正在執行的程式。把程序當做一組元素組成的實體。程序包括兩個部分,一部分是 部分,另一部分是 相關的資料集合。程序控制塊 每乙個程序,在核心中都對應著乙個程序控制塊。程序控制塊中儲存著程序的所有...

作業系統 程序

程序是作業系統中的重要概念,描述了程式的執行資訊。乙個程序就是一次執行。可以把程式想象成類,程序就是例項。引入程序的概念有利於實現多程式並行的設計。每乙個程式執行的時候可以大致分為io任務和計算任務,如果乙個程序正在io,那麼應該把cpu讓給另乙個程序執行計算任務,這樣可以提公升cpu的利用率,這就...

作業系統程序

乙個程序就是乙個正在執行的程式。它包括 程序狀態。包括 每個程序在作業系統中用程序控制塊pcb來表示,用來儲存與該程序有關的各種狀態資訊。pcb只是基本原理中的說法,對於乙個真實的作業系統可能不叫pcb,比如linux中叫做任務結構體 task struct 分時系統是在程序之間快速切換,以便使用者...