日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

【MOOC】华中科技大学操作系统慕课答案-期末测试题

發(fā)布時(shí)間:2025/5/22 56 如意码农
生活随笔 收集整理的這篇文章主要介紹了 【MOOC】华中科技大学操作系统慕课答案-期末测试题 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

    • 單選題
    • 填空題
    • 判斷題
    • 主觀題

單選題

1 ?當(dāng)操作系統(tǒng)處理缺頁(yè)中斷的時(shí)候,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ū)存儲(chǔ)管理時(shí),內(nèi)存空閑區(qū)隊(duì)列 。
A. 按首地址增加順序排列
B. 按釋放的先后順序排列
√C. 按空閑區(qū)大小遞增順序排列
D. 按空閑區(qū)大小遞減順序排列

4 ?站在用戶角度來(lái)看,文件系統(tǒng)的主要目的是 。
√A. 實(shí)現(xiàn)按文件名存取文件
B. 實(shí)現(xiàn)虛擬存儲(chǔ)
C. 提高外存的讀寫速度
D. 用于存儲(chǔ)系統(tǒng)文件

5 ?有關(guān)系統(tǒng)功能調(diào)用的描述錯(cuò)誤的是 。
A. 應(yīng)用程序使用系統(tǒng)功能調(diào)用會(huì)引起中斷。
√B. 高級(jí)語(yǔ)言中不能使用系統(tǒng)功能調(diào)用,只用匯編程序才能通過(guò)INT指令使用。
C. 在LINUX中,每一個(gè)系統(tǒng)功能調(diào)用都有一個(gè)確定的編號(hào)。
D. 應(yīng)用同程序通過(guò)系統(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)程的時(shí)間片用完
C. 現(xiàn)進(jìn)程執(zhí)行了V操作
√D. 現(xiàn)進(jìn)程執(zhí)行了P操作

7 ?關(guān)于死鎖的一些結(jié)論,不正確是 。
√A. 參與死鎖的進(jìn)程可能只有1個(gè);
B. 參與死鎖的進(jìn)程至少有2個(gè)已經(jīng)占有資源;
C. 參與死鎖的所有進(jìn)程都在等待資源;
D. 如果死鎖發(fā)生,會(huì)浪費(fèi)大量系統(tǒng)資源;

8 ?在分區(qū)存儲(chǔ)管理中,有關(guān)碎片的說(shuō)法不正確的是 。
A. 碎片問(wèn)題之所以存在是因?yàn)槌绦蛞笳加羞B續(xù)內(nèi)存才能運(yùn)行。
√B. 固定分區(qū)會(huì)產(chǎn)生碎片,而動(dòng)態(tài)分區(qū)不會(huì)產(chǎn)生碎片。
C. 頁(yè)式存儲(chǔ)管理系統(tǒng)盡管能充分利用內(nèi)存,但是也不能完全避免碎片出現(xiàn)。
D. 分區(qū)分割之前通過(guò)門檻比較可以一定程度上減少碎片問(wèn)題。

9 ?關(guān)于“虛擬存儲(chǔ)”概念,下列有關(guān)說(shuō)法不正確的是 。
A. 虛擬存儲(chǔ)的功能之一就是要在小內(nèi)存空間中運(yùn)行大型程序。
√B. 虛擬存儲(chǔ)可以在沒(méi)有任何物理內(nèi)存的情況下虛擬足夠大的內(nèi)存空間來(lái)運(yùn)行程序。
C. 段頁(yè)式存儲(chǔ)管理系統(tǒng)也屬于虛擬存儲(chǔ)的一種重要實(shí)現(xiàn)方式。
D. 對(duì)時(shí)間有嚴(yán)格時(shí)限要求的實(shí)時(shí)操作系統(tǒng)不適合采用虛擬存儲(chǔ)管理系統(tǒng)。

10 ?多道程序設(shè)計(jì)技術(shù)是指 。
A. 有多個(gè)程序同時(shí)進(jìn)入CPU運(yùn)行。
√B. 有多個(gè)程序同時(shí)進(jìn)入主存并行運(yùn)行。
C. 程序段執(zhí)行不是順序的。
D. 同一個(gè)程序可以對(duì)應(yīng)多個(gè)不同的進(jìn)程。

