資源描述:
《2011-2015年中國閥門行業(yè)市場分析及投資方向研究報告》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、6.算法題(共32個題目)200348.在信號量機制中,若P(S)操作是可中斷的,則會有什么問題?此題答案為:答:P(S)的操作如下:??Begin???????S.Value:=S.Value-1;????????①???????IfS.Value<0Then???????????②???????????Begin???????????Insert(*,S.L);???????????Block(*)????????????????③???????????End??End.若P(S)可中斷的,例如進程A在執(zhí)行了語句①之后從CPU上退下了,假定此時S.Va
2、lue=0;這時換另一進程B,B又將S.Value的值減1使之為-1,在執(zhí)行語句③時,B被阻塞;然后又換回A執(zhí)行,由于A的"斷點"是語句①之后,當它執(zhí)行語句②時,由于這時S.Value已經(jīng)是-1,故進程繼續(xù)執(zhí)行而被阻塞。這就出現(xiàn)了錯誤:本來A操作P(S)操作后,S.Value=0,是不應該被阻塞的,現(xiàn)在卻被阻塞了。200350.何謂臨界區(qū)?下面給出的兩個進程互斥的算法是安全的嗎?為什么?32???#definetrue;???#definefalse;?????Intflag[2];?????flag[1]=flag[2]=false;?????enter
3、-crtsec(i)?????inti;????{??????While(flag[1-i])??????flag[i]=true;?????}?????feave-crtsec(i)????Inti;???{?????flag[i]=false;????}????processI;?????…???Enter-crtsec(i);???Incriticalsection;???Leave-crtsec(i);32此題答案為:答:一次僅允許一個進程使用的資源稱為臨界資源,在進程中對臨界資源訪問的程序段稱為臨界區(qū)。從概念上講,系統(tǒng)中各進程在邏輯上是獨立的,它
4、們可以按各自的速度向前推進。但由于它們共享某些臨界資源,因而產(chǎn)生了臨界區(qū)問題。對于具有臨界區(qū)問題的并發(fā)進程,它們之間必須互斥,以保證不會同時進入臨界區(qū)。這種算法不是安全的。因為,在進入臨界區(qū)的enter-crtsec()不是一個原語操作,如果兩個進程同時執(zhí)行完其循環(huán)(此前兩個flag均為false),則這兩個進程可同時進入臨界區(qū)。200353.某車站售票廳,任何時刻最多可容納20名購票者進入,當售票少于20名購票者時,則廳外的購票者可立即進入,否則需在外面等待。若把一個購票者看作一個進程,請回答下列問題:(1)用P、V操作管理這些并發(fā)進程時,應怎樣定義信號
5、量?寫出信號量的初值以及信號量各種取值的含義。(2)根據(jù)所定義的信號量,把應執(zhí)行的P、V操作填入下述程序中,以保證進程能夠正確地并發(fā)執(zhí)行。??CobeginPROCESSPi(i=1,2,…)??????Begin????? 進入售票廳; 購票; 退出; End;32??Coend(3)若欲購票者最多為n個人,寫出信號量可能的變化范圍(最大值和最小值)。此題答案為:售票廳問題解答如下:(1)定義一信號量S,初始值為20。???S>0?S的值表示可繼續(xù)進入售票廳的人數(shù);???S=0?表示售票廳中已有20名購票者;???S<0?
6、S
7、的值為等
8、待進入售票廳中的人數(shù)。(2)上框為P(S),下框為V(S)。(3)S的最大值為20,S的最小值為20-N,N為某一時刻需要進入售票廳的最多人數(shù)。?200362.在批處理系統(tǒng)、分時系統(tǒng)和實時系統(tǒng)中,各采用哪幾個進程(作業(yè))調度算法?此題答案為:答:(1)批處理系統(tǒng)中的作業(yè)調度算法有:先來先服務算法(FCFS)、短作業(yè)優(yōu)先算法(SJF)、優(yōu)先級調度算法(HPF)和高響應比優(yōu)先算法(RF)。批處理系統(tǒng)的進程調度算法有:先進先出算法(FIFO)、短進程優(yōu)先算法(SPF)、優(yōu)先級調度算法(HPF)和高響應比優(yōu)先算法(RF)。(2)分時系統(tǒng)中只設有進程調度(不設作業(yè)調
9、度),其進程調度算法只有輪轉法(RR)一種。(3)實時系統(tǒng)中只設有進程(不設作業(yè)調度),其進程調度算法調度有:輪轉法、優(yōu)先級調度算法。前者適用于時間要求不嚴格的實時32系統(tǒng);后者用于時間要求嚴格的實時系統(tǒng)。后者又可細分為:非搶占式優(yōu)先級調度、搶占式優(yōu)先級調度、基于時鐘中斷的搶占式優(yōu)先級調度。注意,一個純粹的實時系統(tǒng)是針對特定應用領域設計的專用系統(tǒng)。作業(yè)提交的數(shù)量不會超過系統(tǒng)規(guī)定的多道程序的道數(shù),因而可全部進入內存。若將實時系統(tǒng)與批處理系統(tǒng)結合的話,就可以讓作業(yè)量超過多道程序道數(shù),使優(yōu)先級低的作業(yè)呆在外存的后備隊列上。200372.假設系統(tǒng)中有5個進程,它們
10、的到達時間和服務時間見下表1,忽略I/O以及其他開銷時間,若按先來