第二章进程(线程)管理总汇.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
重点回顾;第二章 进程(线程)管理;本章内容;2.1 进程的基本概念;2.1进程的基本概念;2.1进程的基本概念;2.1 进程的基本概念;2.1 进程的基本概念;2.1 进程的基本概念;2.1 进程的基本概念;2.1.2 进程的定义和特征;2.1.2 进程的定义和特征;2.1.2 进程的定义和特征;2.1.2 进程的定义和特征;2.1.2 进程的定义和特征;2.1.2 进程的定义和特征;2.1.3 进程状态和进程转换;2.1.3 进程状态和进程转换;2.1.3 进程状态和进程转换;2.1.3 进程状态和进程转换;2.1.3 进程状态和进程转换;2.1.3 进程状态和进程转换;2.1.3 进程状态和进程转换;2.1.3 进程状态和进程转换;2.1.3 进程状态和进程转换;2.1.4 进程控制块及其组织方式;2.1.4 进程控制块及其组织方式;2.1.4 进程控制块及其组织方式;2.1.4 进程控制块及其组织方式;重点回顾;执行;重点回顾;2.2 进程控制;2.2.1 进程创建;入口;2.2.2 进程执行与进程切换;1、引起进程阻塞和唤醒的事件 请求系统服务:正在执行的程序请求操作系统服务,但是由于某种原因操作系统没有立即满足该进程的要求,该进程只能转变为阻塞状态来等待。 启动某操作:当进程启动某种操作后,如果该进程必须在该操作完成之后才能继续执行,所有必须先使进程阻塞。 新数据尚未到达 无新工作可做:系统往往设置一些具有某特定功能的系统进程,每当这种进程完成任务以后便把自己阻塞起来等待新任务的到来。(发送进程);2、进程阻塞过程 当有阻塞事件发生时,进程便调用阻塞原语block()把自己阻塞。进入block后,应先立即停止执行,把进程控制块中的执行状态改为阻塞状态,并把它插入阻塞队列。 3、进程唤醒过程 当阻塞进程所期待的事件出现时,则调用唤醒原语wakeup(),将等待事件的进程唤醒。 唤醒原语执行的过程是:首先把被阻塞进程从等待该事件的阻塞队列中移出,将其PCB中的阻塞状态改为就绪状态,然后把该进程插入到就绪队列中。 block()和wakeup()是一对作用刚好相反的原语。;入口;2.2.4 进程挂起与激活;2.2.4 进程挂起与激活;2.2.5 进程撤销;入口;2.3 进程同步;2.3.1 进程同步的基本概念;2.3.1 进程同步的基本概念;2.3.1 进程同步的基本概念;2.3.1 进程同步的基本概念;2.3.1 进程同步的基本概念;2.3.1 进程同步的基本概念;2.3.2 信号量机制;2.3.2 信号量机制;2.3.2 信号量机制;2.3.2 信号量机制;入口;;2.3.2 信号量机制; (1)利用信号量实现进程互斥;04/01/11;首先需要找到共享的临界资源;如右图所示程序中,每个进程中含有多个变量,但只有共享的公共变量a才是共享的临界资源,而c和y都不是; 找到了共享的临界资源a,则每个程序中涉及该资源a的程序段都是临界区; 为临界资源a设置信号量mutex及其初值; 再针对每个临界区使用mutex的P、V操作将临界区括起来。;重点回顾;重点回顾;重点回顾;例:某车站售票厅有20个窗口,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,则厅外的购票者可立即进入,否则需在厅外等待。若把一个购票者看作一个进程,请用P、V操作管理这些并发进程,要求如下: ⑴ 在主函数中给出信号量的定义和初值。 ⑵ 给出一个购票者进程的算法。 ⑶ 给出当购票者最多不超过n (设n20)个时,信号量可能的变化范围。;判断该问题是互斥问题还是同步问题: 可以将该售票厅的每个窗口看作是一个临界资源为每个购票者进程共享,每个购票者进程只能使用其中一个窗口。 售票厅有20个窗口,所以有20个同类的临界资源,一次可以允许20个进程进入,并且先来者先进入。 由此可知:该问题满足互斥的2个必要条件(共享临界资源,共享方式是先来者先进入),所以该问题是互斥问题。 根据互斥问题的解决方法设置信号量并赋初值: 设置一个信号量mutex,初值为20。 用信号量的P、V操作将临界区括起来。;⑴.主函数算法: main() { semaphore mutex=20; cobegin P1(); …Pi();…Pn(); coend }; ⑶.信号量mutex的取值范围: -(n-20) ≤ mutex ≤ 20 其物理含义是: 当mutex=20时,表示售票厅内没有购票者进入,20个窗口都是空闲的,表示可用资源个数; 当mutex=0时,表示售票厅内已经进入了20个购票者,每个窗口都被分配,没有等待的购票者

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档