2023年計算機考研408作業系統真題(客觀題)

2021-10-13 07:33:33 字數 4193 閱讀 3322

1、下列關於多工作業系統的敘述中,正確的是

ⅰ. 具有併發和並行的特點

ⅱ. 需要實現對共享資源的保護

ⅲ. 需要執行在多 cpu 的硬體平台上

a. 僅ⅰ

b. 僅ⅱ

c. 僅ⅰ、ⅱ

d.ⅰ、ⅱ、ⅲ

答案:c

解析:多工作業系統可以在同一時間內執行多個應用程式,即多工作業系統具有併發和並行的特點,即 i 正確;

多個任務必須互斥地訪問共享資源,為達到這一目標必須對共享資源進行必要的保護,即 ii 正確;

現代作業系統都是多工的,並不一定需要執行在多cpu的硬體上,單個cpu也可以滿足要求,即 iii 錯誤。

2、某系統採用基於優先權的非搶占式程序排程策略,完成一次程序排程和程序切換的系統時間開銷為 1μs。在 t 時刻就緒佇列中有 3 個程序 p1、p2 和 p3,其在就緒佇列中的等待時間、需要的 cpu 時間和優先權如下表所示。

若優先權值大的程序優先獲得 cpu,從 t 時刻起系統開始程序排程, 則系統的平均周轉時間

為a. 54 μs b. 73 μs c. 74 μs d. 75 μs

答案:d

解析:因優先權值大的程序優先獲得cpu,程序的執行順序為p2 -> p3 -> p1。

p2的周轉時間為:1+15+24=40 μs;

p3的周轉時間為:18+1+24+1+36=80 μs;

p1的周轉時間為:30+1+24+1+36+1+12=105 μs。

系統的平均周轉時間為:(40+80+105)/ 3 = 225 / 3 =75 μs。

3、屬於同一程序的兩個執行緒 thread1 和 thread2 併發執行,共享初值為 0的全域性變數 x。thread1

和 thread2 實現對全域性變數 x 加 1 的機器級**描述如下。

在所有可能的指令執行序列中,使 x 的值為 2 的序列個數是

a. 1 b. 2 c. 3 d. 4

答案:b

解析:閱讀兩個執行緒**可知,thread1和thread2均是對x進行加1操作,x的初始值為0,若要使最終x=2,只有先執行thread1再執行thread2,或者先執行thread2再thread1,即只有2種可能使x的值為2。

4、 假設系統中有 4 個同類資源,程序 p1、p2 和 p3需要的資源數分別為 4、3 和 1,p1、p2 和 p3 已申請到的資源數分別為 2、1 和 0,則執行安全性檢測演算法的結果是

a. 不存在安全序列,系統處於不安全狀態

b. 存在多個安全序列,系統處於安全狀態

c. 存在唯一安全序列 p3、p1、 p2,系統處於安全狀態

d. 存在唯一安全序列 p3、 p2、p1,系統處於安全狀態

答案:a

解析:由題中資料可知,僅剩最後乙個同類資源,若將其分給p1或p2,則均無法正常執行;

若分給p3,則p3正常執行完成後,釋放的這個資源仍無法是p1、p2正常執行,故不存在安全序列,系統處於不安全狀態。

5、下列選項中,可能導致當前程序 p 阻塞的事件是

ⅰ. 程序 p 申請臨界資源

ⅱ. 程序 p 從磁碟讀資料

ⅲ. 系統將 cpu 分配給高優先權的程序

a. 僅ⅰ

b. 僅ⅱ

c. 僅ⅰ、ⅱ

d.ⅰ、ⅱ、ⅲ

答案:c

解析:程序等待某資源為可用(不包括處理機)或等待輸入輸出完成均會進入阻塞態,即 i、ii正確;

系統將cpu分配給高優先權的程序,會使當前程序從執行態變為就緒態,即 iii 錯誤。

6、若 x 是管程內的條件變數,則當程序執行 x.wait() 時所做的工作是

a. 實現對變數 x 的互斥訪問

b. 喚醒乙個在 x 上阻塞的程序

c. 根據 x 的值判斷該程序是否進人阻塞狀態

d. 阻塞該程序,並將之插入 x 的阻塞佇列中

答案:d

解析:「條件變數」是管程內部說明和一種特殊變數,其作用類似於訊號量機制中的「訊號量」,都是用於實現程序同步的。需要注意的是,在同一時刻,管程中只能有乙個程序在執行。若程序a執行了x.wait()操作,則該程序將會阻塞,並掛到條件變數x對應的阻塞佇列上。這樣。管程的使用權被釋放,就可以有另乙個程序進入管程,若程序b執行了x.signal()操作,那麼會喚醒x對應的阻塞佇列頭程序。在pascal語言的管程中,規定只有乙個程序要離開管程才能呼叫signal()操作。

ps:關於管程常見易錯點:

