綜合應用
作業系統提供給應用程式的介面是: (系統呼叫
)
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 高階程序通訊 使用者直接利用作業系統提供的一組通訊命令,高效地傳送大量資料的通訊方式。作業系統隱藏了程序通訊的細...