程序的顺序执行

按照先后顺序执行,仅当前操作执行完后,才能执行后继操作。

程序顺序执行时的特征:

  • 顺序性:每一个操作必须在上一个操作结束后开始
  • 封闭性:程序运行时独占全机资源,资源的状态只有本程序才能改变它
  • 可再现性:只要执行时的环境和初始条件相同,程度重复执行都将获得相同的结果。

程序的并发执行

image.png
程序并发执行时的特征:

  • 间断性:并发程序具有“执行-暂停-执行”这种间断性的活动规律
  • 失去封闭性:多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行失去了封闭性。
  • 不可再现性:由于资源共享,也导致了不可再现性

为什么要引入进程?

由于程序在并发执行时,资源共享,导致程序具有不可再现性,为了对并发执行的程序进行控制,故引入了“进程”的概念。

  • 结构特征

通常程序时不能并发执行的。为使程序能独立运行,应该为程序配置进程控制块(Process Control Block,PCB)。
创建/撤销进程,实质上就是创建/撤销进程实体中的PCB。

  • 动态性

动态性是进程最基本的特征。程序只是一组有序的指令集合,因此是静态的;而进程由创建而产生,调度而执行,撤销而消亡。因此,进程实体有一定的生命期,故称为动态的。

  • 并发性

多个进程实体同存于内存中,且能在一段时间内同时运行。
引入进程的目的也正是为了 使其进程实体能和其他进程实体并发执行。

  • 独立性

进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。

  • 异步性

进程按照各自独立的、不可预知的速度向前推进,或说进程实体按异步方式运行。

进程是进程实体的运行过程,是系统资源分配和调度的一个独立单位。

进程的三种状态

  1. 就绪状态

进程已分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行,进程此事的状态称为就绪状态。

  1. 执行状态

进程已获得CPU,其程序正在执行。再单处理机系统中,只有一个进程处于执行状态;在多处理机系统中,则由多个进程处于执行状态。

  1. 阻塞状态

正在执行的进程由于发生某件事而暂时无法继续执行。
通常将处于阻塞状态的进程排成一个队列,或者排成多个队列。