当前位置:   article > 正文

操作系统 | 第二章 进程管理(一)_分析下面的程序会产生多少个并发执行的进程?请画出进程家族树(进程可用a、b、

分析下面的程序会产生多少个并发执行的进程?请画出进程家族树(进程可用a、b、

目录

一、程序的顺序执行

二、前趋图

三、程序的并发执行及其特征

五、进程的基本状态

 六、进程控制块(PCB)

七、进程的控制


一、程序的顺序执行

各程序按照先后顺序执行,仅当前一操作完成后,后续才能执行。(eg:先输入才能计算a+b)

程序顺序执行的特征:

顺序性、封闭性(程序运行时独占全机资源)、可再现性(程序在相同条件及环境下重复执行得到的结果始终相同)

二、前趋图​​​​​​​

重点:前趋图是一种有向无环图,记为DAG(Directed Acyclic Graph)

前趋图中用节点(各程序段)的有向边表示节点之间的偏序关系(前后执行关系,又称前趋关系)

eg:p_{i}->p_{j} 表示p_{i}p_{j}的前趋,p_{j}p_{i}的后继。

图中没有前趋的点称为初始节点,没有后继的点称为终止节点。

三、程序的并发执行及其特征

在一批程序处理中,例如:输入程序、计算和打印三个操作,可实现第一个程序在计算时,第二个程序在输入的并发执行。

程序并发执行时的特征:

        间断性(不同程序之间共享资源,彼此之间有制约关系,程序的执行会有暂停状态)、失去封闭性、不可再现行(失去封闭性导致失去可再现性,eg:两个循环程序共用一个变量N,不同的执行顺序(间断)可能导致不一样的结果)

四、进程的特征与状态

引入进程的目的:为了对并发的程序加以描述和控制引入进程的概念;

特征:

  • 通常程序是不能并发执行的,为使程序(包含数据)能够独立运行需为其配置进程控制快(PCB)。
  • 由程序段、数据段和PCB三部分构成进程的实体(结构特征)
  • 动态性是进程的基本特征(程序是静态的)
  • 并发性:多个进程实体同时存在内存中,能在同一时间内运行
  • 独立性:进程实体是一个能够独立运行,独立分配资源和独立接受调度的基本单位
  • 异步性:进程按各自独立、不可预知的速度向前推进

五、进程的基本状态

1.就绪状态:进程已分配到除CPU以外的所有资源,再获得CPU资源就可立即执行。系统中可能同时存在多个就绪进程排成一个就绪队列。

2.执行状态:进程获得CPU资源正在执行,系统中只能允许一个进程处于执行状态;

3.阻塞状态:正在执行的进程由于发生某些事件(eg:请求I/O,申请缓冲空间等)而无法继续执行,则放弃处理机处于暂停状态。系统中允许多个进程处于阻塞态。

注意:若进程在执行的过程中由于时间片到而被暂停执行时该进程恢复到就绪态而不是阻塞态

4.挂起状态:将正在执行的进程暂停,恢复到就绪态且进程暂时不接受调度。

引入挂起后,增加了从挂起状态(静止状态)到非挂起状态(活动状态)的转换。

当进程处于未被挂起的就绪态时称为活动就绪态,挂起后变为静止就绪态;

当进程处于未被挂起的阻塞态时称为活动阻塞态,挂起时称为静止阻塞态;

 六、进程控制块(PCB)

当系统创建一个新进程时,就为它建立了一个PCB;进程结束后又回收PCB。

进程控制块中的信息:

        1.进程标识符:用于唯一地标记一个进程,一个进程通常有两种标识符:

        (1)内部标识符:系统为进程分配的唯一标识符;

        (2)外部标识符:由创建者提供,通常是字母和数字;

        2.处理机状态:处理机运行时许多信息都放在寄存器中,当处理机被中断时,所有信息都必须保存在PCB中,以便进程可以重新执行;

        3.进程调度信息:PCB中还存放与进程调度和对换有关的信息包括:进程状态、进程优先级、进程调度需要的其他信息、事件(阻塞的原因);

        4.进程控制信息:程序和数据地址、进程同步和通信机制、资源清单(除CPU外的全部资源清单及已经分配到的资源清单)、链接指针(当前进程队列中下一个进程的PCB地址);

进程控制块的组织方式:1.链接方式       2.索引方式    

七、进程的控制

原语是由若干条指令组成的用于完成一定功能的过程,不可分割,在执行中不能被中断。原语的作用是实现进程的通信和控制

一、进程图

        描述进程的家族关系的有向树,节点代表进程 ,子进程可以继承父进程的所有资源,撤销子进程时要将资源还给父进程,撤销父进程的同时也要撤销它所有的子进程。

        ​​​​​​​        

二、引起创建进程的事件

        (1)用户登陆:用户在终端中登陆时,系统会为该终端创建一个进程并插入就绪队列;

        (2)作业调度:作业调度程序调度到某个作业时将其装入内存,为其分配资源并创建进程;

        (3)提供服务:用户程序提出要求(eg:打印),系统创建一个进程提供该服务;

        (4)应用请求:前三种都是系统内核为其创建一个新进程,而应用请求是基于应用进程的请求由自己创建一个新进程,新进程可以以并发的方式完成特定任务。

三、进程的创建过程

申请空白PCB —> 为新进程分配资源 —>  初始化进程控制块 —> 将新进程插入就绪队列

四、引起进程终止的事件

        (1)正常结束:系统中含有表示进程执行完成的指示,当进程运行到该指示时产生一个中断表示运行完成;

        (2)异常结束:出现故障和错误导致的进程被迫终止;

        (3)外界干预:进程相应外界的请求而终止运行(eg:操作员终止运行)。

五、进程的终止过程

根据被终止的进程标识符找到相应进程的PCB —> 若该进程在执行态则立刻终止 —> 若该进程有子进程将所有子进程终止 —> 收回进程的资源还给其父进程或系统 —> 将该进程的PCB从队列中移除;

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/210356
推荐阅读
相关标签
  

闽ICP备14008679号