11 ?系統(tǒng)調(diào)用的目的是 。
√A. 請(qǐng)求系統(tǒng)服務(wù)
B. 終止系統(tǒng)服務(wù)
C. 申請(qǐng)系統(tǒng)資源
D. 釋放系統(tǒng)資源

12 ?甲、乙兩個(gè)旅行社為旅客到某航空公司訂飛機(jī)票。形成互斥的資源是 。
√A. 飛機(jī)票
B. 旅行社
C. 航空公司
D. 旅行社和航空公司

13 ?原語(yǔ)是 。
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ū)說(shuō)法不正確的是 。
A. 臨界區(qū)與并發(fā)程序中共享變量的存取有關(guān)。
B. 臨界區(qū)的設(shè)置不宜太太也不宜太小。
C. 鎖機(jī)制可以實(shí)現(xiàn)臨界區(qū)的互斥訪問(wèn)。
√D. 一個(gè)程序最多只能設(shè)置一個(gè)臨界區(qū)。

16 ?動(dòng)態(tài)地址映射是在程序的 過(guò)程中進(jìn)行的。
√A. 執(zhí)行
B. 編譯
C. 裝入
D. 修改

17 ?經(jīng)過(guò) ,目標(biāo)程序可以不經(jīng)過(guò)任何改動(dòng)而裝入物理內(nèi)存單元直接運(yùn)行。
A. 靜態(tài)地址映射
B. 動(dòng)態(tài)地址映射
√C. 固定地址映射
D. 存儲(chǔ)擴(kuò)充

18 ?分區(qū)存儲(chǔ)管理中是在主存的 進(jìn)行分區(qū)。
A. 系統(tǒng)區(qū)域
√B. 用戶區(qū)域
C. 程序區(qū)域
D. 整個(gè)區(qū)域

分區(qū)式存儲(chǔ)管理是把內(nèi)存分為一些大小相等或不等的分區(qū),操作系統(tǒng)占用其中一個(gè)分區(qū),其余的分區(qū)由應(yīng)用程序使用,每個(gè)應(yīng)用程序占用一個(gè)或幾個(gè)分區(qū)。分區(qū)式存儲(chǔ)管理雖然可以支持并發(fā),但難以進(jìn)行內(nèi)存分區(qū)的共享。

19 ? 是指將作業(yè)不需要或暫時(shí)不需要的部分移到外存,騰出內(nèi)存調(diào)入其他模塊。
A. 覆蓋技術(shù)
√B. 交換技術(shù)
C. 虛擬技術(shù)
D. 物理擴(kuò)充

交換技術(shù)定義:當(dāng)內(nèi)存不夠時(shí)將進(jìn)程寫入磁盤,當(dāng)進(jìn)程要運(yùn)行時(shí)重新寫回內(nèi)存。
覆蓋是內(nèi)存中有可以被覆蓋的覆蓋區(qū)。
有評(píng)論問(wèn)起了為什么不是覆蓋,這里我仔細(xì)查證了一下定義:
覆蓋技術(shù)也是用于解決程序大小超過(guò)物理內(nèi)存總和的問(wèn)題的,但它需要程序員提前指定程序段中的可覆蓋結(jié)構(gòu),按照其自身的邏輯結(jié)構(gòu)使那些不會(huì)同時(shí)執(zhí)行的程序段共享同一塊內(nèi)存區(qū)域。主要存在于早期的操作系統(tǒng)中,現(xiàn)在已經(jīng)很少使用。具體可以看這篇文章:操作系統(tǒng) 內(nèi)存管理 覆蓋與交換技術(shù);
交換技術(shù)顧名思義,就是把用不到的交換出去,用得到的交換進(jìn)來(lái)。每次參與交換的內(nèi)存段不是固定的,是隨內(nèi)存使用而交換的,所以命名為“覆蓋”的話總會(huì)聯(lián)想到“覆蓋某個(gè)區(qū)域”,這確實(shí)會(huì)導(dǎo)致丟失其動(dòng)態(tài)語(yǔ)義,因此我也認(rèn)為這種技術(shù)叫做“交換技術(shù)”更加合理。

20 ?在頁(yè)式存儲(chǔ)管理中,若所需頁(yè)面不在內(nèi)存中,則會(huì)引起 。
A. 輸入輸出中斷
B. 時(shí)鐘中斷
C. 越界中斷
√D. 缺頁(yè)中斷

