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

Linux基础教程(清华课件)-第2章处理机管理.ppt

Linux基础教程(清华课件)-第2章处理机管理.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 执行状态、暂停状态和就绪状态构成第三个回路。当接收到某种特殊的信号,比如SIGSTOP(Linux的停止信号)时,处于执行状态的进程放弃CPU,保护现场之后,进入暂停状态,直到获得另外一个特殊的信号才进入就绪状态。 一个处于执行状态的进程调用退出函数exit之后,进程就会进入僵死状态,这种状态下,进程释放了PCB之外的所有系统资源。也就是说,它在系统中只留下这个进程的一个PCB。 僵死进程的父进程通过PCB了解到该进程所处的状态后,采取相应的处理措施,回收PCB,这个进程就完成了它的使命,从僵死走向彻底消亡,上图右上方的虚箭头表示了这种结局。 2.2.4 进程控制 进程控制,是指对系统中的全部进程实施有效的管理,使得进程能够及时创建、撤销,正确地完成进程各状态之间的转换,使得多个进程高效率并发执行,达到系统资源高度共享的目的。 进程状态之间的转换转换通常由三种不同的方式控制:进程控制原语、系统核心函数(比如调度)、和外部事件发生(比如中断)。 这里说的所谓原语, 指系统状态下执行的一些具有特定功能的程序段, 这些程序段具有“原子性” ,是执行过程中不可分割的最小单位。用于进程控制的原语有:创建原语、撤销原语、阻塞原语、唤醒原语等。 (1) 创建原语 进程创建原语用于建立一个新的进程,这个新进程可以由内核调用进程创建原语建立,也可以由父进程执行进程创建原语生成一个子进程,子进程还可以生成子进程,以形成树形进程家族结构。进程创建原语的主要任务是形成进程的PCB, 因此,调用者必须提供有关的参数,例如进程名、进程优先级、进程正文段起始地址、资源清单等。 (2) 撤销原语 当一个进程完成了指定的任务或由于某种错误导致异常终止时,要撤销这个进程以便释放进程占用的资源。进程撤销原语根据调用者提供的信息,找到指定的进程,回收其占用的资源和PCB。 (3) 阻塞原语 当正在运行的进程需要等待某一事件,由自己调用阻塞原语把自己阻塞起来成为等待状态。阻塞原语主要完成保护CPU现场的工作, 即首先中断处理机保存该进程的CPU现场,然后把被阻塞的进程置为等待状态,插入到相应的等待队列,最后转入进程调度程序,从就绪队列中选择一个进程投入运行。 (4) 唤醒原语 当处于等待状态的进程所等待的事件出现时,由发现者进程调用唤醒原语唤醒被阻塞的进程。 进程控制原语由系统执行。同时,操作系统还提供了一些用于进程控制的系统调用和操作命令,用户可以通过程序或者命令的方式控制进程。 2.2.5 进程约束 现代操作系统中,程序并发执行,多个进程各自独立地运行,同时竞争和共享系统中有限的资源,这种竞争与合作构成了系统进程之间的约束关系。每个进程独立地申请和释放系统资源,把申请某一类资源的进程称为该类资源的消费者,把释放同类资源的进程称为该类资源的生产者,就得到描述进程约束关系的一般模型:生产者-消费者问题,也称为有界缓冲区问题。 比较简单的情况,两进程共享一个长度为N(N0)的有界缓冲区,一个进程Pp往缓冲区中送数据,是生产者,另一个进程Pc从缓冲区中读取数据,是消费者,如图2.4,下面来讨论它们间的约束关系。 图2.4 简单的生产者-消费者问题 首先,生产者进程Pp和消费者进程Pc共享同一个有界缓冲区,对这个缓冲区的操作必须是独占的。这种不允许多个并发进程交叉执行的资源称为临界资源,临界的程序段资源称为临界部分或临界区。临界资源是由于不同并发进程共享某个资源造成的,不可能通过增加资源的方法解决。这种因为共享某一公有资源而引起的在临界资源内不允许并发进程交叉执行的现象,称为进程间的间接约束。 由于对临界资源的共享,而产生了临界区问题。对于有着临界区问题的并行进程之间必须互斥,以保证不会同时进入临界区。 其次,对生产者进程Pp和消费者进程Pc访问共享有界缓冲区的顺序有严格的要求。具体来讲,这种限制为: (1) 消费者进程Pc要接收数据时,有界缓冲区必须至少有一个单元是满的; (2) 生产者进程Pp要发送数据时,有界缓冲区必须至少有一个单元是空的。 这样存在一组相互独立的并发进程,各自的执行结果互为对方的执行条件,从而限制各进程执行速度的过程,称为进程间的直接制约。存在直接制约关系,相互发送消息进行互相合作、互相等待,各自按照一定的速度向前推进的过程称为同步。 消费者进程和生产者进程之间因为共享缓冲区,相互竞争而间接制约,具有互斥关系,同时相互以对方的运行结果为条件而直接制约,也具有同步的关系,是一对同时具有竞争和合作的进程。 在

文档评论(0)

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

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

1亿VIP精品文档

相关文档