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