21 ?在段頁(yè)式存儲(chǔ)管理中,系統(tǒng)中 。
A. 每個(gè)進(jìn)程一個(gè)段表,一個(gè)頁(yè)表
B. 進(jìn)程的每個(gè)段一個(gè)段表一個(gè)頁(yè)表
C. 每個(gè)進(jìn)程一個(gè)頁(yè)表,每個(gè)段一個(gè)段表
√D. 每個(gè)進(jìn)程一個(gè)段表,每個(gè)段一個(gè)頁(yè)表

22 ?下列說(shuō)法錯(cuò)誤的是 。
A. 利用有序資源分配法的目的是破壞環(huán)路條件。
√B. 利用有序資源分配法,可以避免進(jìn)程阻塞。
C. 有序資源分配法會(huì)降低資源使用效率。
D. 有序資源分配法保證并發(fā)進(jìn)程不發(fā)生死鎖。

只是不死鎖,該阻塞還是會(huì)阻塞

23 ?關(guān)于P-V操作解決同步問(wèn)題的說(shuō)法正確的是 。
A. 一般在關(guān)鍵操作之前執(zhí)行V操作。
B. 一般在關(guān)鍵操作之后執(zhí)行P操作。
C. 信號(hào)量S的定義可以隨意定義。
√D. 信號(hào)量S的初值設(shè)置不對(duì)可能導(dǎo)致并發(fā)過(guò)程出錯(cuò)。

24 ?關(guān)于分時(shí)技術(shù)說(shuō)法錯(cuò)誤的是 。
A. 分時(shí)技術(shù)把CPU以時(shí)間片為單位輪流為每個(gè)終端服務(wù)。
B. 分時(shí)技術(shù)允許內(nèi)存中同時(shí)存放多道程序。
C. Linux采用分時(shí)技術(shù)支持多用戶多任務(wù)按時(shí)間片共享CPU。
√D. Windows 7不支持多用戶,不是利用分時(shí)技術(shù)的操作系統(tǒng)。

25 ?關(guān)于文件目錄說(shuō)法錯(cuò)誤的是 。
A. 文件目錄的實(shí)質(zhì)是記錄文件名和存放地址的對(duì)應(yīng)關(guān)系。
B. 文件目錄具有將文件名轉(zhuǎn)換為外存物理位置的功能。
√C. 文件的各種屬性記錄在文件里面,沒(méi)有記錄在文件目錄中。
D. 文件目錄也是一個(gè)特殊的文件,稱為目錄文件。

文件目錄即文件名址錄,它是一張記錄所有文件的名字及其存放地址的目錄表。表中還應(yīng)包括關(guān)于文件的說(shuō)明和控制方面的信息。

26 ?關(guān)于操作系統(tǒng)的邏輯結(jié)構(gòu)說(shuō)法錯(cuò)誤的是 。
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)的說(shuō)法錯(cuò)誤的是 。
A. 物理設(shè)備是指I/O系統(tǒng)中實(shí)際安裝的設(shè)備。
B. 邏輯設(shè)備是指應(yīng)用軟件通過(guò)邏輯名使用的設(shè)備。
C. 邏輯設(shè)備是一類物理設(shè)備的抽象。
√D. 每個(gè)邏輯設(shè)備都對(duì)應(yīng)唯一一個(gè)特定的物理設(shè)備。

一類。

28 ?關(guān)于設(shè)備驅(qū)動(dòng)程序說(shuō)法錯(cuò)誤的是 。
A. 設(shè)備驅(qū)動(dòng)程序的實(shí)現(xiàn)與硬件密切相關(guān)。
B. 操作系統(tǒng)一般僅對(duì)與設(shè)備驅(qū)動(dòng)程序的接口提出要求。
√C. 設(shè)備驅(qū)動(dòng)程序工作在用戶態(tài)。
D. 設(shè)備驅(qū)動(dòng)程序的本質(zhì)就是實(shí)現(xiàn)設(shè)備的文件操作接口。

I/O請(qǐng)求會(huì)觸發(fā)中斷,肯定不是用戶態(tài)。
設(shè)備驅(qū)動(dòng)程序:控制設(shè)備I/O工作的核心模塊。它負(fù)責(zé)解釋進(jìn)程的I/O系統(tǒng)調(diào)用,即將其轉(zhuǎn)換成I/O控制模塊認(rèn)識(shí)的命令形式。物理設(shè)備工作完成后會(huì)引起相應(yīng)的中斷處理。

