- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 进程管理;第二章 进程管理;第二章 进程管理;2.1 进程;2.1.1 进程概念;2.1.2 进程特性;2.1.2进程特性;进程的特征;2.1.3进程状态和转换;2.1.3进程状态和转换;2.1.3进程状态和转换;2.1.4进程的组成;2.1.4进程的组成;2.1.4进程的组成;2.1.5进程控制块和进程队列;2.1.5进程控制块和进程队列;2.1.5进程控制块和进程队列;2.1.6进程控制;2.1.6进程控制;进程创建过程;进程创建过程;创建原语的实现过程;引起撤消的原因;撤消原语的实现过程;进程的阻塞原语;进程的唤醒原语;唤醒原语的实现过程;2.2 线程; 2.2.1 线程引入和线程概念; 2.2.1 线程引入和线程概念;2.2.1 线程引入和线程概念;2.2.1 线程引入和线程概念;2.2.1 线程引入和线程概念;2.2.2 线程的实现;2.2.2 线程的实现;2.2.3 线程池;2.2.4 线程优势;2.3 同步;2.3.1 进程同步和进??间通信;2.3.1 进程同步和进程间通信;5.使用临界区的原则;2.3.2 互斥的实现方式;2.4 信号量;2.4.1 整形信号量;2.4.1 整形信号量;2.4.2 记录型信号量;2.4.2 记录型信号量;2.4.2 记录型信号量;2.4.2 记录型信号量;2.4.3 信号量的应用;2.4.3 信号量的应用;2.4.3 信号量的应用;2.4.4 经典同步问题;生产者-消费者问题;2.4.4 经典同步问题;2.4.4 经典同步问题;读者与写者问题
有两组并发进程:
读者和写者,共享一组数据区
要求:
允许多个读者同时执行读操作
不允许读者、写者同时操作
不允许多个写者同时操作;2.4.4 经典同步问题;2.4.4 经典同步问题;2.4.4 经典同步问题;理发店里有一位理发师和一把理发椅,还有 N 张座椅供等候的顾客休息。在没有顾客的时候,理发师就会躺在理发椅上睡觉。因此,当有顾客来到理发店时,他必须先叫醒理发师。如果理发师正在理发时又有顾客来到,此时,如果有空椅子可坐,他们就会坐下来等;如果没有空椅子,就会离开。
问题:用信号量和P、V原语写出理发师和顾客行为的程序描述。;理发师问题;S1 判断有多少人在等待, 有多少把椅子,若椅子 不够,转S5;S2 如果是第一个顾客,就 去叫醒理发师;S3 走到一把空椅子处坐下 等,等理发师叫自己;S4 理发中…;S5 离开理发店。;理发师问题;理发师问题;理发师问题;睡着的理发师问题;睡着的理发师问题;哲学家就餐问题;#define N 5
void philosopher (int i)
{
while (true) {
思考;
取fork[i]; 取fork[(i+1) % 5];
进食;
放fork[i]; 放fork[(i+1) % 5];
}
}; 为防止死锁发生可采取的措施:
最多允许4个哲学家同时坐在桌子周围
仅当一个哲学家左右两边的筷子都可用时,才允许他拿筷子(?)
给所有哲学家编号,奇数号的哲学家必须首先拿左边的筷子,偶数号的哲学家则反之。
为了避免死锁,把哲学家分为三种状态,思考,饥饿,进食,并且一次拿到两只筷子,否则不拿;用P-V操作描述前趋关系的例子;用P-V操作描述前趋关系(续); 用P.V操作解决司机与售票员的问题;用P.V操作解决司机与售票员的问题;信号量和P、V原语的小结;第二,把信号量视为是某种类型的共享资源的剩余个数,其目的是为了实现对这种类型的共享资源的访问,如各种I/O设备。信号量的取值具有实际的意义,就等于空闲资源的个数。多个进程可以同时使用这种类型的资源,直到所有空闲资源均已用完。其特征是信号量的初始值为N(N?1),然后在一个进程内部对它进行配对的P、V操作。;第三,把信号量作为进程间同步的工具,利用它来设定两个进程在运行时的先后顺序。比如说,它可以是某个共享资源的当前个数,但是由一个进程负责生成该资源,而另一个进程负责消费该资源,由此引发了两个进程之间的先后顺序。其特征是信号量的初始值为N(N ? 0),然后在一个进程里面用对它使用V原语,增加资源个数,而在另外一个进程里面对它使用P原语,减少资源个数,从而实现两个进程之间的同步关系。; 课后练习;2.5 进程通信;2.5.1进程通信的定义;2.5.2消息传递;2.5.2消息传递;2.5.2消息传递;2.5.2消息传递;2.5.2消息传递;2.5.2消息传递;2.5.2消息传递;2.5.2消息传递;2.5.2消息传递;2.
您可能关注的文档
最近下载
- 【医学课件】 Pseudomonas aeruginosa biofilm formation.ppt VIP
- 瞿同祖中国法律与中国社会.ppt VIP
- 2025年山东省春季高考数学试卷试题真题(含答案解析).pdf VIP
- 2024-2025学年高一下学期《唤醒内驱力——开启自主学习成长之旅》主题班会课件.pptx VIP
- 低钾血症.ppt VIP
- 2025年《大数据营销》考试试卷及答案.pdf VIP
- 江苏省无锡市锡山区天一实验学校2023-2024学年七年级上学期期中数学试题.doc VIP
- 智能交通信息采集技术12_浮动车课件讲解.pptx VIP
- 智学网官网登录入口.docx VIP
- 常用房屋体检设备清单及技术参数、软件要求、数据资产、屋体检报告、评价判定表.pdf VIP
原创力文档


文档评论(0)