计算机进程同步与通信

更新时间:2023-05-19 16:21:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第3章

程进步与通信●同程同步与互斥进

本要章点

经●典进同程步问题●程管●程通进信

例子引

例:P入1,P2两程共享进 变量OCUTNC(UNOT的 值初5) 为P:{1 R1COUNT=;R 1=R+1;1 OUNT=C1;R }P :2{R =C2UON; RT=R2+1;2 COUT=RN2;} 分:●析 》1行顺序P执→2P1

执行结P1果:CONUT7,为 P:2COUT为6N ●。 2》执行顺序P1:{R=1CUON}TP2 :{2=ROUCT} NP:1{1=RR11;+OUNT=RC}1 2P{:2=RR+2;1CUNO=T2R}

执行果结1P:CUOT为N, P6:2CONTU6为。

●.3 1程进的步同互与

斥步同与互的引入斥O引入S程后进由,于程的异进性,步可能会 致程序导执行果结的确不定性 ,程序执使时出现不可行再现。性 ●进互斥程与同步的要任主是使并发 务行执的进程诸之间能效有共享地源资 相互合和,作而使从程的序执行有具可再 性。现●

进同步程互与斥念●概步:指同个进多中程生的发事存件在着种某时序关系它,必须按规们时序执定行,共同完成以 项任务 一 。如4*100:力接赛工厂的,水线,商品流入的和 出库 …库●互斥 多:进程个能不同时用使一资同源。如:几 个学同去书馆借图一同本,交书叉路抢口车道 争,篮板球…抢

临界资源和临区

界界临资与临源界概区念进 程1P{R1 =conu;t R1R=+1;1 conu =tR ;1 } 界资临源

程进P2R2{ =cunot ;R2R2+1=; ocut n=R2 ;

临区

界} 临资源:一界仅允次许个进程一使的用资源 。 临界区:一进程个中问访界临源的资段程那序。

临界源资例实例P1:P2,两程共享变 线量OCUTNC(OUNT的用Be nstrine条考件 察初值为5)R P(1={R1),COUN}T 1:{ PWP1(=){R,1OUNC}T R1=CUNO;TR(P2 =)R{2C,OUN}TR =1R1+;1W P2()={R2,COUT}NC UNOT=R; 1 }P:{2R(P1 ∩)W(P2<){}> 2RCO=UN;T R=2R+1;2 ●P 、P2不1符合Bensreti条件n OCUT=N2R;}●必须 对序的程执顺行施序某种加制限

同步制应遵机循的准则●闲空让

访进临问资源界进的描述为 程hWlei()1 进{入 临区区 界出区退

当无程进处临界于区时,临界源资处于 闲状态。空时此允进程进许入临 区界。●忙 则等 待当有已程进入临进界区时,临资源界正 在访问被其,想进入临界他区进 程必的须等待 。有限等待 对●要于求问临界资访源的进程应保 证,在效有时的间进内,入以免入进 “死”状等。态● 权等待让当 进不程进能临界入时,区立应即释放 理机,以处进程免入进“等”。忙}

信号和P量V作1操695,年荷兰者D学ijktsar提了信出号量 制,卓有成机地效决解进程了同问题。●步●号量信定义的srtcu setapmorhe{i tnv alu;estru ctP CB q*eue; u}

信量号的V操作Pvido wai(setampohres) { s .valeu s.=valeu - 1 i;f( .vsalu e 0<) bolc(k.qsueeu) } ;vio signadlsemaph(oers) { sv.ale u s.v=lue + a1;if s(v.auel <=0 wa)

cku(ps.qeuu);e/* 唤阻塞进程醒*

P操作

/*/将 进程塞,并阻其投入将等队待列.queue *s/V操作

}

界临资和临源界

区P原语V作的用 P 原的作用语请申界临源,资果该如资正被源其他进使用,程 等则。 待 V语的作原用 放释界资源临,如有他其程进等待该源资则, 醒。唤

信量号的理意物义从资的观点源看号量信的义意 ●:s v.aul的e值初表系示中某种统资源数目。● wa t(is)表要示请一个资源申。(P ●)s igalns()示要释表放一个源资(V。 )●s.value 0时,<|s.vlau|e表等示待队的进程列数 。

注意: S.Vlae u0 表>示某类可资源用数的量<= 表0示其绝值对为因求请该 源资被阻而的塞进数 程S. aVuel初的为值1,表时示允许一个进只程访问临界 资源,此时的号信转量为化斥互号量信

。使用VP语原可以解决程的进互斥同步

和用信号

解量决斥问题互一地般,如果有n进个共享程一临界某资源,先找则每个 进程出临界区,再使的用PV语原实现进入和退临出区:界

seamhore mpuetx=; P1:w hie (l1{ P)mu(et)x; 临区; V界(umet);x};

号量信例题:机票卖的进程现互实斥semahorepm texu= 1 ;P( umtxe;)v aleu =c onu; t/c/unt为o余机票数量剩临界资(源) i f(vlue >=a 1 {)value = alveu –; 1cunot= va uel ;//打印张机一票 ; }lee /s/显机示已票售完;V m(tuex;) 界 区临

用号量信解互斥问决

M题tuex的取值 此时mutex只能取(三个值)

mtex=u

1 0-1无进程入临进界 1区进程在临个区界1个进程在等 待界区

用临mteu实x现n个程的互进时斥m,utex取 值?1 ~-( -n1)

练习

有4并发个行执进的程A,B,C,D。 执在行它时都们读共要享件F,文但制限进程A和进程 B不能时同读文F件进程,和进程C 也不D同能时读件文。F请问用P操作管V时: (1理应怎)定义样信量号?写信出号的初量值和 含。 义2(写)出使它们正能确行执过的。

信号量解决同步题问例如:两有进程P1个和P,要求21先P于2执P。行 sempaorh es =; 0P: C11; V()s;//唤醒程P进;2信号量

P2 :(sP);//等P待1执; C行2;(65)P

3.经典2程进同步题

问●生者—产消费—问者题●读者 —写—问题

●哲学者家进问题餐打●睡的理磕发问师题

典进经同步与互程问题斥产生-者费者问题消同时存在步和互同斥个两问题

生产者消-费模型者

生产者消费-问者题从资源的点理观这解问题个:.有1空buf生产者才能,数据,设计送空闲冲缓区 的量数eptm,初y值n。 2为.有数装据的ub,f消费者能取数据才,计有设数 的据冲缓的区量数ful,l初为值0。 3对.ub互斥f用使,设斥信号互mute量,x值初为。1

本文来源:https://www.bwwdw.com/article/u3l4.html

Top