29 ?關(guān)于Intel CPU內(nèi)存管理機(jī)制說(shuō)法錯(cuò)誤的是 。
A. 是否啟用保護(hù)模式取決于CR0寄存器的PE位。
B. 無(wú)論在實(shí)模式下還是保護(hù)模式下,段寄存器都是16位。
C. 段描述符(Descriptor)是描述一段內(nèi)存屬性的數(shù)據(jù)結(jié)構(gòu)。
√D. 段描述符(Descriptor)是一個(gè)32位(bit)的數(shù)據(jù)結(jié)構(gòu)。

段寄存器(CS、DS、ES、SS、FS、GS)中存放的是選擇子(Selector)
選擇子是指向某個(gè)段描述符的索引
描述符(Descriptor)是一個(gè)64bit的數(shù)據(jù)結(jié)構(gòu)(包含段起始地址、限界、屬性)。

30 ?關(guān)于Intel CPU內(nèi)存管理機(jī)制說(shuō)法錯(cuò)誤的是 。
√A. 局部描述符表LDT(Local Descriptor Table)中描述的內(nèi)存每個(gè)進(jìn)程可以訪問(wèn)的。
B. 中斷描述符表IDT(Interrupt Descriptor Table)包含有與中斷服務(wù)程序相關(guān)的段描述符。
C. 在保護(hù)模式下段寄存器的內(nèi)容用于選擇GDT或LDT中的某個(gè)描述符。
D. 在保護(hù)模式下段寄存器的內(nèi)容包含有訪問(wèn)權(quán)限控制的參數(shù)。

只有局部的可以訪問(wèn)。

填空題

31 ?采用二級(jí)頁(yè)式存儲(chǔ)管理時(shí),執(zhí)行一條訪存指令訪問(wèn)某個(gè)內(nèi)存單元(假定不會(huì)發(fā)生缺頁(yè))時(shí),在最壞情況下需要訪問(wèn)內(nèi)存 3 次。

訪問(wèn)一級(jí)頁(yè)表找到一個(gè)頁(yè)號(hào),再用頁(yè)號(hào)訪問(wèn)二級(jí)頁(yè)表找到該頁(yè)的物理塊號(hào),然后再計(jì)算得到物理地址訪問(wèn)內(nèi)存中的數(shù)據(jù)。

32 ?若頁(yè)式系統(tǒng)地址寬度16位,頁(yè)大小為2K。則頁(yè)式虛擬地址的高 5 位表示頁(yè)號(hào)。

2K=11位,一頁(yè)要占11位,所以用來(lái)表示出頁(yè)號(hào)的只有(16-11)即5位。

33 ?在段頁(yè)式存儲(chǔ)系統(tǒng)中,執(zhí)行一條訪存指令訪問(wèn)某個(gè)內(nèi)存單元(假定不會(huì)發(fā)生缺段缺頁(yè))時(shí),在最壞情況下需要訪問(wèn)內(nèi)存 3 次。

段頁(yè)式存儲(chǔ)管理方式即先將用戶程序分成若干個(gè)段,再把每個(gè)段分成若干個(gè)頁(yè),并為每一個(gè)段賦予一個(gè)段名。
第一次是查詢段表,第二次是根據(jù)段號(hào)查詢頁(yè)表,第三次是訪問(wèn)目標(biāo)內(nèi)存單元。
?

34 ?Windows2000以及之上版本的操作系統(tǒng),其設(shè)備驅(qū)動(dòng)程序的入口函數(shù)名稱是 DriverEntry 。

35 ?Linux中動(dòng)態(tài)加載模塊(例如驅(qū)動(dòng)程序)使用的命令是 insmod 。

36 ?從邏輯結(jié)構(gòu)的意義上劃分文件類型,可以分為流式文件和 記錄 文件。

37 ?Intel 80386 CPU進(jìn)行地址轉(zhuǎn)換時(shí),邏輯地址先轉(zhuǎn)化為 線性 地址,再轉(zhuǎn)化為物理地址。

