第三章进程管理4(同步和互斥1).ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章进程管理4(同步和互斥1),同步和互斥,同步和互斥的区别,多线程同步和互斥,进程同步和互斥,进程同步与互斥,同步与互斥,同步互斥,进程的同步与互斥,线程同步与互斥

3.4.6 进程的挂起和激活 当出现了引起进程挂起的事件时,用户请求将自己挂起,或者父进程请求挂起自己的子进程,应该利用挂起原语suspend( ) 挂起原语的执行过程:检查被挂起进程的状态;如果处于活动就绪状态,就将它改为静止就绪;如果处于活动阻塞,则改为静止阻塞。 进程的激活过程 当发生激活事件后,系统利用激活原语Active()将指定进程激活。激活原语先将进程从外存调入内存,然后检查进程的状态。 静止就绪 活动就绪 静止阻塞 活动阻塞 创建和撤销 阻塞和唤醒 挂起和激活 3.3 进程的同步与互斥 进程的同步和互斥机制的主要任务:控制并发执行的诸进程之间能有效地共享和相互协作,同时使并发执行的程序仍具有可再现性。 进程互斥 进程同步 利用信号量机制解决具体问题 并发系统中诸进程由于资源共享、进程合作,而产生进程之间的相互制约;又因共享资源的方式不同,而导致两种不同的制约关系: 1 间接制约关系(进程互斥) 由于共享资源而引起的暂临界区内不允许并发进程交叉执行的现象。由共享公有资源而造成的对并发进程执行速度的间接制约 2 直接制约关系(进程同步) 由于并发进程互相共享对方的私有资源所引起的直接制约。 一、进程互斥 什么叫互斥? 一组并发进程中的一个或多个程序段,因共享某一公有资源而导致它们必须以一个不允许交叉执行的单位执行。即不允许两个以上的共享该资源的并发进程同时进入临界区称为互斥。 临界资源:一次仅允许一个进程使用的资源。 临界区:每个进程中访问临界资源的那段代码(critical section)。 (不允许多个并发进程交叉执行的那段程序) 临界区的管理 计算机专家Dijkstra 1965年提出临界区设计原则,即一组并发进程互斥执行时必须满足: ①每次至多有一个进程处于临界区 ②当若干进程同时要求进入它们的临界区时,应在有限时间内使一进程进入临界区,而不应相互堵塞而致使彼此不能进入临界区 ③进程仅在临界区内逗留有限的时间。 简言之,同步机制的准则有:1 空闲让进;2 忙则等待;3 让权等待;4 有限等待; Test-and Set指令 定义了一个boolean变量,lock 当lock=false时,表示该资源空闲; 当lock=true时,表示该资源正被使用 加锁法和P、V原语法: 加锁法是采用反复测试lock而实现互斥的,存在CPU浪费和不公平现象;而P、V原语法是采用信号量来管理相应的临界区的共有资源,信号量的值只能由P、V原语操作来改变,克服了加锁法的弊端。 二、 进程同步 概念:指多个合作进程为了完成同一个任务,它们在执行速度上必须相互协调,即一个进程的执行依赖于另一个进程的消息,当没有消息时要等待,直到消息到达被唤醒。 具有同步关系的一组并发进程称为合作进程,合作进程间互相发送的信号称为消息或事件。 进程同步的传送消息实现 如果对一个事件或消息赋以唯一的消息名,则过程wait (消息名)表示进程等待合作进程发来消息,功能是等待到消息名为true的进程继续执行; 过程signal (消息名)表示向合作进程发送消息,功能则是向合作进程发送所需要的消息名,并将其值置为true。 例:计算进程和打印进程的同步关系. 设消息名bufempty表示buf空, 初始化 bufempty =true, Pc: while(true){ wait(bufempty) 计算 buf?计算结果 bufempty ? false signal(buffull)} 设消息名buffull表示buf满. Buffull=false. Pp: while(true){ wait(buffull) 打印Buf中的数据 清除Buf中的数据 buffull ?false signal(bufempty)} 进程同步和互斥间的关系 相似处:进程的互斥实际上是进程同步的一种特殊情况; 进程的互斥和同步统称为进程同步。 差别:进程互斥是进程间共享资源的使用权 ,这种竞争没有固定的必然联系,哪个进程竞争到使用权就归那个进程使用,直到不需要使用时在归还;而进程同步则涉及共享资源的并发进程间有一种必然的联系,当进程必须同步时,即使无进程在使用共享资源时,那么尚未得到同步消息的进程也不能去使用这个资源。 利用信号量机制解决问题 信号量机制:由Diskstra提出的一种解决进程的同步与互斥的工具。 信号量——用于表示资源数目或请求使用某一资源的进程个数的整形量. S是与临界区内所使用的公用资源有关的信号量。 S≥0 可供并发进程使用的资源数 S0 正在等待

文档评论(0)

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

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

1亿VIP精品文档

相关文档