【MOOC】华中科技大学操作系统慕课答案-期末测试题
文章目錄
- 單選題
- 填空題
- 判斷題
- 主觀題
單選題
1 ?當操作系統處理缺頁中斷的時候,CPU處在 。
A. 用戶態
√B. 核態
C. 不確定的狀態
D. 空閑狀態
2 ?操作系統的用戶界面可以分為兩類,它們是 。
√A. 操作界面和系統功能調用
B. 操作界面和圖形界面
C. 系統功能調用和API函數界面
D. 圖形界面和鍵盤命令界面
3 ?采用最佳適應算法實現分區存儲管理時,內存空閑區隊列 。
A. 按首地址增加順序排列
B. 按釋放的先后順序排列
√C. 按空閑區大小遞增順序排列
D. 按空閑區大小遞減順序排列
4 ?站在用戶角度來看,文件系統的主要目的是 。
√A. 實現按文件名存取文件
B. 實現虛擬存儲
C. 提高外存的讀寫速度
D. 用于存儲系統文件
5 ?有關系統功能調用的描述錯誤的是 。
A. 應用程序使用系統功能調用會引起中斷。
√B. 高級語言中不能使用系統功能調用,只用匯編程序才能通過INT指令使用。
C. 在LINUX中,每一個系統功能調用都有一個確定的編號。
D. 應用同程序通過系統功能調用可以進入核態。
6 ?進程從運行狀態到阻塞狀態可能是由于 。
A. 調度程序的調度
B. 現進程的時間片用完
C. 現進程執行了V操作
√D. 現進程執行了P操作
7 ?關于死鎖的一些結論,不正確是 。
√A. 參與死鎖的進程可能只有1個;
B. 參與死鎖的進程至少有2個已經占有資源;
C. 參與死鎖的所有進程都在等待資源;
D. 如果死鎖發生,會浪費大量系統資源;
8 ?在分區存儲管理中,有關碎片的說法不正確的是 。
A. 碎片問題之所以存在是因為程序要求占有連續內存才能運行。
√B. 固定分區會產生碎片,而動態分區不會產生碎片。
C. 頁式存儲管理系統盡管能充分利用內存,但是也不能完全避免碎片出現。
D. 分區分割之前通過門檻比較可以一定程度上減少碎片問題。
9 ?關于“虛擬存儲”概念,下列有關說法不正確的是 。
A. 虛擬存儲的功能之一就是要在小內存空間中運行大型程序。
√B. 虛擬存儲可以在沒有任何物理內存的情況下虛擬足夠大的內存空間來運行程序。
C. 段頁式存儲管理系統也屬于虛擬存儲的一種重要實現方式。
D. 對時間有嚴格時限要求的實時操作系統不適合采用虛擬存儲管理系統。
10 ?多道程序設計技術是指 。
A. 有多個程序同時進入CPU運行。
√B. 有多個程序同時進入主存并行運行。
C. 程序段執行不是順序的。
D. 同一個程序可以對應多個不同的進程。
11 ?系統調用的目的是 。
√A. 請求系統服務
B. 終止系統服務
C. 申請系統資源
D. 釋放系統資源
12 ?甲、乙兩個旅行社為旅客到某航空公司訂飛機票。形成互斥的資源是 。
√A. 飛機票
B. 旅行社
C. 航空公司
D. 旅行社和航空公司
13 ?原語是 。
A. 一條機器指令
√B. 按一定邏輯組合完成特定功能的若干機器指令。
C. 一條特定的機器指令
D. 中途能中斷的指令
14 ?在P操作定義中,使進程進入阻塞狀態的條件是 。
A. S>0
B. S=0
√C. S<0
D. S<>0
15 ?關于臨界區說法不正確的是 。
A. 臨界區與并發程序中共享變量的存取有關。
B. 臨界區的設置不宜太太也不宜太小。
C. 鎖機制可以實現臨界區的互斥訪問。
√D. 一個程序最多只能設置一個臨界區。
16 ?動態地址映射是在程序的 過程中進行的。
√A. 執行
B. 編譯
C. 裝入
D. 修改
17 ?經過 ,目標程序可以不經過任何改動而裝入物理內存單元直接運行。
A. 靜態地址映射
B. 動態地址映射
√C. 固定地址映射
D. 存儲擴充
18 ?分區存儲管理中是在主存的 進行分區。
A. 系統區域
√B. 用戶區域
C. 程序區域
D. 整個區域
分區式存儲管理是把內存分為一些大小相等或不等的分區,操作系統占用其中一個分區,其余的分區由應用程序使用,每個應用程序占用一個或幾個分區。分區式存儲管理雖然可以支持并發,但難以進行內存分區的共享。
19 ? 是指將作業不需要或暫時不需要的部分移到外存,騰出內存調入其他模塊。
A. 覆蓋技術
√B. 交換技術
C. 虛擬技術
D. 物理擴充
交換技術定義:當內存不夠時將進程寫入磁盤,當進程要運行時重新寫回內存。
覆蓋是內存中有可以被覆蓋的覆蓋區。
有評論問起了為什么不是覆蓋,這里我仔細查證了一下定義:
覆蓋技術也是用于解決程序大小超過物理內存總和的問題的,但它需要程序員提前指定程序段中的可覆蓋結構,按照其自身的邏輯結構使那些不會同時執行的程序段共享同一塊內存區域。主要存在于早期的操作系統中,現在已經很少使用。具體可以看這篇文章:操作系統 內存管理 覆蓋與交換技術;
而交換技術顧名思義,就是把用不到的交換出去,用得到的交換進來。每次參與交換的內存段不是固定的,是隨內存使用而交換的,所以命名為“覆蓋”的話總會聯想到“覆蓋某個區域”,這確實會導致丟失其動態語義,因此我也認為這種技術叫做“交換技術”更加合理。
20 ?在頁式存儲管理中,若所需頁面不在內存中,則會引起 。
A. 輸入輸出中斷
B. 時鐘中斷
C. 越界中斷
√D. 缺頁中斷
21 ?在段頁式存儲管理中,系統中 。
A. 每個進程一個段表,一個頁表
B. 進程的每個段一個段表一個頁表
C. 每個進程一個頁表,每個段一個段表
√D. 每個進程一個段表,每個段一個頁表
22 ?下列說法錯誤的是 。
A. 利用有序資源分配法的目的是破壞環路條件。
√B. 利用有序資源分配法,可以避免進程阻塞。
C. 有序資源分配法會降低資源使用效率。
D. 有序資源分配法保證并發進程不發生死鎖。
只是不死鎖,該阻塞還是會阻塞
23 ?關于P-V操作解決同步問題的說法正確的是 。
A. 一般在關鍵操作之前執行V操作。
B. 一般在關鍵操作之后執行P操作。
C. 信號量S的定義可以隨意定義。
√D. 信號量S的初值設置不對可能導致并發過程出錯。
24 ?關于分時技術說法錯誤的是 。
A. 分時技術把CPU以時間片為單位輪流為每個終端服務。
B. 分時技術允許內存中同時存放多道程序。
C. Linux采用分時技術支持多用戶多任務按時間片共享CPU。
√D. Windows 7不支持多用戶,不是利用分時技術的操作系統。
25 ?關于文件目錄說法錯誤的是 。
A. 文件目錄的實質是記錄文件名和存放地址的對應關系。
B. 文件目錄具有將文件名轉換為外存物理位置的功能。
√C. 文件的各種屬性記錄在文件里面,沒有記錄在文件目錄中。
D. 文件目錄也是一個特殊的文件,稱為目錄文件。
文件目錄即文件名址錄,它是一張記錄所有文件的名字及其存放地址的目錄表。表中還應包括關于文件的說明和控制方面的信息。
26 ?關于操作系統的邏輯結構說法錯誤的是 。
A. 整體式結構以模塊為基本單位構建。
B. 層次結構把具有共性的服務放置在較低層。
√C. 層次結構把活躍的服務放置在較高層。
D. 層次結構有利于操作系統的移植。
硬件最底層,共性服務和活躍服務較低層。
27 ?關于設備管理有關的說法錯誤的是 。
A. 物理設備是指I/O系統中實際安裝的設備。
B. 邏輯設備是指應用軟件通過邏輯名使用的設備。
C. 邏輯設備是一類物理設備的抽象。
√D. 每個邏輯設備都對應唯一一個特定的物理設備。
一類。
28 ?關于設備驅動程序說法錯誤的是 。
A. 設備驅動程序的實現與硬件密切相關。
B. 操作系統一般僅對與設備驅動程序的接口提出要求。
√C. 設備驅動程序工作在用戶態。
D. 設備驅動程序的本質就是實現設備的文件操作接口。
I/O請求會觸發中斷,肯定不是用戶態。
設備驅動程序:控制設備I/O工作的核心模塊。它負責解釋進程的I/O系統調用,即將其轉換成I/O控制模塊認識的命令形式。物理設備工作完成后會引起相應的中斷處理。
29 ?關于Intel CPU內存管理機制說法錯誤的是 。
A. 是否啟用保護模式取決于CR0寄存器的PE位。
B. 無論在實模式下還是保護模式下,段寄存器都是16位。
C. 段描述符(Descriptor)是描述一段內存屬性的數據結構。
√D. 段描述符(Descriptor)是一個32位(bit)的數據結構。
段寄存器(CS、DS、ES、SS、FS、GS)中存放的是選擇子(Selector)
選擇子是指向某個段描述符的索引
描述符(Descriptor)是一個64bit的數據結構(包含段起始地址、限界、屬性)。
30 ?關于Intel CPU內存管理機制說法錯誤的是 。
√A. 局部描述符表LDT(Local Descriptor Table)中描述的內存每個進程可以訪問的。
B. 中斷描述符表IDT(Interrupt Descriptor Table)包含有與中斷服務程序相關的段描述符。
C. 在保護模式下段寄存器的內容用于選擇GDT或LDT中的某個描述符。
D. 在保護模式下段寄存器的內容包含有訪問權限控制的參數。
只有局部的可以訪問。
填空題
31 ?采用二級頁式存儲管理時,執行一條訪存指令訪問某個內存單元(假定不會發生缺頁)時,在最壞情況下需要訪問內存 3 次。
訪問一級頁表找到一個頁號,再用頁號訪問二級頁表找到該頁的物理塊號,然后再計算得到物理地址訪問內存中的數據。
32 ?若頁式系統地址寬度16位,頁大小為2K。則頁式虛擬地址的高 5 位表示頁號。
2K=11位,一頁要占11位,所以用來表示出頁號的只有(16-11)即5位。
33 ?在段頁式存儲系統中,執行一條訪存指令訪問某個內存單元(假定不會發生缺段缺頁)時,在最壞情況下需要訪問內存 3 次。
段頁式存儲管理方式即先將用戶程序分成若干個段,再把每個段分成若干個頁,并為每一個段賦予一個段名。
第一次是查詢段表,第二次是根據段號查詢頁表,第三次是訪問目標內存單元。
?
34 ?Windows2000以及之上版本的操作系統,其設備驅動程序的入口函數名稱是 DriverEntry 。
35 ?Linux中動態加載模塊(例如驅動程序)使用的命令是 insmod 。
36 ?從邏輯結構的意義上劃分文件類型,可以分為流式文件和 記錄 文件。
37 ?Intel 80386 CPU進行地址轉換時,邏輯地址先轉化為 線性 地址,再轉化為物理地址。
38 ?假設操作系統的地址寬度32位,頁大小4KB。某進程的頁表中有如下5條記錄(假定每條記錄的結構是[頁號:頁框號:中斷位I]):[0:NULL:1],[1:13:0], [2:14:0], [3:NULL:1],[4:18:0]。則該進程中的虛擬地址17408對應的物理地址是 74752 (請寫成十進制數字)。
17408/4096=4.25,說明頁號為4,頁內偏移為4096×0.25=1024。查表得頁框號為18,中斷位為0說明沒有缺頁。物理地址為18×4096+1024=74752。
39 ?假設操作系統的地址寬度32位,頁大小4KB。某進程的頁表中有如下5條記錄(假定每條記錄的結構是[頁號:頁框號:中斷位I]):[0:NULL:1],[1:13:0], [2:14:0], [3:NULL:1],[4:18:0]。該進程訪問虛擬地址408時發生的異常現象叫 缺頁 。?
40 ?表示外存存儲空間占用情況時,利用內存若干個字節,每位(bit)表示相應存儲塊是空閑還是被占用的方法叫 位示圖 。
判斷題
41 ?中斷在什么時候發生程序員在任何情況下都無法預知。
A. 對
√B. 錯
42 ?多道批處理系統的特點就是把CPU時間分成小片輪流地為多個作業服務。
A. 對
√B. 錯
分時才多片,多道只是:這個進程不用CPU了就給別的進程用。
43 ?處于阻塞態的進程當運行條件滿足后立即進入運行狀態。
A. 對
√B. 錯
先就緒態
44 ?WINDOWS 10中線程是資源分配和CPU調度的基本單位。
A. 對
√B. 錯
進程是操作系統資源分配的基本單位,對于有多線程的系統,線程是任務調度和執行的基本單位。
45 ?如果系統中資源總數不足,則進程一定會發生死鎖。
A. 對
√B. 錯
回顧一下死鎖的必要條件:互斥、非搶占、部分分配、環路。
46 ?利用P-V機制控制并發過程時,如果信號量S小于0,其絕對值表示相應阻塞隊列中進程的個數。
√A. 對
B. 錯
47 ?最久未使用頁面淘汰算法將駐留在內存中時間最久的頁面淘汰。
A. 對
√B. 錯
48 ?GDTR和LDTR寄存器中存放的內容是相應描述符表的絕對地址。
A. 對
√B. 錯
LDTR寄存器存放的是相對GDT的地址。
全局描述符表GDT:在整個系統中,全局描述符表GDT只有一張(一個處理器對應一個GDT),GDT可以被放在內存的任何位置,但CPU必須知道GDT的入口,也就是基地址放在哪里。
寄存器GDTR:用來存放GDT的入口地址,GDTR中存放的是GDT在內存中的基地址和其表長界限。
局部描述符表LDT(Local Descriptor Table)局部描述符表可以有若干張,每個任務可以有一張。我們可以這樣理解GDT和LDT:GDT為一級描述符表,LDT為二級描述符表。LDT和GDT從本質上說是相同的,只是LDT嵌套在GDT之中。
LDTR:記錄局部描述符表的起始位置,與GDTR不同,LDTR的內容是一個段選擇子。
可見都記錄的是入口地址,但是LDTR記錄的是可變的,要找到局部符表的絕對地址,還需要結合GDT的地址計算。
49 ?同步機制的實質是當進程運行條件不滿足時,能讓進程即刻暫停,而條件一旦滿足,則及時喚醒它。
√A. 對
B. 錯
50 ?空閑文件是指當前沒有任何用戶存取使用的文件。
A. 對
√B. 錯
空閑文件:把連續空閑區看成一個特殊文件,由多個連續空閑塊組成。
主觀題
1 ?微內核結構有什么特點?
出自第一章還是第二章的單元作業。
微內核結構的特點是由微內核+核外服務器構成,微內核只提供最基本的功能,核外服務器提供用戶功能,面向服務。
1)有較高的靈活性和可擴充性
2)提高了操作系統的可靠性
3)更適合于分布式系統
2 ?試述為Linux增加新的系統調用的過程?
出自第三章單元作業(3)
1. 編寫新的系統調用函數
2. 注冊新的系統調用
3. 編譯新LINUX內核
4. 編譯和安裝模塊
5. 啟動新的LINUX內核
6. 編寫應用程序測試新的系統調用
3 ?試述線程有哪些典型應用場合?
出自第四章單元作業(3)。
1.多個功能需要并發的地方;
2.需要改善窗口交互性的地方;
3.需要改善程序結構的地方;
4.多核CPU上的應用,充分發揮多核性能。
4 試述缺頁中斷的概念和缺頁中斷響應的過程
沒找到出自哪里,借鑒了這個https://blog.csdn.net/yusiguyuan/article/details/46820061。
缺頁中斷:在請求頁式存儲管理中,當根據虛擬地址查頁表而發現所要訪問的頁不在內存時,就會產生缺頁中斷。
缺頁中斷響應的過程:
<1> 首先硬件會陷入內核,在堆棧中保存程序計數器。大多數機器將當前指令的各種狀態信息保存在CPU中特殊的寄存器中。
<2>啟動一個匯編代碼例程保存通用寄存器及其它易失性信息,以免被操作系統破壞。這個例程將操作系統作為一個函數來調用。
(在頁面換入換出的過程中可能會發生上下文換行,導致破壞當前程序計數器及通用寄存器中本進程的信息)
<3>當操作系統發現是一個頁面中斷時,查找出來發生頁面中斷的虛擬頁面(進程地址空間中的頁面)。這個虛擬頁面的信息通常會保存在一個硬件寄存器中,如果沒有的話,操作系統必須檢索程序計數器,取出這條指令,用軟件分析該指令,通過分析找出發生頁面中斷的虛擬頁面。
<4>檢查虛擬地址的有效性及安全保護位。如果發生保護錯誤,則殺死該進程。
<5>操作系統查找一個空閑的頁框(物理內存中的頁面),如果沒有空閑頁框則需要通過頁面置換算法找到一個需要換出的頁框。
<6>如果找的頁框中的內容被修改了,則需要將修改的內容保存到磁盤上,此時會引起一個寫磁盤調用,發生上下文切換(在等待磁盤寫的過程中讓其它進程運行)。
(注:此時需要將頁框置為忙狀態,以防頁框被其它進程搶占掉)
<7>頁框干凈后,操作系統根據虛擬地址對應磁盤上的位置,將保持在磁盤上的頁面內容復制到“干凈”的頁框中,此時會引起一個讀磁盤調用,發生上下文切換。
<8>當磁盤中的頁面內容全部裝入頁框后,向操作系統發送一個中斷。操作系統更新內存中的頁表項,將虛擬頁面映射的頁框號更新為寫入的頁框,并將頁框標記為正常狀態。
<9>恢復缺頁中斷發生前的狀態,將程序指令器重新指向引起缺頁中斷的指令。
<10>調度引起頁面中斷的進程,操作系統返回匯編代碼例程。
<11>匯編代碼例程恢復現場,將之前保存在通用寄存器中的信息恢復。
5 通過Linux或Windows驅動程序的開發過程,如何理解“設備是文件”這一重要概念?
詳見https://blog.csdn.net/uyhuayussd/article/details/94202544。我寫得沒他詳細。
一切都可看作是文件,所有的硬件組件都表示為文件,系統使用這些文件來與硬件通信。其最顯著的好處是在開發過程中,對于各種的輸入/輸出資源,只需要相同的一套工具、實用程序和 API。
6 枚舉Windwos的的三種進程/線程同步機制的名字和特點?
? ???連windows都打錯了???還打了兩個‘的’???
沒找到出自哪里,借鑒了這個:https://www.cnblogs.com/TTaiAL/p/6063119.html。
1. 原子操作:該操作絕不會在執行完畢前被任何其他任務或事件打斷。需要硬件的支持,因此是架構相關的。主要用于實現資源計數。
2. 互斥對象內核對象(Mutex):能夠確保線程(可以是不同進程的線程)擁有對單個資源的互斥訪問權限。
3. 信標內核對象(Semaphore):用于對資源進行計數。它能夠以原子操作的方式來執行測試和設置操作,這意味著當使用等待函數申請一個信標保護的資源時,操作系統會檢測這個資源是否可用,同時負責對該資源可用計數遞減,而不讓其他線程在這個過程中產生干擾。
總結
以上是生活随笔為你收集整理的【MOOC】华中科技大学操作系统慕课答案-期末测试题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qwen3接入评测,最强开源模型更懂Gr
- 下一篇: 太喜欢啦,浏览器中的SQL神器:What