資源描述:
《最新中考語文材料分析專題復(fù)習(xí)PPT教學(xué)講義PPT.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、中考語文材料分析專題復(fù)習(xí)PPT考點(diǎn)訓(xùn)練13材料分析(時(shí)間:50分鐘 分值:50分)材料二2007~2009年北京市戶籍人口及老年人口狀況第九講進(jìn)程同步與通信目的與要求:掌握信號量解決進(jìn)程同步互斥問題的方法,掌握進(jìn)程通信的基本實(shí)現(xiàn)方法。重點(diǎn)與難點(diǎn):信號量的典型應(yīng)用,通信實(shí)現(xiàn)。作業(yè):15,16,17。4.2.5進(jìn)程同步與互斥舉例一、有限緩沖區(qū)問題問題描述:設(shè)有n個(gè)緩沖區(qū),一組生產(chǎn)者進(jìn)程往緩沖區(qū)寫數(shù)據(jù),一組消費(fèi)者進(jìn)程從緩沖區(qū)取數(shù)據(jù),寫取都以一個(gè)緩沖區(qū)為單位。說明:將緩沖池看做是共享數(shù)據(jù),對緩沖區(qū)的操作必須是互斥操作。如果n個(gè)緩沖區(qū)全滿,生產(chǎn)者進(jìn)程必須等待。
2、如果緩沖區(qū)全空,消費(fèi)者進(jìn)程必須等待。有限緩沖區(qū)的生產(chǎn)者/消費(fèi)者問題(生產(chǎn)者和消費(fèi)者共享一個(gè)產(chǎn)品緩沖池)。共享N個(gè)緩沖區(qū)P1P2…PmC1C2…Cn生產(chǎn)者消費(fèi)者緩沖池解:設(shè)置以下信號量mutex,初值為1,控制互斥訪問緩沖池。full,初值為0,表示當(dāng)前緩沖池中滿緩沖區(qū)數(shù),用于同步。empty,初值為n,表示當(dāng)前緩沖池中空緩沖區(qū)數(shù),用于同步。有限緩沖區(qū)生產(chǎn)者/消費(fèi)者進(jìn)程描述如下:typeitem=…;varbuffer=…;full,empty,mutex:semaphor;nextp,nextc:item;beginfull:=0;empty:=n;
3、mutex:=1;P(empty);P(mutex);addnextptobuffer;V(mutex);V(full);untilfalse;end;ParbeginProducer:beginrepeat…produceaniteminnextp;...…consumetheiteminnextc;…untilfalse;end;Parend;consumer:beginrepeatP(full);P(mutex);removeanitemfrombuffertonextc釋放緩沖區(qū)V(mutex);V(empty);若存在一共享數(shù)據(jù)A,那些對它
4、進(jìn)行讀訪問者叫Reader,對它進(jìn)行寫訪問者叫做Writer。第一類Reader/Writer問題:Reader和Writer爭奪訪問共享數(shù)據(jù)A時(shí),Reader有較高優(yōu)先數(shù)。表現(xiàn)在:除了某個(gè)Writer正在訪問數(shù)據(jù)之外,任何情況下Reader欲訪問數(shù)據(jù)均可以直接進(jìn)行訪問。二、Readers/Writers問題該問題可具體描述為:1.如果當(dāng)前無人訪問數(shù)據(jù),則Reader/Writer欲訪問即可訪問。2.如果已存在一個(gè)Reader正在訪問數(shù)據(jù),其他欲訪問Reader可馬上訪問(這體現(xiàn)Reader有較高優(yōu)先權(quán));而欲訪問的Writer必須等待。3.若某個(gè)W
5、riter正訪問數(shù)據(jù),則欲訪問的Reader/Writer都必須等待。(續(xù))4.當(dāng)最后一個(gè)結(jié)束訪問數(shù)據(jù)的Reader發(fā)現(xiàn)有Writer正在等待時(shí),則將其中一個(gè)喚醒。5.當(dāng)某個(gè)Writer結(jié)束訪問時(shí),若只有Writer在等待,則喚醒某個(gè)Writer,若既有Writer也有Reader;則按FIFO或某它原則喚醒一個(gè)Writer或所有Reader。Reader的一般結(jié)構(gòu)為:P(mutex);readcount:=readcount+1;Ifreadcount=1thenP(wrt);V(mutex);讀數(shù)據(jù)AP(mutex);readcount:=rea
6、dcount-1;Ifreadcount=0thenV(wrt);V(mutex);Writer的一般結(jié)構(gòu)為:P(wrt);寫數(shù)據(jù)AV(wrt);三、哲學(xué)家就餐問題問題描述:五個(gè)哲學(xué)家五只筷子,哲學(xué)家循環(huán)做著思考和吃飯的動(dòng)作,吃飯程序是:先取左邊筷子,再取右邊筷子,再吃飯,再放筷子。實(shí)現(xiàn):為每個(gè)筷子設(shè)一把鎖(信號量,初值為1)每個(gè)哲學(xué)家是一個(gè)進(jìn)程。共享數(shù)據(jù)結(jié)構(gòu)為:VarChopstick;array[0,4]ofsemaphore;第i個(gè)進(jìn)程描述為(i=0,…,4)repeatP(chopstick[i]);P(chopstick[(i+1)mod5
7、]);吃V(chopstick[i]);V(Chopstick[(i+1)mod5];思考untilfalse;(這可能導(dǎo)致死鎖)4.3進(jìn)程通信兩種基本進(jìn)程通信方法:1.共享存儲(chǔ)(Shared-memory):相互通信的進(jìn)程有共享存儲(chǔ)區(qū)。進(jìn)程間可以通過直接讀寫共享存儲(chǔ)區(qū)的變量來交互數(shù)據(jù),同步與互斥在并發(fā)程序設(shè)計(jì)時(shí)安排進(jìn)入程序。操作系統(tǒng)提供這樣的共享存儲(chǔ)區(qū)及某些同步互斥工具。2.消息傳遞(message-passing):若進(jìn)程間無共享空間,則必須通過消息傳遞通信,且必須通過OS系統(tǒng)調(diào)用實(shí)現(xiàn)。消息傳遞系統(tǒng)調(diào)用語句的一般形式:發(fā)送:Send&消息to目的
8、地標(biāo)識接收:Receive&消息from源地址標(biāo)識.一、消息傳遞方法1.直接通信法基本思想:進(jìn)程在發(fā)送和接收