进程同步与通信

进程同步与通信

ID:42306778

大小:275.01 KB

页数:19页

时间:2019-09-12

进程同步与通信_第1页
进程同步与通信_第2页
进程同步与通信_第3页
进程同步与通信_第4页
进程同步与通信_第5页
资源描述:

《进程同步与通信》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章进程同步与通信●进程同步与互斥●经典进程同步问题●管程●AND信号量●进程通信本章要点●吃水果问题●取动物问题●超市购物问题●生产者——消费者问题●哲学家进餐问题●3.2经典进程同步问题吃水果问题1题目:桌子上有一个水果盘,允许存放一个水果。父亲专门向盘子中放苹果,儿子专等吃盘子中的苹果。只要盘子空,则父亲可向盘中放水果,仅当盘中有水果时,儿子可从中取出。把父亲、儿子看作二个进程,试用P、V操作使这两个进程能正确地并发执行。使用信号量解决吃水果问题1题目:桌子上有一个水果盘,允许存放一个水果。父亲专门向盘子中放苹果,儿

2、子专等吃盘子中的苹果。只要盘子空,则父亲可向盘中放水果,仅当盘中有水果时,儿子可从中取出。分析:父亲和儿子两个进程相互制约,父亲进程执行完即往盘中放入苹果后,儿子进程才能执行即吃苹果。因此该问题为进程间的同步问题。semaphoreEmptyPlate=1,Apple=0;voidfather()//父亲进程{while(1){P(EmptyPlate);往盘子中放入一个苹果;V(Apple);}}voidson()//儿子进程{while(1){P(Apple);从盘中取出一个苹果;V(EmptyPlate);吃苹果;}}

3、吃水果问题2题目:桌上有一只盘子,允许存放一个水果,父亲专向盘中放苹果,母亲专向盘中放桔子,儿子专等吃盘里的桔子,女儿专等吃盘里的苹果。只要盘子空,则父亲或母亲可向盘中放水果,仅当盘中有自己需要的水果时,儿子或女儿可从中取出。请给出四人之间的同步关系,并用PV操作实现四人正确活动的程序。使用信号量解决吃水果问题2分析:四人之间的关系:1.父亲、母亲要互斥使用盘子,所以两者之间是互斥关系;2.父亲放的苹果,女儿吃,所以两者是同步关系;3.母亲放的桔子,儿子吃,所以两者也是同步关系。semaphoreEmptyPlate=1,A

4、pple=0,Orange=0;voidfather()//父亲进程{while(1){P(EmptyPlate);往盘子中放入一个苹果;V(Apple);}}voidmother()//母亲进程{while(1){P(EmptyPlate);往盘子中放入一个桔子;V(Orange);}}使用信号量解决吃水果问题2分析:四人之间的关系:1.父亲,母亲要互斥使用盘子,所以两者之间是互斥关系;2.父亲放的苹果,女儿吃,所以两者是同步关系;3.母亲放的桔子,儿子吃,所以两者也是同步关系。voidson()//儿子进程{while(

5、1){P(Orange);从盘中取出一个桔子;V(EmptyPlate);吃桔子;}}semaphoreEmptyPlate=1,Apple=0,Orange=0;voiddaughter()//女子进程{while(1){P(Apple);从盘中取出一个苹果;V(EmptyPlate);吃苹果;}}取动物问题题目:有一只铁笼子,每次只能放入一只动物,猎人向笼中放入老虎,农民向笼中放入猪,动物园等待取笼中的老虎,饭店等待取笼中的猪。试用P、V操作写出能同步执行的程序。使用信号量解决取动物问题分析:四者之间的关系:1.猎人和农

6、民要互斥使用笼子,所以两者之间是互斥关系;2.猎人放老虎,动物园取老虎,所以两者是同步关系;3.农民房猪,饭店取猪,所以两者也是同步关系。semaphoreEmptyCage=1,Tiger=0,Pig=0;voidhunter()//猎人进程{while(1){P(EmptyCage);往笼子里放入一只老虎;V(Tiger);}}voidfarmer()//农民进程{while(1){P(EmptyCage);往笼子里放入一只猪;V(Pig);}}voidzoo()//动物园进程{while(1){P(Tiger);从笼子

7、里取出一只老虎;V(EmptyCage);;}}voidrestaurant()//饭店进程{while(1){P(Pig);从笼子里取出一只猪;V(EmptyCage);;}}超市购物问题1题目:某小型超级市场,可容纳100个人同时购物。入口处备有购物车,每个购物者可拿一辆购物车入内购物。出口处结帐,并归还购物车。试用PV操作写出购物者的同步算法semaphores=100voidconsumeri(void)(i=1,2,…,k){while(TRUE){P(s);进入超市取一辆购物车;购物;结帐,并归还购物车;V(s)

8、;}}超市购物问题2题目:某小型超级市场,可容纳100个人同时购物。入口处备有购物车,每个购物者可拿一辆购物车入内购物。出口处结帐,并归还购物车。(出、入口禁止多人同时通过)试用PV操作写出购物者的同步算法semaphores=100voidconsumeri(void)(i=1,2,…,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。