第2章 进程.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 进程

第二章 进程与线程 为了描述程序在并发执行时对系统资源的共享,我们需要一个描述程序执行时动态特征的概念,这就是进程。 在本章中,我们将讨论进程概念、进程控制、进程间关系和进程通信。 2.1 进程的概念 2.1.1 多道程序设计 单道程序严格按照顺序方式执行,顺序程序活动具有顺序性、封闭性和可再现性三个特点: ① 顺序性:指程序所规定的每个动作都在上个动作结束后才开始。 ② 封闭性:指只有程序本身的动作才能改变程序的运行环境。 ③ 可再现性:指程序的执行结果与程序运行的速度无关。 单道程序缺点:资源浪费和效率低等 目前,广泛采用多道程序设计技术 多道程序优点:具有提高资源利用率和增加作业吞吐量的优点,但同时程序的并发执行和系统资源的共享使得采用多道程序技术的操作系统工作变得更复杂,不能象单道程序那样简单、直观。 程序并发执行之所以使操作系统的工作变复杂,是因为它在执行时产生以下三个特征: ① 失去封闭性:并发执行的多个程序共享系统中的资源,因此这些资源的使用状态不再由某个程序所决定,而是受到并发程序的共同影响,多个并发程序执行时的相对速度是不确定的,何时发生控制转换并非由程序本身决定,而是与整个系统当时所处的环境有关,因此有一定的随机性。 ② 程序与计算不再一一对应:程序是静态的概念,由有序指令组成,而“计算”是指令在处理机上的执行过程,是动态的概念。在并发执行过程中,一个被共享的程序可以由多个用户作业调用,从而形成多个“计算”。 ③并发程序在执行时互相制约:并发程序的执行过程并非是顺序性的,而是会走走停停,即“执行-暂停-执行”的活动规律。各个程序的执行状态与当时所处的环进程需资源。这种停顿的原因不是本身造成的,而是由并发的其他的程序相互影响的结果。 2.1.2 进程的概念 1、进程的概念 进程是程序在并发环境中的执行过程。 2、进程与程序区别: 动态性:进程是程序的一次执行过程,有自己的生命过程,会动态产生和消亡,即进程的存在是暂时的,故进程是动态、主动的概念;而程序是一组指令的有序集合,本身可作为软件资源长期保存,其存在是永久的,因此程序是静态、被动的概念。 并发性:进程作为资源申请和调度的单位存在,是可以独立运行的,能与其他进程并发执行;而通常的程序是不能作为一个独立运行的单位来并发运行的。 非对应性:程序和进程不具有一一对应关系。一个程序可能对应多个进程,一个进程可以包含多个程序。如用户使用同一个编译程序进行不同程序的编译,虽然是一个编译程序,但每次编译都要创建不同的进程;而一个进程在执行编译过程中除了调用要编译的源程序外,还要用到预处理程序、连接程序、内存装入程序等等。 异步性:各个进程在并发执行过程中会产生相互制约关系,造成各自前进的速度不具有不可预测性。而程序本身是静态的,并不存在异步特征。 进程的基本特征: 动态性:进程具有生命过程,有诞生、消亡,可以执行也可暂停,可处于不同状态。 并发性:多个进程能够存在于同一内存中,在一定时间内都能得到执行。一个程序的进程可与另一个程序的进程以并发的形式执行,但各个进程向前执行的速度无法预知,以异步形式执行。因此造成进程间的相互制约,使程序具有不可再现性。 调度性:进程是系统中申请资源和调度的单位。操作系统中的调度程序,根据各自不同的调度策略选择合适的进程,并为其运行提供条件。 2.2 进程的状态与转换 2.2.1 进程的状态 通常一个进程至少有三种基本状态: 运行状态(Running):运行状态是指当前进程已经分配到CPU,正在处理机上执行时的状态 就绪状态(Ready):就绪状态是指进程已经具备运行条件,但因其他进程正占用CPU,使其不能运行而只能处于等待CPU的状态。处于此状态的进程数目可以有多个。 阻塞状态(Blocked):又称为等待状态或封锁状态,一个进程正在等待某一事件(如等待某资源成为可用,等待输入输出完成或等待与其他进程的通信等)而暂时不能运行的状态。 除了上述三个基本状态外,又增加了两种基本状态。 新建状态(New):指进程刚被创建时,尚未放入就绪队列时的状态。处于此状态的进程是不完全的。当创建新进程的所有工作完成后,操作系统就把该进程送入就绪队列中。 终止状态(Terminated):指进程完成自己的任务而正常终止时或在运行期间由于出现某些错误和故障而被迫终止时所处的状态。处于终止状态的进程不能再被调度执行,只能被系统撤消。 2.2.2 进程的状态转换 进程在生存期内状态不断发生变化,一个进程可以多次处于就绪状态和运行状态,也可多次处于阻塞状态,但可能排在不同的阻塞队列上。实际上进程状态的转换是需要条件和原因的,各种状态之间的转换如图2.2所示: 2.3 进程的控制 2.3.1进程的描述 1

文档评论(0)

gix469 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档