freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

操作系統(tǒng)原理試題庫(kù)(最全)(參考版)

2025-03-29 00:43本頁(yè)面
  

【正文】 //也可只喚醒一個(gè)阻塞進(jìn)程,但并發(fā)度降低}V(mutex)。while (count0){V(S)。P(mutex)。V(mutex)。 //本進(jìn)程阻塞goto L1。 //阻塞進(jìn)程數(shù)增1V(mutex)。 //用于記錄在S上阻塞的進(jìn)程數(shù) 4分Parbeginprocess Pi (i=1,2,3, ..., k){L1: P(mutex)。 //用于阻塞不能讀文件的進(jìn)程int sum=0。``020450175101500semaphore mutex=1。V(S1)。 //揀子必須互斥揀一黑子。 //通知P2可以揀一黑子了 7分}}Process P2{while (1) {P(S2)。V(mutex)。P(mutex)。 //P1的同步信號(hào)量,用于與P2同步,從P1揀第一個(gè)白子開(kāi)始S2=0。mutex=1。試寫出量進(jìn)程能正確并發(fā)執(zhí)行的算法程序。規(guī)定每個(gè)進(jìn)程每次揀一子;當(dāng)進(jìn)程在揀時(shí),不允許另一個(gè)進(jìn)程取揀;當(dāng)一個(gè)進(jìn)程揀了一子時(shí),必須讓另一進(jìn)程去撿。 10分``020450162101501在一個(gè)盒子里,混裝了數(shù)量相等的黑白圍棋子。 //閱覽室空座位數(shù)增1,必要時(shí)喚醒等待進(jìn)入閱覽室的讀者 8分該讀者離開(kāi)。V(mutex)。P(mutex)。V(mutex)。 //看看閱覽室是否有空位置 4分P(mutex)。 2分parbiginprocess readeri (i=1, 2, 3, …)begin讀者來(lái)到閱覽室。要求:(1)用PV操作描述讀者進(jìn)程的同步算法(登記、注銷可用自然語(yǔ)言描述);(2)指出算法中所用信號(hào)量的名稱、作用及初值。 10分}parend``020450153101501假定一個(gè)閱覽室可供50個(gè)人同時(shí)閱讀。 //后半部分與P2相同write F。V(Rmutex)。Rcount=Rcount1。read F。if (Rcount==1) P(mutex)。 8分}process P3{P(Rmutex)。write F。 //最后一個(gè)寫者離開(kāi)時(shí)應(yīng)允許寫者寫V(Rmutex)。Rcount=Rcount1。read F。 //讀者數(shù)增1if (Rcount==1) P(mutex)。 //讀者計(jì)數(shù)變量 4分parbeginprocess P1{P(Rmutex)。Rmutex=mutex=1。請(qǐng)用信號(hào)量和P、V操作,編寫三個(gè)進(jìn)程能正確工作的算法程序。``020450133101200beginS1,S2,SAB:semaphore;C1,C2:integer;S1 := 1;S2 := 1;SAB := 1;C1 := 0;C2 := 0; 4分parbeginProcess Ai (i = 1,2,3,...)beginP(S1);C1 := C1 + 1 ;if C1 = 1 then P(SAB);V(S1);Read file F ;P(S1);C1 := C1 – 1 ;if C1 = 0 then V(SAB) ;V(S1); 7分end;Process Bi (i = 1,2,3,...)beginP(S2);C2 := C2 + 1 ;if C2 = 1 then P(SAB);V(S2);Read file F ;P(S2);C2 := C2 – 1 ;if C2 = 0 then V(SAB) ;V(S2); 10分end;parend;end;``020450144101501有PPP3三個(gè)進(jìn)程共享一個(gè)表格F,P1對(duì)F只讀不寫,P2對(duì)F只寫不讀,P3對(duì)F先讀后寫。``020450133101201今有一個(gè)文件F供進(jìn)程共享,現(xiàn)把這些進(jìn)程分成A、B兩組,規(guī)定同組的進(jìn)程可以同時(shí)讀文件F;但當(dāng)有A組(或B組)的進(jìn)程在讀文件F時(shí)就不允許B組(或A組)的進(jìn)程讀文件F。coend。 10分 goto L3。 y := y mod 5。 y := F。end。 print x。 x := F。end。 else V(S3)。 F:= R。 4分cobeginprocess AbeginL1: 產(chǎn)生隨機(jī)數(shù)R。 S2:=0。F : integer。為防止數(shù)的丟失和重復(fù)取同一個(gè)數(shù),請(qǐng)用信號(hào)量和P、V操作進(jìn)行正確的管理。進(jìn)程A每次產(chǎn)生一個(gè)隨機(jī)數(shù)R,將其存入F中。 10分}}parend``020450123101201有三個(gè)并發(fā)進(jìn)程A、B和C,共享一個(gè)緩沖器F。V(empty)。P(mutex)。V(empty)。 //測(cè)試貨架F1是否可放零件AP(mutex)。V(full2)。 //測(cè)試貨架F2是否可放零件BP(mutex)。 6分}}process workerBj ( ) //第二個(gè)生產(chǎn)車間的工人進(jìn)程,j=1, 2, ... , m{while (1) {生產(chǎn)一個(gè)零件B。V(mutex)。 //測(cè)試貨架F1是否可放零件AP(mutex)。 //同步信號(hào)量,表示貨架F1已放的零件數(shù) 4分parbeginprocess workerAi ( ) //第一個(gè)生產(chǎn)車間的工人進(jìn)程,i=1, 2, ... , n{while (1) {生產(chǎn)一個(gè)零件A。 //同步信號(hào)量,表示貨架F2可容納的零件數(shù)full1=0。 //互斥信號(hào)量,用于互斥使用貨架empty1=10。``020450114101500semaphore mutex, empty1, empty2, full1, full2。裝配工人每次從貨架上取一個(gè)A零件和一個(gè)B零件,然后組裝成產(chǎn)品。 10分}}parend``020450114101501某工廠有兩個(gè)生產(chǎn)車間和一個(gè)裝配車間,兩個(gè)生產(chǎn)車間分別生產(chǎn)A、B兩種零件,裝配車間的任務(wù)是把A、B兩種零件裝配成產(chǎn)品。 //通知供應(yīng)商,容器空了。 //看看容器中是否有水,若無(wú)則阻塞從容器中取出糖。若供應(yīng)商因容器不空而阻塞,則喚醒之用三種原料配制成桔子水,裝瓶出售。V(empty)。 6分}}process P2{while (true) {P(fullb)。 //通知供應(yīng)商,容器空了。 //看看容器中是否有桔子精,若無(wú)則阻塞從容器中取出桔子精。 //通知(或喚醒)P2else V(fullc)。if (x是桔子精) V(fulla)。P(empty)。 //開(kāi)始時(shí)容器中無(wú)糖,用于阻塞P2fullc=0。 //開(kāi)始時(shí)容器是空的,可以放一種原料fulla=0。``020450104101500semaphore empty, ful1a, fullb, fullc。假定:生產(chǎn)者P1已購(gòu)得糖和水;生產(chǎn)者P2已購(gòu)得水和桔子精;生產(chǎn)者P3已購(gòu)得糖和桔子精。有一供應(yīng)商能源源不斷地供應(yīng)糖、水、桔子精,但每次只拿出一種原料放入容器中供給生產(chǎn)者。 //釋放水桶飲用水。V(empty)。從水缸中取一桶水。 //取一水桶,準(zhǔn)備取水P(full)。 //通知老和尚,水缸中已增加了一桶水V(S)。V(mutex)。 //看看水缸是否還有空間入水P(mutex)。 //水桶資源信號(hào)量 4分parbegin小和尚i (i=1, 2, ... , m) //m個(gè)小和尚進(jìn)程{while (1) {P(S)。 //小和尚的資源信號(hào)量,用于與老和尚同步,假設(shè)開(kāi)始時(shí)水缸為空f(shuō)ull=0。mutex=1。試用信號(hào)量同步機(jī)制,寫出小和尚和老和尚入水、取水的活動(dòng)過(guò)程。水桶總數(shù)為3個(gè)。水缸可容納10桶水,水取自同一井中。 10分}}parend``020450094101201某廟寺有小和尚、老和尚若干。V(empty)。get_an_integer_from_buffer( )。 7分}}process Reader( ){while (1) {P(full)。V(mutex)。P(mutex)。 //同步信號(hào)量,表示放有整數(shù)的緩沖區(qū)個(gè)數(shù) 4分parbeginprocess Writer( ){while (1) {produce_an_integer( )。 //互斥信號(hào)量,用于兩個(gè)進(jìn)程互斥訪問(wèn)緩沖區(qū)empty=n。 2分(2) 采用PV操作的同步算法程序如下:semaphore mutex, empty, full。試問(wèn):?。?)寫進(jìn)程與讀進(jìn)程間具體的制約關(guān)系如何??。?)用PV操作寫出這兩個(gè)進(jìn)程的同步算法程序。 10分endParend``020450082101201設(shè)有n個(gè)緩沖區(qū)構(gòu)成的循環(huán)緩沖區(qū),每個(gè)緩沖區(qū)能容納一個(gè)整數(shù)。V(mutex)。geteven( )。 8分endP3: beginP(S2)。 /* 向P1發(fā)出信號(hào) */V(mutex)。getodd( )。 6分endP2: beginP(S1)。 /* 如果是偶數(shù),向P3發(fā)出信號(hào) */else V(S1)。 /* 是否有進(jìn)程訪問(wèn)緩沖區(qū) */put( )。 /* 生成一個(gè)數(shù) */P(empty)。算法描述如下:var empty,s1,s2,mutex: semaphore := N,0,0,1。要求用偽代碼描述。P1每次用produce( )生成一個(gè)正整數(shù)并用put( )送入緩沖區(qū)某個(gè)單元中;P2每次用getodd( )從緩沖區(qū)中取出一個(gè)奇數(shù)并用countodd( )統(tǒng)計(jì)奇數(shù)個(gè)數(shù);P3每次用geteven( )從緩沖區(qū)中取出一個(gè)偶數(shù)并用counteven( )統(tǒng)計(jì)偶數(shù)個(gè)數(shù)。 //通知P1, P4已從緩沖區(qū)buffer中取走消息消費(fèi)(使用)該消息。 //看看buffer中是否已有消息從buffer中取出消息。 //通知P1, P3已從緩沖區(qū)buffer中取走消息消費(fèi)(使用)該消息。 //看看buffer中是否已有消息從buffer中取出消息。 //通知P1, P2已從緩沖區(qū)buffer中取走消息消費(fèi)(使用)該消息。 //看看buffer中是否已有消息從buffer中取出消息。i++) V(S[i])。 //看看P2~P4是否將消息取走P1將消息存入緩沖區(qū)buffer;for (i=0。i3。 S[i]=0。i3。 4分parbeginprocess P1{while (condition){P1生成一個(gè)消息;P(S1);P(S1);P(S1);P1將消息存入緩沖區(qū)buffer;V(S2);V(S3);V(S4); 7分}}process Pi(i=2,3,4){while (condition){P(Si);Pi從buffer中取出消息;V(S1);Pi消費(fèi)(使用)該消息; 10分}}parend解法二:semphore S1[3], S[3]。=3。試用信號(hào)量機(jī)制描述各進(jìn)程的動(dòng)作過(guò)程。 //通知R,緩沖器已空,可以在往里存數(shù)了Print(y)。 //看看緩沖器B中是否有偶數(shù)y=B。 //通知R,緩沖器已空,可以在往里存數(shù)了Print(y)。 //看看緩沖器B中是否有奇數(shù)y=B。 //若是奇數(shù),則通知W1else V(S2)。B=x。 4分parbeginProcess R{while (1) {從輸入設(shè)備上讀入的數(shù)x。S=1。用P、V操作作為同步機(jī)制寫出三個(gè)并發(fā)進(jìn)程的同步算法。 10分}}parend``020450053101201有三個(gè)進(jìn)程R、WW2共享一個(gè)緩沖器B,而B(niǎo)中每次只能存放一個(gè)數(shù)。V(emtpy)。 7分}}process Cj //消費(fèi)者進(jìn)程{while (1) {P(full) //看看倉(cāng)庫(kù)是否有成品P(mutex)。V(full)。P(empty) //看看倉(cāng)庫(kù)是否還有空間可放成品P(mutex)。 //生產(chǎn)者進(jìn)程的同步信號(hào)量full=0。mutex=1。由于倉(cāng)庫(kù)搬運(yùn)設(shè)備只有一套,故成品的存入和取出只能分別進(jìn)行,試用P、V操作來(lái)實(shí)現(xiàn)該方案。``020450034101200BEGINsemaphore Aempty,Bempty,Afull,Bfull,mutex;Aempty := 8;Bempty := 20;Afull := 0;Bfull := 0;mutex :=1; 4分PARBEGINWorker1:BEGINL1:生產(chǎn)1個(gè)車架;
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1