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

正文內(nèi)容

il操作系統(tǒng)原理試題庫結(jié)構(gòu)設(shè)計-資料下載頁

2025-03-27 23:37本頁面
  

【正文】 {while (true) {P(fullc)。 //看看容器中是否有水,若無則阻塞從容器中取出糖。V(empty)。 //通知供應(yīng)商,容器空了。若供應(yīng)商因容器不空而阻塞,則喚醒之用三種原料配制成桔子水,裝瓶出售。 10分}}parend``020450114101501某工廠有兩個生產(chǎn)車間和一個裝配車間,兩個生產(chǎn)車間分別生產(chǎn)A、B兩種零件,裝配車間的任務(wù)是把A、B兩種零件裝配成產(chǎn)品。兩個生產(chǎn)車間每生產(chǎn)一個零件后都要分別把它們送到裝配車間的貨架FF2上,F(xiàn)1存放零件A,F(xiàn)2存放零件B,F(xiàn)1與F2的容量均為可以存放10個零件。裝配工人每次從貨架上取一個A零件和一個B零件,然后組裝成產(chǎn)品。請用信號量和P、V操作進行正確的管理。``020450114101500semaphore mutex, empty1, empty2, full1, full2。mutex=1。 //互斥信號量,用于互斥使用貨架empty1=10。 //同步信號量,表示貨架F1可容納的零件數(shù)empty2=10。 //同步信號量,表示貨架F2可容納的零件數(shù)full1=0。 //同步信號量,表示貨架F1已放的零件數(shù)full2=0。 //同步信號量,表示貨架F1已放的零件數(shù) 4分parbeginprocess workerAi ( ) //第一個生產(chǎn)車間的工人進程,i=1, 2, ... , n{while (1) {生產(chǎn)一個零件A。P(empty1)。 //測試貨架F1是否可放零件AP(mutex)。將一個零件A放到貨架F1上。V(mutex)。V(full1)。 6分}}process workerBj ( ) //第二個生產(chǎn)車間的工人進程,j=1, 2, ... , m{while (1) {生產(chǎn)一個零件B。P(empty2)。 //測試貨架F2是否可放零件BP(mutex)。將一個零件B放到貨架F2上V(mutex)。V(full2)。 8分}}process workerCi ( ) //裝配車間的工人進程,i=1, 2, ... , k{while (1) {P(full1)。 //測試貨架F1是否可放零件AP(mutex)。從貨架F1上取一個零件AV(mutex)。V(empty)。P(full2)。P(mutex)。從貨架F2上取一個零件BV(mutex)。V(empty)。用零件A、B組裝成一個產(chǎn)品。 10分}}parend``020450123101201有三個并發(fā)進程A、B和C,共享一個緩沖器F。F中每次只能存放一個數(shù)。進程A每次產(chǎn)生一個隨機數(shù)R,將其存入F中。若存放到F中的數(shù)是5的倍數(shù),則由進程B將其取出并打印,否則由進程C將被5除后的余數(shù)打印出來。為防止數(shù)的丟失和重復取同一個數(shù),請用信號量和P、V操作進行正確的管理。``020450123101200begin S1,S2,S3:semaphore。F : integer。S1:=1。 S2:=0。 S3:=0。 4分cobeginprocess AbeginL1: 產(chǎn)生隨機數(shù)R。 P(S1) 。 F:= R。 if R mod 5=0 then V(S2)。 else V(S3)。 6分 goto L1。end。process Bbegin L2: P(S2)。 x := F。 V(S1)。 print x。 8分 goto L2。end。process Cbegin L3: P(S3)。 y := F。 V(S1) 。 y := y mod 5。 print y。 10分 goto L3。end。coend。end。``020450133101201今有一個文件F供進程共享,現(xiàn)把這些進程分成A、B兩組,規(guī)定同組的進程可以同時讀文件F;但當有A組(或B組)的進程在讀文件F時就不允許B組(或A組)的進程讀文件F。試用P、V操作來進行管理。``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三個進程共享一個表格F,P1對F只讀不寫,P2對F只寫不讀,P3對F先讀后寫。進程可同時讀F,但有進程寫時,其他進程不能讀和寫。請用信號量和P、V操作,編寫三個進程能正確工作的算法程序。``020450144101500semaphore Rmutex, mutex。Rmutex=mutex=1。 //前者用于互斥訪問共享變量Rcount,后者用于寫互斥int Rcount=0。 //讀者計數(shù)變量 4分parbeginprocess P1{P(Rmutex)。 //互斥訪問共享變量RcountRcount=Rcount+1。 //讀者數(shù)增1if (Rcount==1) P(mutex)。 //第一個讀者應(yīng)與寫者互斥V(Rmutex)。read F。P(Rmutex)。Rcount=Rcount1。 //讀者離開,讀者數(shù)減1if (Rcount==0) V(mutex)。 //最后一個寫者離開時應(yīng)允許寫者寫V(Rmutex)。 6分}process P2{P(mutex)。write F。V(mutex)。 8分}process P3{P(Rmutex)。 //前半部分與P1相同Rcount=Rcount+1。if (Rcount==1) P(mutex)。V(Rmutex)。read F。P(Rmutex)。Rcount=Rcount1。if (Rcount==0) V(mutex)。V(Rmutex)。P(mutex)。 //后半部分與P2相同write F。V(mutex)。 10分}parend``020450153101501假定一個閱覽室可供50個人同時閱讀。讀者進入和離開閱覽室時都必須在閱覽室入口處的一個登記表上登記,閱覽室有50個座位,規(guī)定每次只允許一個人登記或注銷登記。要求:(1)用PV操作描述讀者進程的同步算法(登記、注銷可用自然語言描述);(2)指出算法中所用信號量的名稱、作用及初值。``020450153101500解:(1)用PV操作描述讀者進程的同步算法如下:semaphore mutex=1, seat=50。 2分parbiginprocess readeri (i=1, 2, 3, …)begin讀者來到閱覽室。P(seat)。 //看看閱覽室是否有空位置 4分P(mutex)。 //登記需互斥在登記表上登記。V(mutex)。 6分在閱覽室閱覽資料。P(mutex)。在登記表上注銷。V(mutex)。V(seat)。 //閱覽室空座位數(shù)增1,必要時喚醒等待進入閱覽室的讀者 8分該讀者離開。endparend(2)互斥信號量mutex,其初值為1,用于互斥使用登記表;資源信號量seat,其初值為50,用于表示閱覽室空座位的數(shù)量。 10分``020450162101501在一個盒子里,混裝了數(shù)量相等的黑白圍棋子。現(xiàn)在用自動分揀系統(tǒng)把黑子、白子分開,設(shè)分揀系統(tǒng)有兩個進程P1和P2,其中P1揀白子,P2揀黑子。規(guī)定每個進程每次揀一子;當進程在揀時,不允許另一個進程取揀;當一個進程揀了一子時,必須讓另一進程去撿。假設(shè)從揀白子開始。試寫出量進程能正確并發(fā)執(zhí)行的算法程序。``020450162101500semaphore mutex, S1, S2。mutex=1。 //互斥信號量S1=1。 //P1的同步信號量,用于與P2同步,從P1揀第一個白子開始S2=0。 // P2的同步信號量,用于與P1同步 4分parbeginProcess P1{while (1) {P(S1)。P(mutex)。 //揀子必須互斥揀一白子。V(mutex)。V(S2)。 //通知P2可以揀一黑子了 7分}}Process P2{while (1) {P(S2)。 //看看P1是否已撿完一個白子P(mutex)。 //揀子必須互斥揀一黑子。V(mutex)。V(S1)。 //通知P1可以揀一白子了 10分}}parend``020450175101501僅有k個進程,它們的標號依次為1,2,…,k,允許它們同時讀文件file,但必須滿足條件:參加同時讀文件的進程的標號之和需小于或等于k,請使用:(1) 信號量與P、V操作,編寫協(xié)調(diào)多進程讀文件的算法程序。``020450175101500semaphore mutex=1。 //互斥信號量,用于互斥訪問共享變量sumsemaphore S=0。 //用于阻塞不能讀文件的進程int sum=0。 //用于記錄和的值,若和大于k,則在S上阻塞int count=0。 //用于記錄在S上阻塞的進程數(shù) 4分Parbeginprocess Pi (i=1,2,3, ..., k){L1: P(mutex)。if (i+sumk) {count ++。 //阻塞進程數(shù)增1V(mutex)。 //允許其它進程讀P(S)。 //本進程阻塞goto L1。 //進程被喚醒后從L1重新開始執(zhí)行}else{sum=sum+i。V(mutex)。}Read File。P(mutex)。sum=sumi。while (count0){V(S)。 //喚醒所有在S上阻塞的進程count 。 //也可只喚醒一個阻塞進程,但并發(fā)度降低}V(mutex)。 10分}Parend``020450182101401有三個進程PA、PB和PC協(xié)作解決文件打印問題:PA將文件記錄從磁盤讀入主存的緩沖區(qū)buffer1,每執(zhí)行一次讀一個記錄;PB將緩沖區(qū)1的記錄復制到緩沖區(qū)buffer2,每執(zhí)行一次復制一個記錄;PC將緩沖區(qū)buffer2的內(nèi)容打印出來,每執(zhí)行一次打印一個記錄。緩沖區(qū)的大小和一個記錄大小一樣。試用P、V操作來保證文件的正確打印。``020450182101400解:BEGINsemaphore mutex1,mutex2,avail1,avail2,full1,full2;mutex1 := 1;mutex2 := 1;avail1 := 1;avail2 := 1;full1 := 0;full2 := 0; 4分PARBEGINPA:BEGINL1:read from disk;P(avail1);P(mutex1);put to buffer 1;V(full1);V(mutex1);goto L1; 6分ENDPB:BEGINL2:P(full1);P(mutex1);get from buffer 1;V(avail1);V(mutex1);P(avail2);P(mutex2);put to buffer 2;V(full2);V(mutex2);goto L2 ; 8分ENDPC:BEGINL3:P(full2);P(mutex2);get from buffer 2;V(avail2);V(mutex2);print RECORDgoto L3 ; 10分ENDPARENDEND``020450193101501由三個進程get
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1