一、單項選擇題
1.以下對程序的描述中,錯誤的是 d 。
a.程序是動態的概念 b.程序執行需要處理機
c.程序是有生命期的 d.程序是指令的集合
2.併發程序指的是 c 。
a.可並行執行的程序 b.可同一時刻執行的程序
c.可同時執行的程序 d.不可中斷的程序
3.分配到必要的資源並獲得處理機時間的程序狀態是 b 。
a.就緒狀態 b.執行狀態 c.阻塞狀態 d.撤銷狀態
4.某個執行中的程序要申請印表機,它將變為 b 。
a.就緒態 b.阻塞態 c.建立態 d.撤銷態
5.以下程序狀態轉變中, c 轉變是不可能發生的。
a.執行一》就緒 b.執行一》阻塞 c.阻塞一》執行 d.阻塞一》就緒
6.當 b 時,程序從執行狀態轉變為就緒狀態。
a.程序被排程程式選中 b.時間片到
c.等待某一事件 d.等待的事件發生
7.程序狀態由就緒態轉換為執行態是由 c 引起的。
a.中斷事件 b.程序狀態轉換 c.程序排程 d.為程式建立程序
8.乙個程序被喚醒意味著 d 。
a.該程序一定重新占用cpu b.它的優先順序變為最大
c.其pcb移至就緒佇列隊首 d.程序變為就緒狀態
9.若p、v操作的訊號量s初值為2,當前值為—1,則表示有—b—等待程序。
(設訊號量的當前值為x。 1.訊號量的值如果為負數, 那麼等待的程序數為-x個。 2.訊號量的值如果為正數, 那麼空閒的資源數為x個)
a.0個 b.1個 c.2個 d.3個
10.一次i/o操作的結束,有可能導致 a 。
a.乙個程序由阻塞變為就緒 b.幾個程序由阻塞變為就緒
c.乙個程序由阻塞變為執行 d.幾個程序由阻塞變為執行
二、綜合應用題
1.在單使用者系統中,有n個程序,問排在就緒佇列和等待佇列中程序個數的範圍是什麼?
就緒:0-n-1 等待:0-n
2.回答以下問題:
(1)若系統中沒有執行程序,是否一定沒有就緒程序?為什麼?
是。因為若系統中沒有執行程序,那麼系統很快會選擇乙個就緒程序執行。 只有就緒佇列中無程序時,cpu才可能處於空閒狀態:
(2)若系統中既沒有執行程序,也沒有就緒程序,系統中是否就沒有程序?為什麼?
不一定。因為系統中的所有程序可能都處於等待狀態,但不一定處於死鎖狀態。
(3)在採用優先順序程序排程時,執行程序是否一定是系統中優先順序最高的程序?
不一定。因為高優先順序的程序有可能正處在等待佇列中,程序排程就從就緒佇列中選乙個程序占用cpu,這個被選中的程序可能優先順序較低。
3. 某博物館最多可容納500人同時參觀,有乙個出入口,該出入口一次僅允許乙個人通過。參觀者的活動描述如下:
參觀者程序i:
begin
進門; 參觀; 出門
end定義兩個訊號量 semaphore empty=500; //博物館可以容納的最多人數
semaphore mutex=1; //用於出入口資源的控制
cobegin 參觀者程序i:
coend
4. 桌上有一空盤,允許存放乙個水果。爸爸可向盤中放蘋果,也可向盤中放橘子,兒子專等吃盤中的橘子,女兒專等吃盤中的蘋果。規定當盤空時一次只能放乙隻水果供吃者取用,請用p、v原語實現爸爸、兒子、女兒三個併發程序的同步。
1.爸爸
p(emptydish)
if (rand()%2==0)
else
2.兒子
p(orange)
取桔子v(emptydish)
3.女兒
取蘋果
作業系統02 處理機管理
處理機排程是系統對處理機資源進行分配,使處於就緒狀態的程序得以執行。使用的處理機排程演算法決定了大型系統執行時的效能。1.處理機排程層次 乙個作業從提交到獲得處理機執行,直至作業執行完畢,可能需要經過多級處理機排程。處理機排程的層次分三層 2.作業與作業排程 3.程序排程 4.實時排程 優先順序倒置...
作業系統之 處理機(1)處理機排程
長程排程 作業排程 排程物件是作業,決定作業何時裝入記憶體,為其建立程序 分配資源,放入就緒佇列中。主要用於多批道處理系統 記憶體排程 將暫時無法執行的程序從記憶體調到外存,合適時將外存的就緒程序調入記憶體執行。實際為儲存器管理中的對換功能,見後續.短程排程 程序排程 排程物件是程序,決定就緒佇列中...
作業系統實驗一 處理器管理
作業系統實驗一 處理器管理 實驗報告 一 實驗目的 1 加深對處理機排程的作用和工作原理的理解。2 進一步認識併發執行的實質。二 實驗要求 本實驗要求用高階語言,模擬在單處理器情況下,採用多個排程演算法,對n個程序進行程序排程。語言自選。並完成實驗報告。三 實驗內容 在採用多道程式設計的系統中,往往...