资源描述
单击此处编辑母版文本样式,第二层,第三层,第四层,第五层,单击此处编辑母版标题样式,操作系统辅导,单击此处编辑母版文本样式,第二层,第三层,第四层,第五层,单击此处编辑母版标题样式,进程同步,例题解析:,(综合应用题),1,、有,3,个进程,PA,、,PB,、,PC,协作解决文件打印的问题:,PA,将文件记录从磁盘读入内存的缓冲区,1,,每执行一次读入一个记录,,PB,将缓冲区,1,的内容复制到缓冲区,2,,每执行一次复制一个记录将缓冲区,2,的内容打印出来,每执行一次打印一个记录。如图所示,缓冲区的大小和一个记录一样,请用,P,、,V,操作来保证文件的正确打印。,缓冲区,1,缓冲区,2,PA,PB,PC,从磁盘读入,复制,打印,进程同步,例题解析:,(综合应用题),2,、桌子上有一只盘子,最多可容纳两个水果,每次只能放入或取出一个水果,爸爸专向盘子放苹果(,apple,),妈妈专向盘子放桔子(,orange,)。两个儿子专等听吃盘子中的桔子,两个女儿专等吃盘子中的苹果。请用,P,、,V,操作来实现爸爸、妈妈、儿子、女儿之间的同步与互斥关系。,进程同步,例题解析:,(综合应用题),3,、桌子上有一只盘子,可以放一个水果。爸爸总是放苹果到盘子中,而妈妈总是放香蕉到盘子中。一个儿子专等吃盘子中的香蕉,而一个女儿专等吃盘子中的苹果。请用,P,、,V,操作来实现爸爸、妈妈、儿子、女儿之间的同步与互斥关系。,进程同步,例题解析:,(综合应用题),4,、有一个东西方向的独木桥,如图所示,每次只能有一人通过,且不允许人在桥 上停留,东、西两端各有若干人在等待过桥。请用,P,、,V,操作实现东西两端人过桥的问题。,西,东,独木桥,进程同步,例题解析:,(综合应用题),5,、复印室有一个操作员为顾客复印资料,(mutex=1),,有,5,把椅子,(chair=5),供顾客休息并等待,(waiting=0),复印。如果没有顾客,则操作员休息,当顾客来到复印室时,(standup=1),,如果有空椅子则坐下来,当操作员空闲时顾客站起来,(ready=0),唤醒操作员进行复印,复印完成后,(finished=0),离开复印室,如果没有空椅子则离开复印室。试作,P,、,V,操作实现顾客和操作员活动的同步。,void operator(),p(ready);,复印;,p(finished);,void customer(),p(mutex);,if(waiting6),waiting=waiting+1;,v(mutex);,else,v(mutex);,离开;,p(chair);,p(standard);,v(chair);,v(ready);,p(finished);,v(standup);,p(,mutex,);,waiting-1,;,v(mutex);,
展开阅读全文