操作系统课件第3章-进程管理(2).ppt

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

*3.6.2私用信号量进程同步和互斥间的关系注意区分1)公用信号量,互斥时使用的信号量2)私用信号量:主要用于进程同步。只允许拥有它的进程对之施加P操作。*3.6.3用P,V原语操作实现同步例:设进程Pa,Pb通过缓冲区队列传送数据*发送和接受过程满足的条件是:1)在Pa至少送一块数据入一个缓冲区之前,Pb不可能从缓冲区中取出数据(假定数据块长等于缓冲区长度);2)Pa往缓冲队列发送数据时,至少有一个缓冲区是空的;3)由Pa发送的数据块在缓冲队列中按先进先出(FIFO)方式排列.*3.6.3用P,V原语操作实现同步发送过程deposit(data)和接受过程remove(data)的描述:1)Bufempty—进程Pa的私用信号量,Buffull—进程Pb的私用信号量;2)Bufempty的初始值为n(n为缓冲队列的缓冲区个数),Buffull的初始值为0;*用P,V原语操作实现同步*3.6.4生产者和消费者问题Dijkstra把同步问题抽象成一种生产者和消费者关系,计算机系统中的许多问题都可以被归结为生产者和消费者关系*另外,由于有界缓冲区是临界资源,因此,各生产者进程和消费者进程之间必须互斥执行。由以上分析我们设公用信号量mutex保证生产者进程和消费者进程之间的互斥,设信号量avail表示有界缓冲区中的空单元数,初值为n;信号量full表示有界缓冲区中的非空单元数,初值为0.信号量mutex表示有界缓冲区中的个数,初值为1.从而有:**第3章进程管理(2)*3.3进程的状态及其转换3.3.1进程状态进程在生命期内,至少具有5种基本状态:初始态、执行状态、等待状态、就绪状态、终止状态。*3.3.2进程的状态转换*进程的状态转换①就绪→执行:调度②执行→等待:等待某个事件发生而睡眠③等待→就绪:因等待的事件发生而唤醒④执行→就绪:时间片用完问题1:为什么不能从等待态变为运行态呢?问题2:为什么不能从就绪态变为等待态呢?*3.4进程控制进程控制就是对系统中的所有进程实施管理(创建一个新进程、终止一个已完成的进程,或终止一个因出现某事件而使其无法运行下去的进程,还负责进程运行中状态的转换),进程控制一般由OS的内核来实现。*原语所谓原语是指系统态下执行的某些具有特定功能的程序段。分为两类:机器指令级的:执行期间不允许中断功能级的:作为原语的程序段不允许并发执行常用的进程控制原语:创建原语Create终止原语Destroy阻塞原语Block、唤醒原语Wakeup*进程创建原语流程图*进程撤消原语流程图*阻塞原语和唤醒原语*3.5进程互斥3.5.1资源共享所引起的制约例:多进程共享内存栈区示例(P52)*临界区(criticalsection):不允许多个并发进程交叉执行的一段程序称为为临界部分或临界区。(访问公共数据的那段程序)临界资源(criticalresource):一次仅允许一个进程访问的资源。如:进程AB共享一台打印机,若让它们交替使用则得到的结果肯定不是我们希望的。临界资源可能是硬件,也可能是软件*间接制约间接制约关系:由于共享资源而引起的在临界区内不允许并发进程交叉执行的现象称为由共享公有资源而造成的对并发进程执行速度的间接制约。(系统资源:如A、B两进程竞争打印机)间接:指各并发进程的速度受公有资源制约。*什么是互斥一组并发进程中的一个或多个程序段,因共享某一公有资源而导致它们必须以一个不允许交叉执行的单位执行。即不允许两个以上的共享该资源的并发进程同时进入临界区称为互斥。*进程互斥执行必须满足四个准则(P54)(1)不能假设各并发进程的相对执行速度。即各并发进程享有平等的、独立的竞争共有资源的权利,且在不采取任何措施的条件下,在临界区内任一指令结束时,其他并发进程可以进入临界区。(2)并发进程中的某个进程不在临界区时,它不阻止其他进程进入临界区。(3)并发进程中的若干个进程申请进入临界区时,只能允许一个进程进入。(4)从并发进程中的某个进程申请进入临界区时开始,应在有限时间内能够进入其临界区简言之:1空闲让进;2忙则等待;3让权等待;4有限等待*3.5.2互斥的加锁实现实现互斥的一种软件方法是对临界区加锁。设临界区的类名为S,为了保证每一次临界区中只能有一个程序段被执行,又设锁定位Key[S],Key[S]表示该锁定位属

文档评论(0)

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

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

1亿VIP精品文档

相关文档