网站大量收购闲置独家精品文档,联系QQ:2885784924

chapter2-进程管理2.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.4 进程的同步 在多道程序系统中,系统中可能有多个进程,它们之间存在以下两种关系: 相互合作(直接作用): 进程间存在相互合作地关系。如输入、计算和输出进程。 进程同步的任务:保证各进程在执行次序上不出现与时间有关的差错。 2.4 进程的同步 在多道程序系统中,由于资源共享或进程合作,使进程间形成间接相互制约和直接相互制约关系,这需要用进程互斥与同步机制来协调两种制约关系。 进程同步的主要任务是使并发执行的进程间有效的共享资源和相互合作, 进程的同步机制──信号量及P.V操作(解决进程同步互斥问题) 1. 基本概念 进程互斥:由于各进程要求共享资源,而有些资源需要互斥使用,因此各进程间竞争使用这些资源,进程的这种关系为进程的互斥。 进程同步:指多个相关进程在执行次序上的协调。 临界资源:系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源或共享变量。 在进程中涉及到临界资源的程序段叫临界区 多个进程的临界区称为相关临界区 2.使用互斥区的原则 空闲让进:当无进程在互斥区时,任何有权使用互斥区的进程可进入 忙则等待:不允许两个以上的进程同时进入互斥区 有限等待:任何进入互斥区的要求应在有限的时间内得到满足 让权等待:处于等待状态的进程应放弃占用CPU,以使其他进程有机会得到CPU的使用权 3.进程的同步机制── 信号量及P.V操作(解决进程同步) 1965年,荷兰学者Dijkstra提出的信号量机制是一种卓有成效的进程同步工具,被广泛应用于单处理机和多处理机系统,以及计算机网络中。 信号量:semaphore 是一个数据结构 定义如下: struc semaphore { int value; pointer_PCB queue; } 信号量说明: semaphore s; P操作 P(s) { s.value = s.value --; if (s.value 0) { 该进程状态置为等待状态 将该进程的PCB插入相应的等待队列末尾s.queue; } } P操作 意味着请求分配一个单位资源 V操作 V(s) { s.value = s.value ++; if (s.value = 0) { 唤醒相应等待队列s.queue中等待的一个进程 改变其状态为就绪态,并将其插入就绪队列 } } V操作 意味着释放一个单位资源 P、V操作为原语操作 原语:是由若干多机器指令构成的完成某种特定功能的一段程序,具有不可分割性。即原语的执行必须是连续的,在执行过程中不允许被中断 实现:开关中断 信号量的使用: 必须置一次且只能置一次初值 初值不能为负数 只能执行P、V操作 用P、V操作解决进程间互斥问题 用P、V操作实现互斥模型 设S初始值为1 A进程 : B进程: ……… ……… P(S) P(S) 互斥工作段 互斥工作段 V(S) V(S) ……… ……… 模拟执行 序号 A B S 说明 0 1 1 P(S) 0 B进入占资源 2 P(S) -1 A进入无资源 3 V(S) 0 B释放资源A解封 4 V(S) 1 A释放资源 0 可反复执行 同步例子 有A、B两进程需使用打印机(临界资源),只需为打印机设置一个互斥信号量mutex,初值为1。 同步例子 利用信号量实现进程互斥的进程可描述如下: Var mutex:semaphore∶ =1; begin parbegin process A: begin repeat P(mutex); critical section

文档评论(0)

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

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

1亿VIP精品文档

相关文档