(1)、管程是程序同步工具,解決訊號量機制大量同步操作分散的問題;

(2)、管程每次只允許乙個程序進入管程;

(3)、管程是被程序呼叫的,管程是語法範圍,無法建立和撤銷;

(4)、管程中定義的變數只能被管程內的過訪問;

(5)、管程是由程式語言支援的程序同步機制;

(6)、管程不僅能實現程序間的互斥,而且能實現程序間的同步;

(7)、管程的signal操作與訊號量機制中的v操作不同;

(8)、管程由侷限於管程的共享變數說明、對管程內的資料結構進行操作的一組過程及侷限於管程的資料設定初始值的語句組成。

7、當定時器產生時鐘中斷後,由時鐘中斷服務程式更新的部分內容是

ⅰ.核心中時鐘變數的值

ⅱ.當前程序占用 cpu 的時間

ⅲ.當前程序在時間片內的剩餘執行時間

a. 僅ⅰ、ⅱ

b. 僅ⅱ、ⅲ

c. 僅ⅰ、ⅲ

d. ⅰ、ⅱ、ⅲ

答案:d

解析:時鐘中斷的主要工作是處理和時間有關的資訊以及決定是否執行排程程式,和時間有關的所有資訊,包括系統時間、程序的時間片、延時、使用cpu的時間、各種定時器,即 i 、ii 、iii均正確。

8、系統總是訪問磁碟的某個磁軌而不響應對其他磁軌的訪問請求, 這種現象稱為磁臂黏著。下列磁碟排程演算法中,不會導致磁臂粘著的是

a . 先來先服務( fcfs)

b. 最短尋道時間優先( sstf)

c. 掃瞄演算法( scan )

d. 迴圈掃瞄演算法( cscan )

答案:a

解析:當系統總是持續出現某個磁軌的訪問請求,均持續滿足最短尋道時間優先、掃瞄演算法和迴圈掃瞄演算法的訪問條件,會一直服務該訪問請求.因此,先來先服務按照請求次序進行排程,比較公平。

ps:磁碟排程演算法:

9、下列優化方法中,可以提高檔案訪問速度的是

ⅰ. 提前讀

ⅱ. 為檔案分配連續的簇

ⅲ. 延遲寫

ⅳ.採用磁碟快取記憶體

a . 僅ⅰ、ⅱ

b. 僅ⅱ、ⅲ

c. 僅ⅰ、ⅲ、ⅳ

d.ⅰ、ⅱ、ⅲ、ⅳ

答案:d

解析:ii 為檔案分配連續的簇、iv採用磁碟快取記憶體顯然可以提高檔案訪問速度,即 ii、iv正確;

提前讀是指在讀當前盤塊時,將下乙個可能要訪問的盤塊資料讀入緩衝區,以便需要時直接從緩衝區讀取,提高了檔案的訪問速度,即 i 正確;

延遲寫是先將寫資料寫入緩衝區,並置上「延遲寫「標誌,以備不久之後訪問,當緩衝區需要再次被分配出去時才將緩衝區資料寫入磁碟,減少了訪問磁碟的次數,提高了檔案的訪問速度,即 iii 正確。

10、在下列同步機制中,可以實現讓權等待的是

a . peterson 方法

b. swap 指令

c. 訊號量方法

d. testandset 指令

答案:c

解析:硬體方法實現程序同步不能實現讓權等待,即選項b、d錯誤;

peterson演算法滿足有限等待但不滿足讓權等待,即選項a錯誤;

記錄型訊號量由於引入阻塞機制,消除了不讓權等待的情況,即c選項正確。

2023年計算機考研408真題 29題

2014年計算機考研408真題 29題 29.在乙個檔案被使用者程序首次開啟的過程中,作業系統需做的是 b a.將檔案內容讀到記憶體中 b.將檔案控制塊讀到記憶體中 c.修改檔案控制塊中的讀寫許可權 d.將檔案的資料緩衝區首指標返回給使用者程序 相關知識點 檔案的開啟與關閉 一直感覺這個地方學的比較...

2023年計算機考研程式設計

題目 請設計乙個演算法,將給定的表示式樹 二叉樹 轉換為等價的中綴表示式 通過括 號反映操作符的計算次序 並輸出。例如,當下列兩棵表示式樹作為演算法的輸入時 二叉樹結點定義如下 typedef struct node btree 要求 1 給出演算法的基本設計思想。2 根據設計思想,採用c或c 語言...

計算機考研

最近看到有同學對計算機考研有一些疑問,今天抽空來寫一寫自己關於考研的了解以及看法。當然這裡不是說考研好不好,畢竟每個人看法都不一樣,我要說的看法是關於考研決心與複習方式的看法。一 確定學校 個人認為考研首先要確定學校,因為現在考研自主命題的學校越來越多,不先確定學校的話,很難進行專業課的複習,尤其計...