第二章 程序管理 課後題

2021-10-07 21:03:06 字數 1631 閱讀 8297

綜合應用

作業系統提供給應用程式的介面是: (系統呼叫)

wait(s) 操作中的block(s.l) 阻塞的程序是(呼叫wait(s)的程序)

在乙個單處理系統中存在5個程序, 處於就緒佇列中的就緒程序數最多為(5個)

若記錄型訊號量的wait(s)和signal(s)操作的訊號量s的初始值為2, 當前值為-1, 則在s的阻塞佇列中處理阻塞狀的程序數為: (1個)

程序是由正文段, 使用者資料段, 程序控制塊構成的實體

程序的3種基本狀態是:就緒態, 執行態, 阻塞態整型訊號量的值只能被wait操作signal操作改變, 不允許系統中的其它程式改變訊號量的值

臨界區是指訪問臨界資源的**

程序與程式的區別:

兩者的聯絡:

呼叫建立新程序的系統呼叫來建立程序的一般步驟如下:

時鐘驅動程式的功能:

假定中斷處理過程中不再響應新近產生的中斷資訊, 直到本次中斷處理完畢. 同時假定中斷處理完畢,cpu返回被中斷的程式斷點繼續執行被中斷的程式

cpu在反覆執行指令的過程中,每執行完一條指令, 都會檢測是否有外部中斷訊號的到來. 如果檢測到中斷資訊, 則轉中斷處理過程.

關鍵過程過程如下:

轉中斷處理程式, 保護現場

執行特定的中斷服務子程式

恢復現場

開中斷中斷返回 繼續執行被中斷的程式

程序是作業系統管理的產體, 有以下幾個特徵:

有兩個程序pa, pb合作解決檔案列印問題: pa將檔案記錄從磁碟讀入主存的緩衝區, 每執行一次讀乙個記錄; pb將緩衝區的內容列印出來, 每執行一次列印乙個記錄. 緩衝區的大小等於乙個記錄的大小. 請用記錄型訊號量機制的wait(s)和signal(s)操作來保證檔案的正確列印, 並寫出同步**.

# 宣告變數

type semaphore = record

value: integer;

l: list of process;

end# 定義wait(s)函式

procedure wait(s)

var s; semaphore;

begin

s.value = s.value-1;

if s.value < 0 then block(s.l)

end.

# 定義signal(s)函式

procedure signal(s)

var s: semaphore;

begin

s.value = s.value+1

if s.value <=0 then wakeup(s.l)

end.

# 執行**

var s: semaphore;

s.value = 1

begin

repeat

wait(s) // 呼叫wait()函式

pa();

signal(s);

pb();

until false;

end

第二章 程序管理

報考的是三系老師 不是搞硬體的 但由於自己考研時選的科目有作業系統,所以 大致看一下了解即可 1 程序通訊 第一 共享儲存 第二 訊息傳遞 分為直接通訊方式 和 信箱通訊方式 第三 管道通訊 1 排程的層次 第一 作業排程 高階排程 按一定原則從外村上處於後備狀態的作業中挑選乙個 或多個 作業,給它...

第二章 程序管理(4) 程序通訊

2.5 管程機制 一種新的程序同步工具 利用共享資料結構抽象地表示系統中的共享資源 把共享的資源抽象的用共享資料結構來表示 而把對該共享資料結構實施的操作定義為一組過程,如資源的請求和釋放過程request 和release。程序對共享資源的申請 釋放和其它操作,都是通過這組過程對共享資料結構的操作...

第二章 程序通訊

1 低階通訊 程序之間的互斥和同步 訊號量機制是有效的同步工具,但作為通訊工具缺點如下 1 效率低 通訊量少 2 通訊對使用者不透明 程式設計師實現,作業系統只提供共享儲存器供 操作 2 高階程序通訊 使用者直接利用作業系統提供的一組通訊命令,高效地傳送大量資料的通訊方式。作業系統隱藏了程序通訊的細...