38 ?假設(shè)操作系統(tǒng)的地址寬度32位,頁(yè)大小4KB。某進(jìn)程的頁(yè)表中有如下5條記錄(假定每條記錄的結(jié)構(gòu)是[頁(yè)號(hào):頁(yè)框號(hào):中斷位I]):[0:NULL:1],[1:13:0], [2:14:0], [3:NULL:1],[4:18:0]。則該進(jìn)程中的虛擬地址17408對(duì)應(yīng)的物理地址是 74752 (請(qǐng)寫成十進(jìn)制數(shù)字)。

17408/4096=4.25,說(shuō)明頁(yè)號(hào)為4,頁(yè)內(nèi)偏移為4096×0.25=1024。查表得頁(yè)框號(hào)為18,中斷位為0說(shuō)明沒(méi)有缺頁(yè)。物理地址為18×4096+1024=74752。

39 ?假設(shè)操作系統(tǒng)的地址寬度32位,頁(yè)大小4KB。某進(jìn)程的頁(yè)表中有如下5條記錄(假定每條記錄的結(jié)構(gòu)是[頁(yè)號(hào):頁(yè)框號(hào):中斷位I]):[0:NULL:1],[1:13:0], [2:14:0], [3:NULL:1],[4:18:0]。該進(jìn)程訪問(wèn)虛擬地址408時(shí)發(fā)生的異常現(xiàn)象叫 缺頁(yè) 。?

40 ?表示外存存儲(chǔ)空間占用情況時(shí),利用內(nèi)存若干個(gè)字節(jié),每位(bit)表示相應(yīng)存儲(chǔ)塊是空閑還是被占用的方法叫 位示圖 。

判斷題

41 ?中斷在什么時(shí)候發(fā)生程序員在任何情況下都無(wú)法預(yù)知。
A. 對(duì)
√B. 錯(cuò)

42 ?多道批處理系統(tǒng)的特點(diǎn)就是把CPU時(shí)間分成小片輪流地為多個(gè)作業(yè)服務(wù)。
A. 對(duì)
√B. 錯(cuò)

分時(shí)才多片,多道只是:這個(gè)進(jìn)程不用CPU了就給別的進(jìn)程用。

43 ?處于阻塞態(tài)的進(jìn)程當(dāng)運(yùn)行條件滿足后立即進(jìn)入運(yùn)行狀態(tài)。
A. 對(duì)
√B. 錯(cuò)

先就緒態(tài)

44 ?WINDOWS 10中線程是資源分配和CPU調(diào)度的基本單位。
A. 對(duì)
√B. 錯(cuò)

進(jìn)程是操作系統(tǒng)資源分配的基本單位,對(duì)于有多線程的系統(tǒng),線程是任務(wù)調(diào)度和執(zhí)行的基本單位。

45 ?如果系統(tǒng)中資源總數(shù)不足,則進(jìn)程一定會(huì)發(fā)生死鎖。
A. 對(duì)
√B. 錯(cuò)

回顧一下死鎖的必要條件:互斥、非搶占、部分分配、環(huán)路。

46 ?利用P-V機(jī)制控制并發(fā)過(guò)程時(shí),如果信號(hào)量S小于0,其絕對(duì)值表示相應(yīng)阻塞隊(duì)列中進(jìn)程的個(gè)數(shù)。
√A. 對(duì)
B. 錯(cuò)

47 ?最久未使用頁(yè)面淘汰算法將駐留在內(nèi)存中時(shí)間最久的頁(yè)面淘汰。
A. 對(duì)
√B. 錯(cuò)

48 ?GDTR和LDTR寄存器中存放的內(nèi)容是相應(yīng)描述符表的絕對(duì)地址。
A. 對(duì)
√B. 錯(cuò)

