一、前言🚀🚀🚀
小鄭在刷題的過程中幫大家整理了一些常見的考試題目,以及易于遺忘的知識點,希望對大家有所幫助。
二、正文??????
1.OS的不確定性是指(ABC
)。
A.程序的運行次序不確定
B.程序多次運行的時間不確定
C.程序的運行結果不確定
2.關于緩沖池(Buffer Pool)的描述,錯誤的是?
A.緩沖池(Buffer Pool)由主存中的一組緩沖區組成,每個緩沖區的大小一般等于物理記錄的大小。
B.各個緩沖區作為系統公共資源為進程所共享,并由系統進行統一分配和管理。
C.緩沖池中的緩沖區要么用于輸出,要么用于輸入。
D.緩沖池的目的在于避免在消費者多次訪問相同數據時重復產生相同數據問題。
緩沖區可以同時輸入輸出
3.下列選項中,磁盤邏輯格式化程序所做的工作是( BD
)。
A.對磁盤進行分區
B.建立文件系統的根目錄
C.確定磁盤扇區校驗碼所占位數
D.對保存空閑磁盤塊信息的數據結構進行初始化
一個新磁盤是一個空白版,必須分成扇區以便磁盤控制器能讀和寫,這個過程稱為低級格式化(物理格式化)。低級格式化。為磁盤的每個扇區采用特別的數據結構,包括校驗碼,即C錯誤,為了使用磁盤存儲文件,操作系統還需要將其數據結構記錄在磁盤。上。這分為兩步,第一步是將磁盤分為由一個或多個柱面組成的分區,每個分區可以作為一個獨立的磁盤,即I錯誤:在分區之后,第二步是邏輯格式化(創建文件系統)。在這一步,操作系統將初始化的文件系統數據結構存儲到磁盤上。這些數據結構包括空閑和已分配的空間及一個初始為空的目錄,
4.所謂“存儲保護”!的基本含義,最恰當的描述是( C
)。
防止存儲器硬件受損
防止程序在內存丟失
防止程序間相互越界訪問
防止程序被人偷看
5.關于處理機的特權級的描述,錯誤的是(B
)
A.處理機的特權級指處理機正處于何種工作狀態、正執行哪類程序區分
B.處理機的特權級的目的是高效利用操作系統
C.處理機的至少需要區分管態和用戶態兩種狀態
D.用戶對操作系統的某些操作可能導致用戶態自動轉管態
A. 處理機的特權級指處理機正處于何種工作狀態、正執行哪類程序
這個說法是正確的。處理機的特權級,又稱處理機的態,是指處理機當前處于何種狀態,正在執行哪類程序。它是為了區分操作系統的管理程序和用戶程序在執行時的不同職責和權限。
B. 區分處理機的特權級的目的是高效利用操作系統
這個說法是不準確的。區分處理機的特權級的主要目的是為了保護操作系統
,確保系統的安全性和穩定性。通過限制用戶程序對特權指令和系統資源的訪問,可以防止用戶程序對系統造成破壞或誤操作。而高效利用操作系統更多地是通過優化算法、資源管理和任務調度等手段來實現的。
C. 處理機的至少需要區分管態和用戶態兩種狀態
這個說法是正確的。基本的處理機的態是管態(又稱系統態或核心態)和用戶態(又稱目態或常態)。在管態下,處理機可以使用全部機器指令,包括特權指令,可以使用所有的資源;而在用戶態下,禁止使用特權指令,不能直接取用資源與改變其狀態,并且只允許用戶程序訪問自己的存儲區域。
D. 用戶對操作系統的某些操作可能導致用戶態自動轉管態
這個說法是正確的。在用戶程序需要操作系統服務、發生中斷、產生錯誤狀態或企圖執行特權指令時,都會導致用戶態自動轉換為管態,以便操作系統能夠處理這些事件或請求。
我不要掛科~
6.若多個進程共享同一個文件F,則下列敘述中正確的是(B
)。
A.各進程只能用“讀”方式打開文件F
B.在系統打開文件表中僅有一個表項包含F的屬性
C.各進程的用戶打開文件表中關于F的表項內容相同
D.進程關閉F時系統刪除F在系統打開文件表中的表項
A中各進程既可以用讀方式打開文件F,也可用寫方式打開文件F,按照一定的讀寫原則就可以了;
B打開一個文件,則將指定文件的屬性從外存復制到內存打開文件表的一個表目中。操作系統維護所有打開文件信息的表(打開文件表),同一個文件被多個進程打開只改變打開計數。打開文件的屬性信息對進程而言是唯一的;
C打開同樣一個文件的表項內容不一定相同;
D進程關閉F時會使F的引用計數減1,引用計數為0 時才會刪除表項。
7.在分段存儲管理系統中,用共享段表描述所有被共享的段。若進程P1和P2共享段S,下列敘述中,錯誤的是( B
)。
A.在物理內存中僅保存一份段S的內容
B.段S在P1和P2中應該具有相同的段號
C.P1和P2共享段S在共享段表中的段表項
D.P1和P2都不再使用段S時才回收段S所占的內存空間
段號是對于進程的邏輯地址空間進行劃分的,每個進程根據需要劃分多個段各自編號,所以B選項的說法是錯誤的。
8.下列選項中,可能導致當前進程P阻塞的事件是( AB
)。
A.進程P申請臨界資源
B.進程P從磁盤讀數據
C.系統將CPU分配給高優先權的進程
進程等待某資源為可用(不包括處理機)或等待輸入輸出完成均會進入阻塞態,系統將CPU分配給高優先權的進程,會使當前進程從運行態變為就緒態.
9.設備的輸入/輸出控制涉及的硬件,不包括(B
)
A.端口(Port)
B.選擇器(Selector)
C.總線(Bus)
D.控制器(Controlller)
10.下列關于死鎖的敘述中,正確的是(ABD
)
A.可以通過剝奪進程資源解除死鎖
B.死鎖的預防方法能確保系統不發生死鎖
C.銀行家算法可以判斷系統是否處于死鎖狀態
D.當系統出現死鎖時,必然有兩個或兩個以上的進程處于阻塞態
銀行家算法是解決死鎖問題中避免死鎖采用的方法,是一種提前采取的措施,是通過安全性檢査來杜絕發生死鎖的可能性。
11.若x是管程內的條件變量,則當進程執行x.wait()時,所做的工作是( C
)。
A.實現對變量x的互斥訪問
B.喚醒一個在x上阻塞的進程
C.根據x的值判斷該進程是否進程阻塞狀態
D.阻塞該進程,并將之插入x的阻塞隊列中
若x是管程內的條件變量,當進程執行x.wait()時,所做的工作主要是:
**阻塞該進程:**當進程發現x對應的條件不滿足時,它會調用x.wait()來阻塞自己,即停止繼續執行并等待某個條件的發生。
**將進程插入x的阻塞隊列中:**當進程調用x.wait()時,它會被放入一個與條件變量x相關聯的等待隊列中。這個隊列包含了所有因為等待x條件滿足而被阻塞的進程。
釋放管程:進程在調用x.wait()并阻塞自己后,會釋放對管程的占用,這樣其他進程就可以進入管程并執行。
對于其他選項:
**實現對變量x的互斥訪問:**這不是x.wait()的功能。管程本身提供互斥訪問的機制,但x.wait()主要用于阻塞和喚醒進程,而不是實現互斥訪問。
喚醒一個在x上阻塞的進程:這是x.signal()的功能,而不是x.wait()的功能。
根據x的值判斷該進程是否進入阻塞狀態:雖然x的值可能與進程是否阻塞有關,但x.wait()的調用并不直接根據x的值來判斷進程是否應該阻塞。進程是否應該阻塞取決于它正在等待的某個條件是否滿足。
綜上所述,當進程執行x.wait()時,所做的工作主要是阻塞該進程,并將之插入x的阻塞隊列中,同時釋放管程以便其他進程可以使用。
12.假設某同學不小心在程序中引入了一個死循環,那么,該程序在搶占式進程調度環境中運行時,一旦進入此循環,將會出現如下結果:(B
)。
A.對應進程一直處于運行態
B.對應進程可能在運行態和就緒態之間交替轉換
C.操作系統將殺死對應進程
D.系統將進入僵死狀態,對用戶操作失去反應
對應進程可能在運行態和就緒態之間交替轉換:
這是正確的。在搶占式調度中,當進程的時間片用完或者更高優先級的進程出現時,當前進程(即使是處于死循環中的進程)會被搶占,狀態從運行態變為就緒態。當調度器再次選擇它執行時,它又會回到運行態。
13.在下列同步機制中,可以實現讓權等待的是(C
)。
A.Peterson方法
B.swap指令
C.信號量方法
D.TestAndSet指令
硬件方法實現進程同步不能實現讓權等待,即選項B、D錯誤;Peterson算法滿足有限等待但不滿足讓權等待,即選項A錯誤:記錄型信號量由于引入阻塞機制,消除了不讓權等待的情況,即C選項正確。
14.在設備管理中,引入緩沖的主要原因不包括(B
)。
A.緩和處理器和外設之間訪問速度不匹配的矛盾
B.緩和處理器和內存之間訪問速度不匹配的矛盾
C.減少對處理器的中斷頻率,放寬對處理器中斷響應時間的限制
D.提高處理器和外圍設備之間的并行性
引入緩沖的主要原因是用來緩解處理器與外圍設備之間工作速度不匹配的矛盾,減少CPU的中斷頻率,提高處理器和外圍設備之間的并行性。緩沖不緩和處理器和內存之間速度不匹配的矛盾。
15.可重定位內存的分區分配目的是為(A
)。
A.解決碎片問題
B.便于多作業共享內存
C.便于用戶干預
D.回收空白區方便
在連續分配存儲管理方式中,用戶程序必須裝入到連續的內存空間中。當計算機運行一段時候,它的內存空間將會被分割成許多小的分區,而缺乏大的分區。即使這些分散的小分區的容量總和大于要裝入的程序,但由于這些分區不相鄰,也無法把該程序裝入內存,可采用的一種方法是:將內存中的所有作業進行移動,使它們全都相鄰接,要做到如此可用動態重定位方法進行解決,也即是解決了碎片問題。
16.系統調用的作用是( D
)。
A.申請系統資源
B.終止系統服務
C.釋放系統資源
D.請求系統服務