![操作系統(tǒng)復(fù)習(xí)題2_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/6/182a0468-99ee-485e-b0d8-604580ca422f/182a0468-99ee-485e-b0d8-604580ca422f1.gif)
![操作系統(tǒng)復(fù)習(xí)題2_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/6/182a0468-99ee-485e-b0d8-604580ca422f/182a0468-99ee-485e-b0d8-604580ca422f2.gif)
![操作系統(tǒng)復(fù)習(xí)題2_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/6/182a0468-99ee-485e-b0d8-604580ca422f/182a0468-99ee-485e-b0d8-604580ca422f3.gif)
![操作系統(tǒng)復(fù)習(xí)題2_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/6/182a0468-99ee-485e-b0d8-604580ca422f/182a0468-99ee-485e-b0d8-604580ca422f4.gif)
![操作系統(tǒng)復(fù)習(xí)題2_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/6/182a0468-99ee-485e-b0d8-604580ca422f/182a0468-99ee-485e-b0d8-604580ca422f5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一、選擇題1在進(jìn)程的組成部分之中,進(jìn)程在運(yùn)行中不可修改的部分是_B_。A私用程序段 B共享程序段C數(shù)據(jù)段 D進(jìn)程控制塊2響應(yīng)比高者優(yōu)先作業(yè)調(diào)度算法是以計(jì)算時(shí)間和_D_來(lái)考慮的。A 輸入時(shí)間 B 完成時(shí)間 C 周轉(zhuǎn)時(shí)間 D 等待時(shí)間3在消息緩沖通信中,消息隊(duì)列屬于_A_資源。A 臨界 B 共享 C 永久 D 可剝奪4進(jìn)程間的同步是指進(jìn)程間在邏輯上的相互_B_關(guān)系。A 聯(lián)接 B 制約 C 繼續(xù) D 調(diào)用5最適合于分時(shí)系統(tǒng)的進(jìn)程調(diào)度算法是_D_。A先來(lái)先服務(wù)(FCFS) B最短作業(yè)優(yōu)先(SSJF)C優(yōu)先數(shù)法 D輪轉(zhuǎn)法(RR)6進(jìn)程A和進(jìn)程B通過(guò)共享緩沖區(qū)協(xié)作完成數(shù)據(jù)處理,進(jìn)程A負(fù)責(zé)生產(chǎn)數(shù)據(jù)并放入緩沖
2、區(qū),進(jìn)程B從緩沖區(qū)中讀數(shù)據(jù)并輸出。進(jìn)程A和進(jìn)程B之間的關(guān)系是_B_。A互斥關(guān)系 B同步關(guān)系 C互斥和同步 D無(wú)制約關(guān)系7在優(yōu)先級(jí)調(diào)度中,_C_類進(jìn)程可能被“餓死”,即長(zhǎng)時(shí)間得不到調(diào)度。A短進(jìn)程 B長(zhǎng)進(jìn)程 C低優(yōu)先級(jí)進(jìn)程 D大內(nèi)存進(jìn)程8進(jìn)程從運(yùn)行狀態(tài)到阻塞狀態(tài)可能是由于_C_。A進(jìn)程調(diào)度程序的調(diào)度 B現(xiàn)運(yùn)行進(jìn)程的時(shí)間片耗盡C現(xiàn)運(yùn)行進(jìn)程執(zhí)行了wait操作 D現(xiàn)運(yùn)行進(jìn)程執(zhí)行了signal操作9銀行家算法在解決死鎖問(wèn)題中是用于_B_的。A預(yù)防死鎖 B避免死鎖 C檢測(cè)死鎖 D解除死鎖10_D_不是進(jìn)程調(diào)度算法。A 時(shí)間片輪轉(zhuǎn)法 B 先來(lái)先服務(wù)方法C 響應(yīng)比高者優(yōu)先法 D 均衡調(diào)度算法11下面關(guān)于線程的敘
3、述中正確的是_A_。A線程包含CPU現(xiàn)場(chǎng),可以獨(dú)立執(zhí)行程序 B每個(gè)線程有自己獨(dú)立的地址空間C線程之間的通信必須使用系統(tǒng)調(diào)用函數(shù) D進(jìn)程只能包含一個(gè)線程12并發(fā)進(jìn)程之間_D_。A彼此無(wú)關(guān) B必須同步 C必須互斥 D可能需要同步或互斥13當(dāng)一個(gè)進(jìn)程運(yùn)行時(shí),系統(tǒng)可能基于某種原則強(qiáng)行將其撤下,把處理器分配給其他進(jìn)程,這種調(diào)度方式是_B_。A非剝奪方式 B剝奪方式 C中斷方式 D查詢方式14信號(hào)量S不能用于_D_操作。Asignal Bwait C賦初值 D運(yùn)算表達(dá)式15_D_是一種只能進(jìn)行wait操作和signal操作的特殊變量 A 調(diào)度 B 進(jìn)程 C 同步 D 信號(hào)量16分配給進(jìn)程占用處理機(jī)的時(shí)間到
4、而強(qiáng)迫進(jìn)程P讓出處理器,或有更高優(yōu)先級(jí)的進(jìn)程要運(yùn)行,迫使正在運(yùn)行的進(jìn)程P讓出處理器,則進(jìn)程P狀態(tài)變化的情況為_(kāi)A_ A 運(yùn)行態(tài)>就緒態(tài) B 運(yùn)行態(tài)>等待態(tài)C 就緒態(tài)>運(yùn)行態(tài) D 等待態(tài)>就緒態(tài)17下面關(guān)于進(jìn)程的敘述中正確的是_A_。A進(jìn)程獲得CPU運(yùn)行是通過(guò)調(diào)度得到的B優(yōu)先級(jí)是進(jìn)程調(diào)度的重要依據(jù),一旦確定就不能改變C在單CPU的系統(tǒng)中,任何時(shí)刻都有一個(gè)進(jìn)程處于運(yùn)行狀態(tài)D進(jìn)程申請(qǐng)CPU得不到滿足時(shí),其狀態(tài)變?yōu)樽枞?8操作系統(tǒng)通過(guò)_B_對(duì)進(jìn)程進(jìn)行管理。A 進(jìn)程 B 進(jìn)程控制塊 C 進(jìn)程啟動(dòng)程序 D 進(jìn)程控制區(qū)19. 若一個(gè)進(jìn)程擁有100個(gè)線程,這些線程屬于用戶級(jí)線程,它們?cè)?/p>
5、系統(tǒng)調(diào)度執(zhí)行時(shí)間上占用的時(shí)間片個(gè)數(shù)是_A_。A1 B100 C1/100 D020. 解除死鎖通常不采用的方法是_D_。A終止一個(gè)死鎖進(jìn)程 B終止所有死鎖進(jìn)程 C從死鎖進(jìn)程處搶奪資源 D從非死鎖進(jìn)程處搶奪資源21. 到其他3種狀態(tài)的進(jìn)程狀態(tài)是_D_。A就緒 B阻塞 C完成 D執(zhí)行22信號(hào)量的初值為2,當(dāng)前值為-3,則表示等待進(jìn)程有_C_。A1個(gè) B2個(gè) C3個(gè) D5個(gè)23wait操作可能導(dǎo)致_C_。A進(jìn)程就緒 B進(jìn)程結(jié)束 C進(jìn)程阻塞(等待) D新進(jìn)程創(chuàng)建24在操作系統(tǒng)中為避免系統(tǒng)的死鎖采用_A_。A銀行家算法 B破壞占有并等待條件C死鎖檢測(cè)和恢復(fù) D破壞非剝奪條件25下列的進(jìn)程狀態(tài)變化中不可能
6、發(fā)生的變化是_A_。A等待運(yùn)行 B運(yùn)行等待 C運(yùn)行就緒 D等待就緒26如果有三個(gè)進(jìn)程共享同一互斥段,而且每次最多允許兩個(gè)進(jìn)程進(jìn)入該互斥段,則信號(hào)量的初值應(yīng)設(shè)置為_(kāi)C_。A 3 B 1 C 2 D 027進(jìn)程之間交換數(shù)據(jù)不能通過(guò)_C_途徑進(jìn)行。A共享文件 B消息傳遞 C訪問(wèn)進(jìn)程地址空間 D訪問(wèn)共享存儲(chǔ)區(qū)域28進(jìn)程控制塊PCB不包括的內(nèi)容是_D_。ACPU現(xiàn)場(chǎng) B進(jìn)程優(yōu)先級(jí) C進(jìn)程運(yùn)行狀態(tài) D文件緩沖區(qū)29PCB是描述進(jìn)程狀態(tài)和特性的數(shù)據(jù)結(jié)構(gòu),一個(gè)進(jìn)程_D_。A可以有多個(gè)PCB B可以和其他進(jìn)程共用一個(gè)PCBC可以沒(méi)有PCB D只能有唯一的PCB30資源順序分配法破壞了死鎖發(fā)生的_D_必要條件。A
7、互斥占用 B占有等待 C非剝奪 D循環(huán)等待31進(jìn)程和程序的本質(zhì)區(qū)別是_B_。A內(nèi)存和外存 B動(dòng)態(tài)和靜態(tài)特征 C共享和獨(dú)占使用計(jì)算機(jī)資源 D順序和非順序執(zhí)行指令32設(shè)有兩個(gè)進(jìn)程共享3個(gè)同類資源,為使系統(tǒng)不死鎖,每個(gè)進(jìn)程最多可以申請(qǐng)_C_資源。A 0 B 1 C 2 D 333作業(yè)調(diào)度中的先來(lái)先服務(wù)算法是以_C_為出發(fā)點(diǎn)考慮的。A 作業(yè)執(zhí)行時(shí)間 B 作業(yè)的周轉(zhuǎn)時(shí)間C 作業(yè)等待時(shí)間 D 等待時(shí)間加運(yùn)行時(shí)同34設(shè)m為同類資源數(shù),n為系統(tǒng)中的并發(fā)進(jìn)程數(shù)。當(dāng)n個(gè)進(jìn)程共享m個(gè)互斥資源時(shí),每個(gè)進(jìn)程的最大需求是w。下列情況下,系統(tǒng)會(huì)死鎖的是_D_。A m=2,n=l,w=2 B m=2,n=2,w=1C m=4
8、,n=3,W=2 D m=4,n=2,w=335用于解決進(jìn)程間互斥的方法是_B_。 信號(hào)量及wait、signal操作 加鎖與解鎖 信箱方式 消息緩沖方式 特權(quán)指令方式A、和 B和 C和 D和36在操作系統(tǒng)中,每個(gè)進(jìn)程具有獨(dú)立性,進(jìn)程之間又具有相互制約性。對(duì)于任何兩個(gè)并發(fā)進(jìn)程,它們_C_。A 必定無(wú)關(guān) B 必定相關(guān) C 可能相關(guān) D 可能相同二、簡(jiǎn)答題1什么是線程?進(jìn)程和線程的關(guān)系是什么?線程可定義為進(jìn)程內(nèi)的一個(gè)執(zhí)行單位,或者定義為進(jìn)程內(nèi)的一個(gè)可調(diào)度實(shí)體。 在具有多線程機(jī)制的操作系統(tǒng)中,處理機(jī)調(diào)度的基本單位不是進(jìn)程而是線程。一個(gè)進(jìn)程可以有多個(gè)線程,而且至少有一個(gè)可執(zhí)行線程。 進(jìn)程和線程的關(guān)系是
9、: (1)線程是進(jìn)程的一個(gè)組成部分。 (2)進(jìn)程的多個(gè)線程都在進(jìn)程的地址空間活動(dòng)。 (3)資源是分給進(jìn)程的,而不是分給線程的,線程在執(zhí)行中需要資源時(shí),系統(tǒng)從進(jìn)程的資源分配額中扣除并分配給它。 (4)處理機(jī)調(diào)度的基本單位是線程,線程之間競(jìng)爭(zhēng)處理機(jī),真正在處理機(jī)上運(yùn)行的是線程。 (5)線程在執(zhí)行過(guò)程中,需要同步。2 進(jìn)程能自己將自己?jiǎn)拘褑幔窟M(jìn)程能自己將自己撤銷嗎?喚醒進(jìn)程和撤消進(jìn)程都是要通過(guò)CPU上運(yùn)行程序來(lái)實(shí)現(xiàn)的。一個(gè)進(jìn)程入睡了,它就不可能被調(diào)度到CPU上運(yùn)行;一個(gè)進(jìn)程在撤消前必須先進(jìn)入終止?fàn)顟B(tài),而處于終止?fàn)顟B(tài)的進(jìn)程不可能被調(diào)度到CPU上運(yùn)行。因此,進(jìn)程被喚醒、被撤消都不能由自己來(lái)完成,只能由別
10、的進(jìn)程實(shí)現(xiàn)。3 父進(jìn)程創(chuàng)建子進(jìn)程之后,父子進(jìn)程間的關(guān)系是什么?一個(gè)進(jìn)程創(chuàng)建子進(jìn)程之后,進(jìn)程與產(chǎn)生的進(jìn)程之間的關(guān)系是父子關(guān)系,分別成為進(jìn)程和子進(jìn)程。子進(jìn)程一經(jīng)產(chǎn)生就與你進(jìn)程并發(fā)執(zhí)行,子進(jìn)程共享父進(jìn)程和子進(jìn)程。子進(jìn)程一經(jīng)產(chǎn)生就與你進(jìn)程并發(fā)執(zhí)行,子進(jìn)程共享父進(jìn)程的正文段和已經(jīng)打開(kāi)的文件。4 簡(jiǎn)述引進(jìn)線程的好處。(1)以線程作為系統(tǒng)調(diào)度的基本單位,減少了系統(tǒng)的時(shí)空開(kāi)銷。以進(jìn)程為系統(tǒng)調(diào)度的基本單位的系統(tǒng)中,進(jìn)程的切換是很頻繁的。在切換中由于要保留當(dāng)時(shí)的運(yùn)行環(huán)境,還要設(shè)置新選中的進(jìn)程的運(yùn)行環(huán)境,這既花費(fèi)了處理機(jī)的時(shí)間,又增加了主存的空間,從而也限制了系統(tǒng)進(jìn)程的數(shù)量和進(jìn)程的切換速度。 (2)引進(jìn)線程提高了系
11、統(tǒng)的并行能力。線程作為進(jìn)程內(nèi)的一個(gè)可執(zhí)行實(shí)體,減少了并行粒度。線程作為調(diào)度的基本單位而不是資源分配的基本單位,調(diào)度更為容易,而且采用線程提高系統(tǒng)的并行能力比采用進(jìn)程更為有效。 (3)同一進(jìn)程的線程共享進(jìn)程的用戶地址空間,所以同一進(jìn)程的線程間的通信更容易實(shí)現(xiàn)。5 當(dāng)一個(gè)進(jìn)程的父進(jìn)程被撤銷時(shí),該進(jìn)程是撤銷好還是不撤銷好?在實(shí)際系統(tǒng)中,兩種處理辦法都是可行的,且各有優(yōu)缺點(diǎn)。若撤消,則該進(jìn)程的任務(wù)可能還沒(méi)有完成,這顯然是不利的,特別是當(dāng)該進(jìn)程的運(yùn)行結(jié)果對(duì)其他進(jìn)程的運(yùn)行很重要(如該進(jìn)程是其他進(jìn)程的前趨進(jìn)程,沒(méi)有它的運(yùn)行結(jié)果其他進(jìn)程無(wú)法運(yùn)行)時(shí);若不撤消,則該進(jìn)程又可能成為不可控的"孤兒&quo
12、t;,從而產(chǎn)生不可預(yù)測(cè)的結(jié)果。比較好的做法是,當(dāng)一個(gè)進(jìn)程的父進(jìn)程被撤消時(shí),可以將該進(jìn)程"過(guò)繼"給系統(tǒng)內(nèi)一個(gè)級(jí)別較高的進(jìn)程(如Unix中的1#進(jìn)程),讓它有一個(gè)"新的父親",這樣既可以繼續(xù)完成其任務(wù)又不會(huì)成為不可控的。6 為什么說(shuō)進(jìn)程同步問(wèn)題關(guān)系到OS的成敗?同步機(jī)制應(yīng)遵循的準(zhǔn)則是什么?進(jìn)程同步問(wèn)題若處理不當(dāng),有可能會(huì)產(chǎn)生種種"與時(shí)間有關(guān)性錯(cuò)誤",特別是當(dāng)兩個(gè)或多個(gè)進(jìn)程共享了公共變量而又沒(méi)有互斥地使用這些變量時(shí),極有可能導(dǎo)致用戶程序運(yùn)行結(jié)果的不正確,這量種災(zāi)難性的后果。這種OS顯然是不成功的,是用戶不敢使用的。有以下四條準(zhǔn)則:空閑讓進(jìn)、
13、忙則等待、有限等待、讓權(quán)等待。7 進(jìn)程之間存在哪幾種相互制約關(guān)系?各是什么原因引起的?下列活動(dòng)分別屬于哪種制約關(guān)系?(1)若干同學(xué)去圖書館借書。(2)兩隊(duì)舉行籃球比賽。(3)流水線生產(chǎn)的各道工序。(4)商品生產(chǎn)和消費(fèi)。進(jìn)程間存在著兩種相互制約的關(guān)系:直接制約關(guān)系(即同步問(wèn)題)和間接制約關(guān)系(即互斥問(wèn)題)。同步問(wèn)題是存在邏輯關(guān)系的進(jìn)程之間相互等待產(chǎn)生的制約關(guān)系,互斥問(wèn)題是相互無(wú)邏輯關(guān)系的進(jìn)程間競(jìng)爭(zhēng)使用相同的資源所發(fā)生的制約關(guān)系。 (1)屬于互斥關(guān)系,因?yàn)闀膫€(gè)數(shù)是有限的,一本書只能借給一個(gè)同學(xué)。 (2)屬于互斥關(guān)系,籃球只有一個(gè),兩隊(duì)都要爭(zhēng)奪。 (3)屬于同步關(guān)系,各道工序的開(kāi)始都依賴前道工序的
14、完成。 (4)屬于同步關(guān)系,商品沒(méi)生產(chǎn)出來(lái),消費(fèi)無(wú)法進(jìn)行,商品未消費(fèi)完,生產(chǎn)也無(wú)需進(jìn)行。8 高級(jí)調(diào)度和低級(jí)調(diào)度的主要任務(wù)是什么?為什么引入中級(jí)調(diào)度?(1)高級(jí)調(diào)度又稱為作業(yè)調(diào)度。它是批處理系統(tǒng)中使用的一種調(diào)度。其主要任務(wù)是按照某種算法從外存的后備隊(duì)列上選擇一個(gè)或多個(gè)作業(yè)調(diào)入內(nèi)存,并為其創(chuàng)建進(jìn)程、分配必要的資源,然后再將所創(chuàng)建的進(jìn)程控制塊插入就緒隊(duì)列中。(2)低級(jí)調(diào)度又稱進(jìn)程調(diào)度。它是距離硬件最近的一級(jí)調(diào)度。其主要任務(wù)是按照某種算法從就緒隊(duì)列上選擇一個(gè)(或多個(gè))進(jìn)程,使其獲得CPU。(3)引入中級(jí)調(diào)度的目的是為了提高內(nèi)存利用率和系統(tǒng)吞吐量。其功能是,讓那些暫時(shí)不能運(yùn)行的進(jìn)程不再占用寶貴的內(nèi)存資源
15、,而是調(diào)其到外存上等候。此時(shí)的進(jìn)程狀態(tài)為掛起狀態(tài)。當(dāng)這些進(jìn)程重新具備運(yùn)行條件且內(nèi)存空閑時(shí),由中級(jí)調(diào)度選擇一部分掛起狀態(tài)的進(jìn)程調(diào)入內(nèi)存并將其狀態(tài)變?yōu)榫途w狀態(tài)。9 在剝奪調(diào)度中,有哪些剝奪原則?(1)時(shí)間片原則。在輪轉(zhuǎn)算法中,CPU輪流為諸多進(jìn)程服務(wù),每個(gè)進(jìn)程運(yùn)行完自己的時(shí)間片后,系統(tǒng)就將CPU剝奪過(guò)來(lái),交給下一個(gè)進(jìn)程使用。(2)優(yōu)先級(jí)原則。為緊迫的作業(yè)賦予較高的優(yōu)先級(jí),這種作業(yè)到達(dá)系統(tǒng)或由阻塞狀態(tài)被喚醒后,若其優(yōu)先級(jí)高于當(dāng)前運(yùn)行的進(jìn)程的優(yōu)先級(jí),可以剝奪當(dāng)前運(yùn)行進(jìn)程的CPU。(3)短作業(yè)(進(jìn)程)優(yōu)先原則。若一個(gè)作業(yè)(進(jìn)程)到達(dá)系統(tǒng),其運(yùn)行長(zhǎng)度比當(dāng)前運(yùn)行的進(jìn)程長(zhǎng)度明顯的短,則剝奪當(dāng)前運(yùn)行的進(jìn)程CPU
16、。10 引起進(jìn)程調(diào)度的主要因素。1)一個(gè)進(jìn)程運(yùn)行完畢。(2)一個(gè)正在運(yùn)行的進(jìn)程被阻塞。(3)在搶占式調(diào)度中,一個(gè)高優(yōu)先級(jí)的進(jìn)程被創(chuàng)建。(4)在搶占式調(diào)度中,一個(gè)高優(yōu)先級(jí)進(jìn)程由阻塞喚醒。(5)在輪轉(zhuǎn)式調(diào)度中,正垢進(jìn)程運(yùn)行完一個(gè)時(shí)間片。11 何為死鎖?產(chǎn)生死鎖的原因和必要條件是什么?比較三種解決死鎖的方法?(1)死鎖是指多個(gè)進(jìn)程因競(jìng)爭(zhēng)資源而造成的一種僵持狀態(tài)。若無(wú)外力作用,這些進(jìn)程都將永遠(yuǎn)處于阻塞狀態(tài),不能再運(yùn)行下去。(2)產(chǎn)生死鎖的原因有:資源不足、進(jìn)程推進(jìn)次序不當(dāng)。(3)產(chǎn)生死鎖的必要條件有:互斥條件、請(qǐng)求和保持條件、非剝奪條件、環(huán)路等待條件。比較三種解決死鎖的方法:(1)預(yù)防死鎖方法,主要是
17、破壞產(chǎn)生死鎖的必要條件。該方法是最容易實(shí)現(xiàn)的,但系統(tǒng)資源利用率較低。(2)避免死鎖方法,比較實(shí)用的有銀行家算法(Banker Algorithm)。該算法需要較多的數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)起來(lái)比較困難,但資源利用率最高。(3)檢測(cè)死鎖方法是基于死鎖定理設(shè)計(jì)的。定期運(yùn)行該算法對(duì)系統(tǒng)的狀態(tài)進(jìn)行檢測(cè),發(fā)現(xiàn)死鎖便予以解除。其中,需要比較一下各咱死鎖解除方案的代價(jià),找到代價(jià)最小的方案。該方法最難實(shí)現(xiàn),資源利用率較高。12 試比較說(shuō)明進(jìn)程和程序的區(qū)別有哪些?(1)每個(gè)進(jìn)程實(shí)體中包含了程序段和數(shù)據(jù)段這兩個(gè)部分,因此說(shuō)進(jìn)程是與程序是緊密相關(guān)的。但從結(jié)構(gòu)上看,進(jìn)程實(shí)體中除了程序段和數(shù)據(jù)段外,還必須包含一個(gè)數(shù)據(jù)結(jié)構(gòu),即進(jìn)程
18、控制塊PCB。(2)進(jìn)程是程序的一次執(zhí)行過(guò)程,因此是動(dòng)態(tài)的;動(dòng)態(tài)性還表現(xiàn)在進(jìn)程由創(chuàng)建而產(chǎn)生、由調(diào)度而執(zhí)行、由撤消而消亡,即它具有一定的生命周期。而程序則只是一組指令的有序集合,并和永久地存放在某種介質(zhì)上,其本身不具有運(yùn)動(dòng)的含義,因此是靜態(tài)的。(3)多個(gè)進(jìn)程實(shí)體可同時(shí)存放在內(nèi)存中并發(fā)地執(zhí)行,也正是引入進(jìn)程的目的。而程序(在沒(méi)有為它創(chuàng)建進(jìn)程時(shí))的并發(fā)執(zhí)行具有不可再現(xiàn)性,因此程序不能正確地并發(fā)執(zhí)行。(4)進(jìn)程是一個(gè)能夠獨(dú)立運(yùn)行、獨(dú)立分配資源和獨(dú)立接受調(diào)度的基本單位。而因程序不具有PCB,所以它是不可能在多道程序環(huán)境下獨(dú)立運(yùn)行的。(5)程與程序不一一對(duì)應(yīng)。同一個(gè)程序的多次運(yùn)行,將形成多個(gè)不同的進(jìn)程;同
19、一個(gè)程序的一次執(zhí)行也可以產(chǎn)生多個(gè)進(jìn)程;而一個(gè)進(jìn)程也可以執(zhí)行多個(gè)程序。三、應(yīng)用題1. 有一個(gè)理發(fā)師,一把理發(fā)椅和n把供等候理發(fā)的顧客坐的椅子。如果沒(méi)有顧客,則理發(fā)師便在理發(fā)椅子上睡覺(jué);當(dāng)一個(gè)顧客到來(lái)時(shí),必須喚醒理發(fā)師,進(jìn)行理發(fā);如果理發(fā)師正在理發(fā)時(shí),又有顧客來(lái)到,則如果有空椅子可坐,他就坐下來(lái)等,如果沒(méi)有空椅子,他就離開(kāi)。為理發(fā)師和顧客各編一段程序描述他們的行為,要求不能帶有競(jìng)爭(zhēng)條件。#define CHAIRS /* 為等候的顧客準(zhǔn)備的椅子數(shù) */semaphore customers=0;semaphore barbers=0;semaphore mutex=1; /* 用于互斥 */int
20、 waiting=0;void barber()while (1)wait(customers);wait (mutex);waiting=waiting-1;signal (mutex);理發(fā);signal(barbers);void customers()wait (mutex);if(waiting<CHAIRS)waiting=waiting+1;signal (mutex):signal (customers);坐下等待;wait (barbers);elsesignal (mutex);2. 計(jì)算進(jìn)程PC和打印進(jìn)程P01、P02共享一個(gè)單緩沖區(qū),計(jì)算進(jìn)程負(fù)責(zé)計(jì)算,并把計(jì)算結(jié)果
21、放入單緩沖中;打印進(jìn)程P01、P02則負(fù)責(zé)從單緩沖中取出計(jì)算結(jié)果進(jìn)行打印,而且對(duì)每個(gè)計(jì)算結(jié)果,P01和P02都需分別打印一次。請(qǐng)用記錄型信號(hào)量描述上述進(jìn)程間的同步關(guān)系。為了實(shí)現(xiàn)計(jì)算進(jìn)程和打印進(jìn)程之間的同步,并使單緩沖中的每個(gè)計(jì)算結(jié)果都被兩個(gè)打印進(jìn)程分別打印一次??稍O(shè)置四個(gè)信號(hào)量:full1表示緩沖中是否有可供P01打印的計(jì)算結(jié)果,full2表示緩沖中是否有可給P02打印的計(jì)算結(jié)果;emptypl、empty2則表示計(jì)算結(jié)果是否已被P01l、P02取走,只有當(dāng)一個(gè)結(jié)果被兩個(gè)打印進(jìn)程都取走后,緩沖區(qū)才變空,計(jì)算進(jìn)程才可將下一個(gè)計(jì)算結(jié)果放入單緩沖。相應(yīng)的同步算法可描述如下: Var empty1,e
22、npty2,full1,full2: semaphore:=1,1,0,0; begin Parbegin PC:begin Repeat computrt next number; P(empty1): P(empty2); add the number to bufer; V(full1); V(full2); Until false; end P01: begin repeat P(full1); take from bufer; V(emptyl): print last number; until flase; end P02:begin Repeat P(full2); take
23、from buffer; V(empty2); print last number; until false end parend end3. 設(shè)有三個(gè)進(jìn)程,輸入進(jìn)程(input)、計(jì)算進(jìn)程(compute)和輸出進(jìn)程(output),它們通過(guò)共享兩個(gè)緩沖區(qū)buf1和buf2協(xié)作完成任務(wù)。如下圖所示三個(gè)進(jìn)程之間的合作關(guān)系如下:(1)輸入進(jìn)程使用put()函數(shù)把數(shù)據(jù)送到buf1,供計(jì)算進(jìn)程調(diào)用calculate()函數(shù)計(jì)算;(2)計(jì)算進(jìn)程每次調(diào)用get()函數(shù)從buf1取出已輸入的可計(jì)算的數(shù)據(jù)進(jìn)行計(jì)算,并把計(jì)算結(jié)果使用put()函數(shù)把數(shù)據(jù)送到buf2送入buf供輸出進(jìn)程打?。唬?)輸出進(jìn)程調(diào)用g
24、et()函數(shù)把buf2中的數(shù)據(jù)使用print()函數(shù)輸出。定義合適的信號(hào)量,并用偽代碼完成實(shí)現(xiàn)過(guò)程。信號(hào)量:nonf1、none1:輸入進(jìn)程與計(jì)算進(jìn)程同步,buf1是否為空;nonf2 、none1:計(jì)算進(jìn)程與輸出進(jìn)程同步,buf2是否為空; s1、s2:分別互斥使用buf1和buf2procedure inputbeginwait(nonf1)wait(s1) put(data); signal(s1); signal(none1); until falseend;procedure computebeginwait(none1);wait(s1); data=get(); data=cal
25、culate(data);signal(s1);signal(nonf1);wait(nonf2);wait(s2);put(data);signal(s2);signal(none2);until falseend;procedure outputbeginwait(none2);wait(s2); data=get();print(data);signal(s2); signal(nonf2);until falseend;4. 設(shè)系統(tǒng)中有三類資源A、B和C,又設(shè)系統(tǒng)中有5個(gè)進(jìn)程P1,P2,P3,P4和P5。在T0時(shí)刻系統(tǒng)狀態(tài)如下:最大需求量已分配資源量剩余資源量A B CA B CA B
26、 C P1 P2 P3 P4 P51 2 100 0 31 6 31 7 51 0 02 3 51 3 50 6 40 0 20 6 50 0 1(1)系統(tǒng)是否處于安全狀態(tài)?(請(qǐng)給出詳細(xì)的判斷過(guò)程)如是,則給出進(jìn)程安全序列。(2)如果進(jìn)程P5申請(qǐng)1個(gè)資源類A和1個(gè)資源類C,能否實(shí)施分配?為什么?(1)利用安全性算法對(duì)T0時(shí)刻的資源分配情況進(jìn)行分析,結(jié)果如下: WorkNeedAllocationWork + AllocationFinishP31 6 31 0 01 3 52 9 8trueP12 9 81 2 70 0 32 9 11trueP22 9 110 7 51 0 03 9 11t
27、rueP43 9 110 6 40 0 23 9 13trueP53 9 130 6 20 0 13 9 14true系統(tǒng)處于安全狀態(tài),安全序列為:P3,P1,P2,P4,P5。(2)P1發(fā)出請(qǐng)求向量Request1(1,0,1),系統(tǒng)按銀行家算法進(jìn)行檢查:1) Request1(1,0,1) <= Need1(1,2,6)2) Request1(1,0,1)<= Available(1,6,3)3) 系統(tǒng)先假定可為P1分配資源,并修改Available、 Allocation1、 Need1向量,資源變化情況如下: max Allocation Available Need A
28、B CA B CA B C A B CP1 1 2 10 0 0 4 0 6 2 0 1 6P2 1 7 5 1 0 0 0 7 5P3 2 3 5 1 3 5 1 0 0P4 0 6 4 0 0 2 0 6 2P5 0 6 5 0 0 1 0 6 4剩余資源可滿足P4,分給P4給還后(0,6,4)可滿足P5,分配P5歸還后(0,6,5)不滿足其它進(jìn)程要求,即不能實(shí)施分配,因?yàn)榉峙浜笳也坏桨踩蛄?,系統(tǒng)將處于不安全狀態(tài)。5. 設(shè)有五道作業(yè),它們的提交時(shí)間和運(yùn)行時(shí)間見(jiàn)下表,試給出在如下表所示的三種調(diào)度算法下,作業(yè)的執(zhí)行順序,以及平均周轉(zhuǎn)時(shí)間和帶權(quán)平均周轉(zhuǎn)時(shí)間:(1) 先來(lái)先服務(wù)調(diào)度算法;(2)
29、短作業(yè)優(yōu)先調(diào)度算法;(3) 響應(yīng)比高優(yōu)先調(diào)度算法。作業(yè)提交和運(yùn)行時(shí)間表作業(yè)名提交時(shí)間/h需執(zhí)行時(shí)間/hJ110.10.8J210.30.5J310.50.4J410.60.3J510.70.2(1 )采用先來(lái)先服務(wù)(FCFS)算法。作業(yè)名提交時(shí)間/h需執(zhí)行時(shí)間/h開(kāi)始運(yùn)行時(shí)間/h完成時(shí)間/hJ110.10.310.110.4J210.30.510.410.9J310.50.410.911.3J410.60.311.311.6J510.70.211.611.8J1,J2,J3,J4,J5T=(10.4-10.1)+(10.9-10.3)+(11.3-10.5)+(11.6-10.6)+(1l.8
30、-10.7)/5=3.8/5=0.76hT=(10.4-10.1)/0.3+(10.9-10.3)/0.5+(11.3-10.5)/0.4+(11.6-10.6)/0.3+(1l.8-10.7)/0.2/5=13.033/5=2.61 (2) 短作業(yè)優(yōu)先調(diào)度(SJF)算法。作業(yè)名提交時(shí)間/h需執(zhí)行時(shí)間/h開(kāi)始運(yùn)行時(shí)間/h完成時(shí)間/hJ110.10.310.110.4J210.30.510.410.9J310.50.411.411.8J410.60.311.111.4J510.70.210.911.1J1,J2,J5,J4,J3T=(10.4-10.1)+(10.9-10.3)+(11.8-10
31、.5)+(11.4-10.6)+(11.1-10.7)/5=3.4/5=0.68hT=(10.4-10.1)/0.3+(10.9-10.3)/0.5+(11.8-10.5)/0.4+(11.4-10.6) /0.3+ (11.1-10.7)/0.2/5=10.117/5=2.02(3) 高響應(yīng)比優(yōu)先調(diào)度算法。作業(yè)名提交時(shí)間/h需執(zhí)行時(shí)間/h開(kāi)始運(yùn)行時(shí)間/h完成時(shí)間/hJ110.10.310.110.4J210.30.510.4/10.711.0J310.50.410.6/11.511.8J410.60.311.211.5J510.70.211.011.2J1,J2,J3,J2,J5,J4,J3
32、T=(10.4-10.1)+(11.0-10.3)+(11.8-10.5)+(11.5-10.6)+(11.2-10.7)/5=3.7/5=0.72hT=(10.4-10.1)/0.3+(11.0-10.3)/0.5+(11.8-10.5)/0.4+(11.5-10.6) /0.3+ (11.2-10.7)/0.2/5=11.15/5=2.236. 假設(shè)系統(tǒng)有同類資源10個(gè),供P,Q、R三個(gè)進(jìn)程共享,P、Q、R所需資源總數(shù)分別為8、4、9,它們申請(qǐng)資源的次序和數(shù)量如下表所示。進(jìn)程資源申請(qǐng)表次序進(jìn)程申請(qǐng)量123456RPQPRQ242212按銀行家算法為它們分配資源:(1) 寫出執(zhí)行完序號(hào)為6的
33、申請(qǐng)時(shí),各進(jìn)程的狀態(tài)和已占的資源數(shù)。(2) 請(qǐng)估計(jì)系統(tǒng)是否會(huì)出現(xiàn)死鎖,并簡(jiǎn)要說(shuō)明理由。(1) 執(zhí)行完序號(hào)為6的申請(qǐng)時(shí),各進(jìn)程的狀態(tài)和已占的資源數(shù)如表所示;P等待已占用資源4個(gè)Q就緒或運(yùn)行已占用資源4個(gè)R等待已占用資源2個(gè)根據(jù)單項(xiàng)銀行家算法,過(guò)程為:1) R申請(qǐng)2個(gè)資源時(shí),剩余資源可使各進(jìn)程運(yùn)行結(jié)束,所以這個(gè)分配是安全的,故將2個(gè)資源分給R;2) 同理,P、Q分別申請(qǐng)4,2個(gè)資源時(shí),剩余資源可使各進(jìn)程運(yùn)行結(jié)束,所以這個(gè)分配也是安全的,故將4、2個(gè)資源分給P、Q;3) P申請(qǐng)2個(gè)資源時(shí),系統(tǒng)此刻剩余資源數(shù)為2,如果將這兩個(gè)資源分給P,系統(tǒng)就沒(méi)有資源了。這時(shí)的P、Q、R都還需要資源才可運(yùn)行完,這樣,
34、P、Q、R將都進(jìn)入阻塞狀態(tài),所以P申請(qǐng)的這兩個(gè)資源不能分配。4) 同理,接下來(lái)R欲申請(qǐng)1個(gè)資源也是不安全的分配,故不能分給。5) Q申請(qǐng)2個(gè)資源時(shí),假定操作系統(tǒng)分給它,Q進(jìn)程將運(yùn)行結(jié)束,Q釋放的資源又可使P運(yùn)行結(jié)束;P運(yùn)行結(jié)束,釋放的資源又可使R運(yùn)行結(jié)束。所以這個(gè)分配是安全的,故將2個(gè)資源分給Q。(2)不會(huì)死鎖,因?yàn)殂y行家算法在任何時(shí)候均保證至少有一個(gè)進(jìn)程能得到所需的全部資源,這樣,得到資源的進(jìn)程能及時(shí)歸還資源供其他進(jìn)程使用7.下面給出的兩個(gè)進(jìn)程互斥的算法是安全的嗎?為什么? define true; # define false; Int flag2; flag1=flag2=false;
35、enter-crtsec(i) int i; While(flag1-i) flagi=true; leave-crtsec(i) Int i; flagi=false; process I; Enter-crtsec(i); In critical section;Leave-crtsec(i);從概念上講,系統(tǒng)中各進(jìn)程在邏輯上是獨(dú)立的,它們可以按各自的速度向前推進(jìn)。但由于它們共享某些臨界資源,因而產(chǎn)生了臨界區(qū)問(wèn)題。對(duì)于具有臨界區(qū)問(wèn)題的并發(fā)進(jìn)程,它們之間必須互斥,以保證不會(huì)同時(shí)進(jìn)入臨界區(qū)。這種算法不是安全的。因?yàn)?,在進(jìn)入臨界區(qū)的enter-crtsec()不是一個(gè)原語(yǔ)操作,如果兩個(gè)進(jìn)程同時(shí)執(zhí)行完其循環(huán)(此前兩個(gè)flag均為false),則這兩個(gè)進(jìn)程可同時(shí)進(jìn)入臨界區(qū)。8. 設(shè)系統(tǒng)有三種類型的資源,數(shù)量為(4,2,2),系統(tǒng)中有進(jìn)程A,B,C按如下順序請(qǐng)求資源: 進(jìn)程A申請(qǐng)(3,2,1)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 海南省2024七年級(jí)道德與法治上學(xué)期期中學(xué)情評(píng)估新人教版
- 湘教版數(shù)學(xué)八年級(jí)下冊(cè)第三章《圖形與坐標(biāo)》聽(tīng)評(píng)課記錄
- 安徽期中數(shù)學(xué)試卷
- 蘇科版數(shù)學(xué)七年級(jí)上冊(cè)2.5.3《有理數(shù)的加法與減法》聽(tīng)評(píng)課記錄
- 實(shí)習(xí)之路模板
- 【人教版】八年級(jí)地理上冊(cè)第三章《土地資源》聽(tīng)課評(píng)課記錄及優(yōu)化訓(xùn)練答案
- 專家評(píng)審會(huì)會(huì)議紀(jì)要
- 科學(xué)把握時(shí)間
- 教育培訓(xùn)行業(yè)的年度盛典
- 2017-2022年中國(guó)家居收納用品產(chǎn)業(yè)深度調(diào)研與投資前景分析報(bào)告(目錄)
- 現(xiàn)代漢語(yǔ)詞匯學(xué)精選課件
- PCB行業(yè)安全生產(chǎn)常見(jiàn)隱患及防范措施課件
- 上海音樂(lè)學(xué)院 樂(lè)理試題
- SAP中國(guó)客戶名單
- DB32∕T 186-2015 建筑消防設(shè)施檢測(cè)技術(shù)規(guī)程
- 2022年福建泉州中考英語(yǔ)真題【含答案】
- 汽車座椅骨架的焊接夾具畢業(yè)設(shè)計(jì)說(shuō)明書(共23頁(yè))
- 露天礦山職業(yè)危害預(yù)先危險(xiǎn)分析表
- 淺談固定資產(chǎn)的審計(jì)
- WZCK-20系列微機(jī)直流監(jiān)控裝置使用說(shuō)明書(v1.02)
- 模糊推理方法
評(píng)論
0/150
提交評(píng)論