进程管理

一、程序并发执行

   程序的I(输入)、C(计算)、P(输出)三者之间存在Ii→Ci→Pi这样的前趋关系,对一个作业的输入、计算、打印三个操作,必须顺序执行,但并不存在Pi→ Ii+1关系,因而在对一批程序处理时,可使它们并发执行。并发执行是指两个程序的执行在时间上是重叠的。

1、程序并发执行的前趋图:

程序并发执行的前趋图

2、并发执行的特点:相互制约性、失去封闭性、不可再现性。 

并发程序已与程序的执行顺序有关,失去了封闭性和可再现性。

例1:有两个循环程序A和B,共享一个变量N。

      程序A每执行一次做:N=N+1

      程序B每执行一次做:print(N),然后置N=0

      程序A和B独立地并行工作,可能出现三种情况(假定某时刻N的值为n):

  情况1:N=N+1;  print(N); N=0;

  结果:   输出 n+1;    N=0

  情况2:print(N);  N=N+1; N=0;

  结果:   输出 n;    N=0 

  情况3:print(N);N=0; N=N+1; 

   结果:   输出 n;    N=1

 3、程序或程序段并发执行的条件:  

若两个程序段p1p2能满足下述条件,它们便能并发执行,具有可再现性。该条件称为Bernstein(伯恩斯坦)条件。

        R(p1) ∩ W(p2) ∪ R(p2) ∩ W(p1) ∪W(p1) ∩ W(p2) = { }

        R(pn)——pn的读集、W(pn)——pn的写集、

        ∩——“与”运算、∪——“或”运算    {}——空集。

例:S1:a=x+y         R(S1)={x,y},W(S1)={a}

       S2:b=z+1         R(S2)={z},W(S2)={b}

R(S1) ∩W(S2) ∪ R(S2) ∩W(S1) ∪W(S1)∩W(S2)={ };因此S1,S2可以并发执行

二、​进程

1、进程的定义

   在操作系统中,进程有如下几种定义:

  Ÿ 1.进程是程序的一次执行过程。

  Ÿ 2.进程是可以和别的计算并行执行的计算。

  Ÿ 3.进程可定义为一个数据结构及能在其上进行操作的一个程序。

  Ÿ 4.进程是程序在一个数据集合上运行的过程,是系统进行资源分配和调度的一个独立单位。

  Ÿ 5.进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。

2、进程和程序的区别

      1)进程是一个动态概念,程序是静态概念,程序是指令的有序集合,无执行含义,进程则强调执行的过程。

      2)进程具有并行特征(独立性、异步性:在不考虑资源共享的情况下,各进程的执行是独立的,执行速度是异步的),程序则没有。

      3)不同的进程可以包含同一个程序,同一程序在执行中也可以产生多个进程。

      4)并发性

      5)独立性

3、进程的表示和调度

进程通常由程序、数据集和进程控制块(ProcessControl Black,记为PCB)组成。进程的程序部分描述了进程所要完成的功能。数据集部分包括程序在执行时所需的数据和工作区。程序和数据集是进程存在的物质基础,即进程的实体。进程控制块包含进程的描述信息和控制信息,是进程的动态特性的集中反映。

进程的组成

1.进程控制块

       为描述进程的动态变化,便于系统对进程进行有效的控制和管理,系统中为每一进程设置一个进程控制块。进程控制块是进程存在的惟一标志。当系统创建一个进程时,系统为其创建一个PCB,当进程被撤消时,系统收回它的PCB,该进程就消亡了。

   不同的操作系统其PCB的格式和所含的信息不同。一般PCB含如下的信息:

  进程标识名或标识号:系统中每个进程有唯一的表示符,以便系统识别。

  位置信息: 进程的程序和数据部分在内存或外存中的物理位置。

  状态信息: 进程当前所处的状态(执行、就绪、阻塞等)。

  进程的优先级:相对于其他进程的优先级。

  进程现场保护区:当进程暂时不在CPU上运行时各状态保护起来,以便再次进入CPU时恢复现场。

  资源清单:指出资源需求、分配和控制信息。

  队列指针或链接字: 用于将处于同一状态的进程链接成一个队列,在该单元中存放下一进程的PCB首址。

  其它信息:视系统而定。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值