12級《實(shí)用操作系統(tǒng)》A卷及答案
《12級《實(shí)用操作系統(tǒng)》A卷及答案》由會員分享,可在線閱讀,更多相關(guān)《12級《實(shí)用操作系統(tǒng)》A卷及答案(7頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、北京信息科技大學(xué) 信息管理學(xué)院 2013-2014(2)期末考試試卷(A卷) 課程名稱:《實(shí)用操作系統(tǒng)》 考試日期:2014年7月2日 考試時間: 考試地點(diǎn): 考試形式:(閉卷) 班級 學(xué)號 姓名 成績 題號 一 得分 教師簽字 四 五 六 總分 一、判斷題(本題滿分10分,每題1分,共含10道小題。) (填答案處,答案不填在此處不給分。正確/,錯誤X) [1] [2] [3] [4] [5] ? X ? ? X [6] [7] [8] [9]
2、[10] X ? X ? ? 1. 創(chuàng)建進(jìn)程時,需要在內(nèi)存中建立程序副本。 2. 操作系統(tǒng)通過PCB記錄文件在磁盤上的存儲位置。 3. 操作系統(tǒng)的內(nèi)核通常運(yùn)行在核心態(tài),用戶程序在用戶態(tài)下運(yùn)行。 4. 現(xiàn)代操作系統(tǒng),阻塞、掛起、排隊(duì),都就是針對線程的的,而不就是針對整個進(jìn)程的。 5. 在解決互斥問題時,V操作用于請求一個資源,P操作用于釋放一個資源。 6. 在頁式存儲管理機(jī)制下,操作系統(tǒng)為一個進(jìn)程分配的內(nèi)存通常就是連續(xù)的。 7. 在虛擬存儲器技術(shù)下,操作系統(tǒng)會將一部分程序頁面調(diào)入內(nèi)存(稱為主存),而在硬盤上 開辟一個空間(稱為輔存)存放剩余的頁面。 8. 在虛
3、擬存儲管理中,可變分配、局部置換的置換策略就是當(dāng)某進(jìn)程待訪問的頁面不在主 存,如果需要將主存中的某頁置換到輔存時,可以在主存中選擇任意進(jìn)程的頁換出。 9. 操作系統(tǒng)安排文件向磁盤上存儲時,連續(xù)的文件塊可能被存儲在磁盤上不連續(xù)的磁盤 物理塊中。 10, 信號量初值可以為負(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)行某個進(jìn)程時發(fā)現(xiàn)該進(jìn)程申請?jiān)L問一個已被占用的外設(shè)資源時,會阻 塞該進(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?,被稱為—[5L訪問模 式。 5. 靜態(tài)地址重定向就是在程序[6]的時候進(jìn)行的,動態(tài)地址重定向就是在程序指令—[7] 的時候進(jìn)行的。 6. UNIX System V系統(tǒng)采用混合分配方式記錄文件在磁盤上的位置。其文件目錄表中的索 引節(jié)點(diǎn)能直接索引[8]個磁盤塊。 7. 在一級頁式
5、存儲管理方案中,為了獲得一條指令或數(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)存管理中,邏輯頁號與物理頁號的映射關(guān)系存儲。 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. 時間片輪轉(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ì)在中斷控制器中 在虛擬存儲管理中,
7、可變分配、局部置換的置換策略就是當(dāng)某進(jìn)程待訪問的頁面不在主 存,如果需要將主存中的某頁置換到輔存時,— A、需要在該進(jìn)程占用的主存中選擇置換頁 C、可以在主存中選擇任意進(jìn)程的頁換出 下面哪個函數(shù)完成V()函數(shù)的功能? A、 CreateSemaphore() C、 ReleaseSemaphore() B、該進(jìn)程占用的主存大小不可變 D、該進(jìn)程占用的輔存大小不可變 B、 WaitForSingleObject() D、 CloseHandle() 對于記錄型信號量,在執(zhí)行一次V操作時,信號量的值應(yīng)當(dāng) A、不變 C、減1 將一個程序創(chuàng)建為進(jìn)程,需要 A、為該進(jìn)程分配磁盤空間 C
8、、擴(kuò)大可用的內(nèi)存容量 為了對4G內(nèi)存空間的計(jì)算機(jī)尋址,需要設(shè)計(jì)一 16位的地址總線。 24位的地址總線。 A、 C、 D、 D、 B、 D、 B、加1 加指定數(shù)值 B、在內(nèi)存中建一個該程序的副本 為該進(jìn)程提供分區(qū)表 20位的地址總線。 32位的地址總線。 四、計(jì)算題(本題滿分24分,每題8分,共含3小題) 1. (本題8分)設(shè)頁式存儲管理系統(tǒng)在2GB大小的內(nèi)存管理中,內(nèi)存塊大小設(shè)定為8K。 (1) 試寫出地址結(jié)構(gòu)格式(頁號尋址位數(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)前對25個并行運(yùn)行的進(jìn)程進(jìn)行調(diào)度。每個進(jìn)程分配的時間片為 20ms,操作系統(tǒng)每次進(jìn)行進(jìn)程切換時需要耗費(fèi)0、5ms。 (1) 試計(jì)算操作系統(tǒng)在此場景下為調(diào)度CPU完成多進(jìn)程并行切換所花費(fèi)的時間占 系統(tǒng)整個時間的比例。(4分) (2) 試根據(jù)計(jì)算結(jié)果描述多進(jìn)程并行運(yùn)行的代價就是什么。(4分) 解: (1) 0、5 / ( 20 + 0、5) = 2、44% (2) 有2、44%
10、的CPU時間消耗在進(jìn)程切換調(diào)度控制上。 3. (本題8分)在UNIX操作系統(tǒng)采用的索引節(jié)點(diǎn)方式記錄文件在磁盤的存儲位置方法中,每個 索引節(jié)點(diǎn)有13個地址項(xiàng)。其中前10個地址項(xiàng)用于直接尋址,后3個為間接尋址的索引塊指 針。假如盤塊的大小為4K,試計(jì)算: (1) 直接索引尋址最大支持的多大的文件? (2分) (2) 一級間接索引尋址最大支持的多大的文件? (3分) (3) 二級間接索引尋址最大支持的多大的文件? (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)場、動態(tài)地址重定向、隊(duì)列等。 (3) 記錄頁表基址,在銷毀進(jìn)程時釋放所占用的內(nèi)存。 2. (本題6分)設(shè)有5個進(jìn)程之間有下圖所示的同步關(guān)系。試在這5個進(jìn)程中用P()、V
12、()函數(shù) 控制它們之間的同步。 解: 設(shè)P1對P2的同步控制信號量為s1、P2對P3的信號量為s2、P2對P4的信號量為s3、P2 對P5的信號量為s4、P3對P4的信號量為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ù)器為每個用戶連接建立一個進(jìn)程。為了保證數(shù)據(jù) 庫數(shù)據(jù)的一致性,要求對數(shù)據(jù)庫讀寫操作的限制條件就是: (1) 允許任意多的進(jìn)程對數(shù)據(jù)庫同時讀訪問; (2) 一次只允許一個寫進(jìn)程對數(shù)據(jù)庫進(jìn)行寫訪問; (3) 如果有一個進(jìn)程正在進(jìn)行寫數(shù)據(jù)庫操作,禁止任何讀進(jìn)程進(jìn)行讀操作。 試寫出數(shù)據(jù)庫讀進(jìn)程與寫進(jìn)程的示意程序代碼,通過信號量與P、V函數(shù)實(shí)現(xiàn)上述讀寫限制。 解: 參見教材P83讀者-寫者問題 4. (本題8分)假設(shè)操作系統(tǒng)提供Create。、Read()、Write。、Close()等人?【函數(shù),使用戶 態(tài)下的用戶
14、程序通過這些API函數(shù)訪問外部設(shè)備。 (1) 請畫圖并描述操作系統(tǒng)如何進(jìn)行設(shè)備訪問控制,避免外部設(shè)備訪問沖突的(4分) (2) 請畫圖并描述操作系統(tǒng)如何使用虛擬設(shè)備技術(shù)(SPOOLing)提高設(shè)備訪問效率 的。(4分) 解: (1) ?J西即忒F專怖 BIOS在創(chuàng)建操作系統(tǒng)進(jìn)程時將操作系統(tǒng)設(shè)置為核心態(tài),使操作系統(tǒng)可以直接訪問硬件。操作 系統(tǒng)將各個IO驅(qū)動程序設(shè)置為核心態(tài)。在創(chuàng)建應(yīng)用程序進(jìn)程時,將所有用戶進(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ū)動程序,只能通過調(diào)用操作系統(tǒng)提供的API函
15、數(shù)訪問外設(shè)。 用戶進(jìn)程訪問外設(shè)時,需要使用create()API函數(shù)向操作系統(tǒng)的設(shè)備管理進(jìn)程申請,獲得設(shè)備訪 問句柄后才能繼續(xù)調(diào)用write()或 read()API函數(shù)來訪問外設(shè)。 當(dāng)用戶進(jìn)程申請?jiān)L問某個外設(shè),而該外設(shè)正被其它進(jìn)程占用時,操作系統(tǒng)的設(shè)備管理進(jìn)程就 會阻塞該進(jìn)程,直到外設(shè)被其它進(jìn)程釋放。因此,避免了進(jìn)程間外部設(shè)備的訪問沖突。 (2) 采用虛擬設(shè)備技術(shù)(SPOOLing)的操作系統(tǒng),一旦有用戶進(jìn)程申請?jiān)L問某個外設(shè),操作系統(tǒng)設(shè) 備管理進(jìn)程就創(chuàng)建一個SP線程來虛擬要訪問的外部設(shè)備。用戶進(jìn)程將把訪問外設(shè)的任務(wù)交 給SP線程來完成。 SP線程將執(zhí)行外設(shè)申請、外設(shè)訪問的操
16、作。如果外設(shè)被其它進(jìn)程占用,操作系統(tǒng)將阻塞SP 線程,而不就是用戶進(jìn)程。這種外設(shè)訪問的模式可以大大提高外設(shè)訪問與用戶進(jìn)程的執(zhí)行效 率。 5. (本題8分)某針對4G內(nèi)存空間的操作系統(tǒng)采用一級頁式存儲管理方案,設(shè)計(jì)內(nèi)存塊(頁)的大 小為8K。 (1) 試畫出該操作系統(tǒng)劃分頁面的地址空間(2分) (2) 設(shè)一個需要32K內(nèi)存規(guī)模的進(jìn)程,被連續(xù)存放在34821、34822、34823、34824 內(nèi)存塊中。試畫出內(nèi)存分配后操作系統(tǒng)創(chuàng)建的頁表。(2分) (3) 試畫出實(shí)現(xiàn)動態(tài)地址重定向的方案示意圖。(要求在畫出各步地址計(jì)算、傳輸?shù)?位數(shù),畫出CPU中的基址寄存器)。(2分) (4) 試說明
17、CPU中的基址寄存器在動態(tài)地址重定向中的作用。(2分) (本題可以考試后再學(xué)習(xí)。關(guān)于內(nèi)存管理的復(fù)習(xí)請參考本章的習(xí)題) 6. (本題10分)閱讀下列程序, (1)請對程序中各條語句的功能進(jìn)行注釋。(6分) HANDLE hHonk1,hHonk2; 〃開辟線程1與線程2的句柄變量。 HANDLE hHonkSemaphore; 〃開辟信號量句柄變量。 DWORD threadID; 〃開辟線程編號變量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ù)播放一個音樂。 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 信號量的阻塞隊(duì)列中有被阻塞的線程或 進(jìn)程,喚醒頭一個線程或進(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)建信號量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)建兩個播放音樂的線程,由這兩個線程分別播放音樂。 該程序設(shè)置兩個線程處于互斥的運(yùn)行方式。
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 川渝旅游日記成都重慶城市介紹推薦景點(diǎn)美食推薦
- XX國有企業(yè)黨委書記個人述責(zé)述廉報告及2025年重點(diǎn)工作計(jì)劃
- 世界濕地日濕地的含義及價值
- 20XX年春節(jié)節(jié)后復(fù)工安全生產(chǎn)培訓(xùn)人到場心到崗
- 大唐女子圖鑒唐朝服飾之美器物之美繪畫之美生活之美
- 節(jié)后開工第一課輕松掌握各要點(diǎn)節(jié)后常見的八大危險
- 廈門城市旅游介紹廈門景點(diǎn)介紹廈門美食展示
- 節(jié)后開工第一課復(fù)工復(fù)產(chǎn)十注意節(jié)后復(fù)工十檢查
- 傳統(tǒng)文化百善孝為先孝道培訓(xùn)
- 深圳城市旅游介紹景點(diǎn)推薦美食探索
- 節(jié)后復(fù)工安全生產(chǎn)培訓(xùn)勿忘安全本心人人講安全個個會應(yīng)急
- 預(yù)防性維修管理
- 常見閥門類型及特點(diǎn)
- 設(shè)備預(yù)防性維修
- 2.乳化液泵工理論考試試題含答案