LDTR寄存器存放的是相對(duì)GDT的地址。
全局描述符表GDT:在整個(gè)系統(tǒng)中,全局描述符表GDT只有一張(一個(gè)處理器對(duì)應(yīng)一個(gè)GDT),GDT可以被放在內(nèi)存的任何位置,但CPU必須知道GDT的入口,也就是基地址放在哪里。
寄存器GDTR:用來(lái)存放GDT的入口地址,GDTR中存放的是GDT在內(nèi)存中的基地址和其表長(zhǎng)界限。
局部描述符表LDT(Local Descriptor Table)局部描述符表可以有若干張,每個(gè)任務(wù)可以有一張。我們可以這樣理解GDT和LDT:GDT為一級(jí)描述符表,LDT為二級(jí)描述符表。LDT和GDT從本質(zhì)上說(shuō)是相同的,只是LDT嵌套在GDT之中。
LDTR:記錄局部描述符表的起始位置,與GDTR不同,LDTR的內(nèi)容是一個(gè)段選擇子。
可見(jiàn)都記錄的是入口地址,但是LDTR記錄的是可變的,要找到局部符表的絕對(duì)地址,還需要結(jié)合GDT的地址計(jì)算。

49 ?同步機(jī)制的實(shí)質(zhì)是當(dāng)進(jìn)程運(yùn)行條件不滿足時(shí),能讓進(jìn)程即刻暫停,而條件一旦滿足,則及時(shí)喚醒它。
√A. 對(duì)
B. 錯(cuò)

50 ?空閑文件是指當(dāng)前沒(méi)有任何用戶存取使用的文件。
A. 對(duì)
√B. 錯(cuò)

