12級(jí)《實(shí)用操作系統(tǒng)》A卷及答案
《12級(jí)《實(shí)用操作系統(tǒng)》A卷及答案》由會(huì)員分享,可在線閱讀,更多相關(guān)《12級(jí)《實(shí)用操作系統(tǒng)》A卷及答案(7頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、北京信息科技大學(xué) 信息管理學(xué)院 2013-2014(2)期末考試試卷(A卷) 課程名稱:《實(shí)用操作系統(tǒng)》 考試日期:2014年7月2日 考試時(shí)間: 考試地點(diǎn): 考試形式:(閉卷) 班級(jí) 學(xué)號(hào) 姓名 成績 題號(hào) 一 得分 教師簽字 四 五 六 總分 一、判斷題(本題滿分10分,每題1分,共含10道小題。) (填答案處,答案不填在此處不給分。正確/,錯(cuò)誤X) [1] [2] [3] [4] [5] ? X ? ? X [6] [7] [8] [9]
2、[10] X ? X ? ? 1. 創(chuàng)建進(jìn)程時(shí),需要在內(nèi)存中建立程序副本。 2. 操作系統(tǒng)通過PCB記錄文件在磁盤上的存儲(chǔ)位置。 3. 操作系統(tǒng)的內(nèi)核通常運(yùn)行在核心態(tài),用戶程序在用戶態(tài)下運(yùn)行。 4. 現(xiàn)代操作系統(tǒng),阻塞、掛起、排隊(duì),都就是針對(duì)線程的的,而不就是針對(duì)整個(gè)進(jìn)程的。 5. 在解決互斥問題時(shí),V操作用于請(qǐng)求一個(gè)資源,P操作用于釋放一個(gè)資源。 6. 在頁式存儲(chǔ)管理機(jī)制下,操作系統(tǒng)為一個(gè)進(jìn)程分配的內(nèi)存通常就是連續(xù)的。 7. 在虛擬存儲(chǔ)器技術(shù)下,操作系統(tǒng)會(huì)將一部分程序頁面調(diào)入內(nèi)存(稱為主存),而在硬盤上 開辟一個(gè)空間(稱為輔存)存放剩余的頁面。 8. 在虛
3、擬存儲(chǔ)管理中,可變分配、局部置換的置換策略就是當(dāng)某進(jìn)程待訪問的頁面不在主 存,如果需要將主存中的某頁置換到輔存時(shí),可以在主存中選擇任意進(jìn)程的頁換出。 9. 操作系統(tǒng)安排文件向磁盤上存儲(chǔ)時(shí),連續(xù)的文件塊可能被存儲(chǔ)在磁盤上不連續(xù)的磁盤 物理塊中。 10, 信號(hào)量初值可以為負(fù)值。 二、填空題(本題滿分10分,每空1分,共含10道小題) (填答案處,答案不填在此處不給分) [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] P V 阻塞態(tài) IP DMA 裝入內(nèi) 存 被執(zhí)行 10 2 頁表 1. 為了實(shí)現(xiàn)互斥,程序中
4、的臨界區(qū)需要使用[1]函數(shù)與[2]函數(shù)在兩端進(jìn)行控制。 2. 如果操作系統(tǒng)在運(yùn)行某個(gè)進(jìn)程時(shí)發(fā)現(xiàn)該進(jìn)程申請(qǐng)?jiān)L問一個(gè)已被占用的外設(shè)資源時(shí),會(huì)阻 塞該進(jìn)程,把該進(jìn)程的狀態(tài)由運(yùn)行態(tài)改為[3]。 3. CPU中負(fù)責(zé)指明下一跳待執(zhí)行指令的寄存器就是[4]。 4. 不經(jīng)過CPU而直接在外部設(shè)備與內(nèi)存之間進(jìn)行數(shù)據(jù)傳輸?shù)哪J剑环Q為—[5L訪問模 式。 5. 靜態(tài)地址重定向就是在程序[6]的時(shí)候進(jìn)行的,動(dòng)態(tài)地址重定向就是在程序指令—[7] 的時(shí)候進(jìn)行的。 6. UNIX System V系統(tǒng)采用混合分配方式記錄文件在磁盤上的位置。其文件目錄表中的索 引節(jié)點(diǎn)能直接索引[8]個(gè)磁盤塊。 7. 在一級(jí)頁式
5、存儲(chǔ)管理方案中,為了獲得一條指令或數(shù)據(jù),需要訪問內(nèi)存[9]次。第一 次訪問_[10L,第二次訪問指令或數(shù)據(jù)所在的內(nèi)存。 三、單項(xiàng)選擇題(本題滿分10分,每題1分,共含10道小題) (填答案處,答案不填在此處不給分) 1 2 3 4 5 6 7 8 9 10 C A C D A A C B B D 1. 在內(nèi)存管理中,邏輯頁號(hào)與物理頁號(hào)的映射關(guān)系存儲(chǔ)。 A、鏈表中 B、內(nèi)存分配表中 C、頁表中 D、索引表中 2. 原語最為完成一定功能的程序,它與一般程序的區(qū)別在于。 A、程序中的所有操作必須一次執(zhí)行完成 B、程序中的所有操作應(yīng)該可以被
6、回朔 D、核心態(tài)的程序都必須用原語實(shí)現(xiàn) B、 需要大于程序頁的大小 D、不能等于程序頁的大小 B、一種內(nèi)存剩余空間計(jì)算方法 D、一種進(jìn)程調(diào)度算法 C、原語在執(zhí)行中可以被中斷 3. 在內(nèi)存管理的方案中,內(nèi)存塊的大小 A、不能大于程序頁的大小 C、需要等于程序頁的大小 4. 時(shí)間片輪轉(zhuǎn)算法(RR),就是 。 A、一種磁盤尋道算法 C、一種阻塞隊(duì)列排隊(duì)算法 5. 在計(jì)算機(jī)主板中,網(wǎng)絡(luò)、USB、硬盤等接口控制器通常 6. 7. 8. 9. 10. A、設(shè)計(jì)在南橋芯片中 B、設(shè)計(jì)在北橋芯片中 C、設(shè)計(jì)為獨(dú)立電路芯片組中 D、設(shè)計(jì)在中斷控制器中 在虛擬存儲(chǔ)管理中,
7、可變分配、局部置換的置換策略就是當(dāng)某進(jìn)程待訪問的頁面不在主 存,如果需要將主存中的某頁置換到輔存時(shí),— A、需要在該進(jìn)程占用的主存中選擇置換頁 C、可以在主存中選擇任意進(jìn)程的頁換出 下面哪個(gè)函數(shù)完成V()函數(shù)的功能? A、 CreateSemaphore() C、 ReleaseSemaphore() B、該進(jìn)程占用的主存大小不可變 D、該進(jìn)程占用的輔存大小不可變 B、 WaitForSingleObject() D、 CloseHandle() 對(duì)于記錄型信號(hào)量,在執(zhí)行一次V操作時(shí),信號(hào)量的值應(yīng)當(dāng) A、不變 C、減1 將一個(gè)程序創(chuàng)建為進(jìn)程,需要 A、為該進(jìn)程分配磁盤空間 C
8、、擴(kuò)大可用的內(nèi)存容量 為了對(duì)4G內(nèi)存空間的計(jì)算機(jī)尋址,需要設(shè)計(jì)一 16位的地址總線。 24位的地址總線。 A、 C、 D、 D、 B、 D、 B、加1 加指定數(shù)值 B、在內(nèi)存中建一個(gè)該程序的副本 為該進(jìn)程提供分區(qū)表 20位的地址總線。 32位的地址總線。 四、計(jì)算題(本題滿分24分,每題8分,共含3小題) 1. (本題8分)設(shè)頁式存儲(chǔ)管理系統(tǒng)在2GB大小的內(nèi)存管理中,內(nèi)存塊大小設(shè)定為8K。 (1) 試寫出地址結(jié)構(gòu)格式(頁號(hào)尋址位數(shù)、頁內(nèi)尋址位數(shù))。(2分) (2) 若某進(jìn)程大小為40K,該進(jìn)程應(yīng)被分為多少頁?(2分) (3) 若該進(jìn)程被分配到第3115塊開
9、始的連續(xù)內(nèi)存塊中,試畫出頁表(4分) 解: (1) 31 = 18 + 13 (2) 5 (3) 0 - 3115、1-3116、2-3117、3-4118、4-3119 2. (本題8分)假設(shè)操作系統(tǒng)當(dāng)前對(duì)25個(gè)并行運(yùn)行的進(jìn)程進(jìn)行調(diào)度。每個(gè)進(jìn)程分配的時(shí)間片為 20ms,操作系統(tǒng)每次進(jìn)行進(jìn)程切換時(shí)需要耗費(fèi)0、5ms。 (1) 試計(jì)算操作系統(tǒng)在此場景下為調(diào)度CPU完成多進(jìn)程并行切換所花費(fèi)的時(shí)間占 系統(tǒng)整個(gè)時(shí)間的比例。(4分) (2) 試根據(jù)計(jì)算結(jié)果描述多進(jìn)程并行運(yùn)行的代價(jià)就是什么。(4分) 解: (1) 0、5 / ( 20 + 0、5) = 2、44% (2) 有2、44%
10、的CPU時(shí)間消耗在進(jìn)程切換調(diào)度控制上。 3. (本題8分)在UNIX操作系統(tǒng)采用的索引節(jié)點(diǎn)方式記錄文件在磁盤的存儲(chǔ)位置方法中,每個(gè) 索引節(jié)點(diǎn)有13個(gè)地址項(xiàng)。其中前10個(gè)地址項(xiàng)用于直接尋址,后3個(gè)為間接尋址的索引塊指 針。假如盤塊的大小為4K,試計(jì)算: (1) 直接索引尋址最大支持的多大的文件? (2分) (2) 一級(jí)間接索引尋址最大支持的多大的文件? (3分) (3) 二級(jí)間接索引尋址最大支持的多大的文件? (3分) 解: (1) 4KB (2) 4K x 4K + 4K = 16MB + 4K (3) 4K x 4K x 4K + 4K x 4K + 4K = 64Gb +
11、16MB + 4K 五、應(yīng)用題(本題滿分46分,共含6小題) 1. (本題6分)進(jìn)程控制塊PCB就是操作系統(tǒng)進(jìn)行進(jìn)程管理與內(nèi)存管理中的重要數(shù)據(jù)結(jié)構(gòu)。試: (1) 寫出進(jìn)程控制塊中記錄的主要內(nèi)容。(2分) (2) 描述進(jìn)程控制塊在進(jìn)程管理中的作用。(2分) (3) 描述進(jìn)程控制塊在內(nèi)存管理中的作用。(2分) 解: (1) 進(jìn)程名等基本信息、狀態(tài)、頁表基址、斷點(diǎn)與現(xiàn)場 指針。 (2) 感知進(jìn)程的狀態(tài)、暫存斷點(diǎn)與現(xiàn)場、動(dòng)態(tài)地址重定向、隊(duì)列等。 (3) 記錄頁表基址,在銷毀進(jìn)程時(shí)釋放所占用的內(nèi)存。 2. (本題6分)設(shè)有5個(gè)進(jìn)程之間有下圖所示的同步關(guān)系。試在這5個(gè)進(jìn)程中用P()、V
12、()函數(shù) 控制它們之間的同步。 解: 設(shè)P1對(duì)P2的同步控制信號(hào)量為s1、P2對(duì)P3的信號(hào)量為s2、P2對(duì)P4的信號(hào)量為s3、P2 對(duì)P5的信號(hào)量為s4、P3對(duì)P4的信號(hào)量為s5 Semaphore s1 = s2 = s3 = s4 = s5 = 0; P1 { ..?、、code...、、V(s1); } P2 { P(s1);...、、code...、、V(s2); V(s3); V(s4) } P3 { P(s2); ...、、code...、、V(s5); } P4 { P(s3); P(s5); ..?、、code...、、} P5 { P(s4); ..
13、.、、code...、、} 3. (本題8分)在多用戶并發(fā)訪問情況下,服務(wù)器為每個(gè)用戶連接建立一個(gè)進(jìn)程。為了保證數(shù)據(jù) 庫數(shù)據(jù)的一致性,要求對(duì)數(shù)據(jù)庫讀寫操作的限制條件就是: (1) 允許任意多的進(jìn)程對(duì)數(shù)據(jù)庫同時(shí)讀訪問; (2) 一次只允許一個(gè)寫進(jìn)程對(duì)數(shù)據(jù)庫進(jìn)行寫訪問; (3) 如果有一個(gè)進(jìn)程正在進(jìn)行寫數(shù)據(jù)庫操作,禁止任何讀進(jìn)程進(jìn)行讀操作。 試寫出數(shù)據(jù)庫讀進(jìn)程與寫進(jìn)程的示意程序代碼,通過信號(hào)量與P、V函數(shù)實(shí)現(xiàn)上述讀寫限制。 解: 參見教材P83讀者-寫者問題 4. (本題8分)假設(shè)操作系統(tǒng)提供Create。、Read()、Write。、Close()等人?【函數(shù),使用戶 態(tài)下的用戶
14、程序通過這些API函數(shù)訪問外部設(shè)備。 (1) 請(qǐng)畫圖并描述操作系統(tǒng)如何進(jìn)行設(shè)備訪問控制,避免外部設(shè)備訪問沖突的(4分) (2) 請(qǐng)畫圖并描述操作系統(tǒng)如何使用虛擬設(shè)備技術(shù)(SPOOLing)提高設(shè)備訪問效率 的。(4分) 解: (1) ?J西即忒F專怖 BIOS在創(chuàng)建操作系統(tǒng)進(jìn)程時(shí)將操作系統(tǒng)設(shè)置為核心態(tài),使操作系統(tǒng)可以直接訪問硬件。操作 系統(tǒng)將各個(gè)IO驅(qū)動(dòng)程序設(shè)置為核心態(tài)。在創(chuàng)建應(yīng)用程序進(jìn)程時(shí),將所有用戶進(jìn)程設(shè)置為用戶 態(tài)。 由于CPU拒絕執(zhí)行用戶態(tài)進(jìn)程中訪問IO的指令與調(diào)用核心態(tài)進(jìn)程的指令,用戶進(jìn)程不能夠 直接訪問外設(shè)或調(diào)用外設(shè)驅(qū)動(dòng)程序,只能通過調(diào)用操作系統(tǒng)提供的API函
15、數(shù)訪問外設(shè)。 用戶進(jìn)程訪問外設(shè)時(shí),需要使用create()API函數(shù)向操作系統(tǒng)的設(shè)備管理進(jìn)程申請(qǐng),獲得設(shè)備訪 問句柄后才能繼續(xù)調(diào)用write()或 read()API函數(shù)來訪問外設(shè)。 當(dāng)用戶進(jìn)程申請(qǐng)?jiān)L問某個(gè)外設(shè),而該外設(shè)正被其它進(jìn)程占用時(shí),操作系統(tǒng)的設(shè)備管理進(jìn)程就 會(huì)阻塞該進(jìn)程,直到外設(shè)被其它進(jìn)程釋放。因此,避免了進(jìn)程間外部設(shè)備的訪問沖突。 (2) 采用虛擬設(shè)備技術(shù)(SPOOLing)的操作系統(tǒng),一旦有用戶進(jìn)程申請(qǐng)?jiān)L問某個(gè)外設(shè),操作系統(tǒng)設(shè) 備管理進(jìn)程就創(chuàng)建一個(gè)SP線程來虛擬要訪問的外部設(shè)備。用戶進(jìn)程將把訪問外設(shè)的任務(wù)交 給SP線程來完成。 SP線程將執(zhí)行外設(shè)申請(qǐng)、外設(shè)訪問的操
16、作。如果外設(shè)被其它進(jìn)程占用,操作系統(tǒng)將阻塞SP 線程,而不就是用戶進(jìn)程。這種外設(shè)訪問的模式可以大大提高外設(shè)訪問與用戶進(jìn)程的執(zhí)行效 率。 5. (本題8分)某針對(duì)4G內(nèi)存空間的操作系統(tǒng)采用一級(jí)頁式存儲(chǔ)管理方案,設(shè)計(jì)內(nèi)存塊(頁)的大 小為8K。 (1) 試畫出該操作系統(tǒng)劃分頁面的地址空間(2分) (2) 設(shè)一個(gè)需要32K內(nèi)存規(guī)模的進(jìn)程,被連續(xù)存放在34821、34822、34823、34824 內(nèi)存塊中。試畫出內(nèi)存分配后操作系統(tǒng)創(chuàng)建的頁表。(2分) (3) 試畫出實(shí)現(xiàn)動(dòng)態(tài)地址重定向的方案示意圖。(要求在畫出各步地址計(jì)算、傳輸?shù)?位數(shù),畫出CPU中的基址寄存器)。(2分) (4) 試說明
17、CPU中的基址寄存器在動(dòng)態(tài)地址重定向中的作用。(2分) (本題可以考試后再學(xué)習(xí)。關(guān)于內(nèi)存管理的復(fù)習(xí)請(qǐng)參考本章的習(xí)題) 6. (本題10分)閱讀下列程序, (1)請(qǐng)對(duì)程序中各條語句的功能進(jìn)行注釋。(6分) HANDLE hHonk1,hHonk2; 〃開辟線程1與線程2的句柄變量。 HANDLE hHonkSemaphore; 〃開辟信號(hào)量句柄變量。 DWORD threadID; 〃開辟線程編號(hào)變量threadID。 void Honk1Thread() { WaitForSingleObject(hHonkSemaphore,INFINITE); //注釋:P 函數(shù),如果有
18、其它線程正在播 放音樂,阻塞本進(jìn)程。 printf("\n Thread1 is working \n"); mciSendString("play C:\\111、mp3",NULL,0,NULL);//注釋:調(diào)用 API 函數(shù)播放一個(gè)音樂。 MessageBox(NULL,"Press any key to stop music 111、MP3","music 111、MP3 window",0); //注釋:彈出提示窗口,等待用戶按任意 鍵繼續(xù)執(zhí)行后面的指令。 mciSendString("close C:\\111、mp3”,NULL,0,NULL); //注釋:關(guān)閉音樂
19、播放 ReleaseSemaphore(hHonkSemaphore,1,NULL); //注釋:V 函數(shù),如果有其它線程被阻塞, 喚醒該線程程。(如果hHonkSemaphore 信號(hào)量的阻塞隊(duì)列中有被阻塞的線程或 進(jìn)程,喚醒頭一個(gè)線程或進(jìn)程) } void Honk2Thread() { WaitForSingleObject(hHonkSemaphore,INFINITE); //注釋:P 函數(shù),如果有其它線程正在播 放音樂,阻塞本進(jìn)程。 printf("\n Thread2 is working \n"); mciSendString("play C:\\222、mp3”,NU
20、LL,0,NULL); MessageBox(NULL,"Press any key to stop music 222、MP3","music 222、MP3 window",0); mciSendString("close C:\\222、mp3",NULL,0,NULL); ReleaseSemaphore(hHonkSemaphore,1,NULL); //注釋:V 函數(shù),如果有其它線程被阻塞, 喚醒該線程程。 } void main(void) { hHonkSemaphore = CreateSemaphore(NULL, 1, 1, "honkSemaphore"); /
21、/注釋:創(chuàng)建信號(hào)量honkSemaphore,初 值為1,用于線程1與線程2的互 斥。 hHonk1=CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Honk1Thread, 0, 0, &threadID); //注釋:創(chuàng)建線程1 hHonk2=CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)Honk2Thread, 0, 0, &threadID); //注釋:創(chuàng)建線程2 MessageBox(NULL,"Press Enter to stop Main Function","Main window",0); CloseHandle(hHonk1); //注釋:關(guān)閉線程 1 CloseHandle(hHonk2); //注釋:關(guān)閉線程 2 } (2)描述下列程序的用途與運(yùn)行方式。(4分) 本程序創(chuàng)建兩個(gè)播放音樂的線程,由這兩個(gè)線程分別播放音樂。 該程序設(shè)置兩個(gè)線程處于互斥的運(yùn)行方式。
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 隱蔽工程驗(yàn)收要點(diǎn)
- 給排水中水泵揚(yáng)程與壓力的關(guān)系
- 水泥廠燒成回轉(zhuǎn)窯中控操作問題解答
- 地暖安裝注意事項(xiàng)
- 水泥廠中控操作自動(dòng)化專業(yè)試題(附答案)
- 防水套管的應(yīng)用與分類
- 施工現(xiàn)場職業(yè)健康管理制度
- 常見基坑工程的支護(hù)方式
- 水泥包裝車間各崗位職責(zé)
- 打樁機(jī)的種類
- 水泥磨操作員試題(附答案)
- 鋼結(jié)構(gòu)工程量計(jì)算注意事項(xiàng)
- 水泥控制工試題(附答案)
- 水泥生產(chǎn)工藝類知識(shí)考試題(附答案)-
- 鋼結(jié)構(gòu)安裝施工安全技術(shù)交底范文