空閑文件:把連續(xù)空閑區(qū)看成一個(gè)特殊文件,由多個(gè)連續(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 ?試述為L(zhǎng)inux增加新的系統(tǒng)調(diào)用的過(guò)程?

出自第三章單元作業(yè)(3)
1. 編寫新的系統(tǒng)調(diào)用函數(shù)
2. 注冊(cè)新的系統(tǒng)調(diào)用
3. 編譯新LINUX內(nèi)核
4. 編譯和安裝模塊
5. 啟動(dòng)新的LINUX內(nèi)核
6. 編寫應(yīng)用程序測(cè)試新的系統(tǒng)調(diào)用

3 ?試述線程有哪些典型應(yīng)用場(chǎng)合?

出自第四章單元作業(yè)(3)。
1.多個(gè)功能需要并發(fā)的地方;
2.需要改善窗口交互性的地方;
3.需要改善程序結(jié)構(gòu)的地方;
4.多核CPU上的應(yīng)用,充分發(fā)揮多核性能。

4 試述缺頁(yè)中斷的概念和缺頁(yè)中斷響應(yīng)的過(guò)程

沒(méi)找到出自哪里,借鑒了這個(gè)https://blog.csdn.net/yusiguyuan/article/details/46820061。

缺頁(yè)中斷:在請(qǐng)求頁(yè)式存儲(chǔ)管理中,當(dāng)根據(jù)虛擬地址查頁(yè)表而發(fā)現(xiàn)所要訪問(wèn)的頁(yè)不在內(nèi)存時(shí),就會(huì)產(chǎn)生缺頁(yè)中斷。
缺頁(yè)中斷響應(yīng)的過(guò)程:
<1> 首先硬件會(huì)陷入內(nèi)核,在堆棧中保存程序計(jì)數(shù)器。大多數(shù)機(jī)器將當(dāng)前指令的各種狀態(tài)信息保存在CPU中特殊的寄存器中。
<2>啟動(dòng)一個(gè)匯編代碼例程保存通用寄存器及其它易失性信息,以免被操作系統(tǒng)破壞。這個(gè)例程將操作系統(tǒng)作為一個(gè)函數(shù)來(lái)調(diào)用。
(在頁(yè)面換入換出的過(guò)程中可能會(huì)發(fā)生上下文換行,導(dǎo)致破壞當(dāng)前程序計(jì)數(shù)器及通用寄存器中本進(jìn)程的信息)
<3>當(dāng)操作系統(tǒng)發(fā)現(xiàn)是一個(gè)頁(yè)面中斷時(shí),查找出來(lái)發(fā)生頁(yè)面中斷的虛擬頁(yè)面(進(jìn)程地址空間中的頁(yè)面)。這個(gè)虛擬頁(yè)面的信息通常會(huì)保存在一個(gè)硬件寄存器中,如果沒(méi)有的話,操作系統(tǒng)必須檢索程序計(jì)數(shù)器,取出這條指令,用軟件分析該指令,通過(guò)分析找出發(fā)生頁(yè)面中斷的虛擬頁(yè)面。
<4>檢查虛擬地址的有效性及安全保護(hù)位。如果發(fā)生保護(hù)錯(cuò)誤,則殺死該進(jìn)程。
<5>操作系統(tǒng)查找一個(gè)空閑的頁(yè)框(物理內(nèi)存中的頁(yè)面),如果沒(méi)有空閑頁(yè)框則需要通過(guò)頁(yè)面置換算法找到一個(gè)需要換出的頁(yè)框。
<6>如果找的頁(yè)框中的內(nèi)容被修改了,則需要將修改的內(nèi)容保存到磁盤上,此時(shí)會(huì)引起一個(gè)寫磁盤調(diào)用,發(fā)生上下文切換(在等待磁盤寫的過(guò)程中讓其它進(jìn)程運(yùn)行)。
(注:此時(shí)需要將頁(yè)框置為忙狀態(tài),以防頁(yè)框被其它進(jìn)程搶占掉)
<7>頁(yè)框干凈后,操作系統(tǒng)根據(jù)虛擬地址對(duì)應(yīng)磁盤上的位置,將保持在磁盤上的頁(yè)面內(nèi)容復(fù)制到“干凈”的頁(yè)框中,此時(shí)會(huì)引起一個(gè)讀磁盤調(diào)用,發(fā)生上下文切換。
<8>當(dāng)磁盤中的頁(yè)面內(nèi)容全部裝入頁(yè)框后,向操作系統(tǒng)發(fā)送一個(gè)中斷。操作系統(tǒng)更新內(nèi)存中的頁(yè)表項(xiàng),將虛擬頁(yè)面映射的頁(yè)框號(hào)更新為寫入的頁(yè)框,并將頁(yè)框標(biāo)記為正常狀態(tài)。
<9>恢復(fù)缺頁(yè)中斷發(fā)生前的狀態(tài),將程序指令器重新指向引起缺頁(yè)中斷的指令。
<10>調(diào)度引起頁(yè)面中斷的進(jìn)程,操作系統(tǒng)返回匯編代碼例程。
<11>匯編代碼例程恢復(fù)現(xiàn)場(chǎng),將之前保存在通用寄存器中的信息恢復(fù)。

5 通過(guò)Linux或Windows驅(qū)動(dòng)程序的開(kāi)發(fā)過(guò)程,如何理解“設(shè)備是文件”這一重要概念?

詳見(jiàn)https://blog.csdn.net/uyhuayussd/article/details/94202544。我寫得沒(méi)他詳細(xì)。

一切都可看作是文件,所有的硬件組件都表示為文件,系統(tǒng)使用這些文件來(lái)與硬件通信。其最顯著的好處是在開(kāi)發(fā)過(guò)程中,對(duì)于各種的輸入/輸出資源,只需要相同的一套工具、實(shí)用程序和 API。

6 枚舉Windwos的的三種進(jìn)程/線程同步機(jī)制的名字和特點(diǎn)?

? ???連windows都打錯(cuò)了???還打了兩個(gè)‘的’???

沒(méi)找到出自哪里,借鑒了這個(gè):https://www.cnblogs.com/TTaiAL/p/6063119.html。

1. 原子操作:該操作絕不會(huì)在執(zhí)行完畢前被任何其他任務(wù)或事件打斷。需要硬件的支持,因此是架構(gòu)相關(guān)的。主要用于實(shí)現(xiàn)資源計(jì)數(shù)。
2. 互斥對(duì)象內(nèi)核對(duì)象(Mutex):能夠確保線程(可以是不同進(jìn)程的線程)擁有對(duì)單個(gè)資源的互斥訪問(wèn)權(quán)限。
3. 信標(biāo)內(nèi)核對(duì)象(Semaphore):用于對(duì)資源進(jìn)行計(jì)數(shù)。它能夠以原子操作的方式來(lái)執(zhí)行測(cè)試和設(shè)置操作,這意味著當(dāng)使用等待函數(shù)申請(qǐng)一個(gè)信標(biāo)保護(hù)的資源時(shí),操作系統(tǒng)會(huì)檢測(cè)這個(gè)資源是否可用,同時(shí)負(fù)責(zé)對(duì)該資源可用計(jì)數(shù)遞減,而不讓其他線程在這個(gè)過(guò)程中產(chǎn)生干擾。

總結(jié)

以上是生活随笔為你收集整理的【MOOC】华中科技大学操作系统慕课答案-期末测试题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。