进程的描述与控制

一.程序执行

       在单道批处理系统和早期未配置os的计算机系统中,程序的执行方式是顺序执行,即在内存中仅装入一道程序,由它独占系统的所有资源,只有在一个程序执行之后,才允许装入另一个程序并执行(即顺序执行)。

       在多道程序系统中,由于内存中可以同时装入多个程序,它们可以共享系统资源并发执行。程序并发执行时的特征使得在os中引入进程的概念非常必要

①程序的顺序执行

       一个程序由于若干个程序段组成,每个程序负责完成特定的功能,并且它们都需要按照某种先后顺序运行,仅当前一道程序运行后,才会运行后一道程序段。

特征:

顺序性

       顺序执行语句,即每个操作都必须在下一个操作开始前结束

封闭性

       程序独占全机资源,只有本程序才能改变资源状态

可再现性

       无论怎么执行,获得结果相同,为检测和校正程序错误带来很大方便

②程序的并发执行

       程序顺序执行虽然给程序员带来方便,但系统资源的利用率极其低下,因此引入多道程序技术,使程序能并发执行。并给所有程序都能并发执行,只有不存在前趋关系的程序才能够并发执行。

例如:

S₁: a:=x+2;

S₂: b:=y+4;

S₃: c:=a+b;

S₄: d:=c+b;

进程的描述与控制_第1张图片

     如图,S₃必须在a和b被赋值后才能执行;S₄必须在S₃之后才能执行;但S₁和S₂则可以并发执行,因为它们彼此互不依赖。

特征:

间断性

       程序开发并执行时,由于它能共享系统资源,以及为完成同一项任务而相互合作,这些并发执行的程序之间行成了相互制约关系。

失去封闭性

       系统存在多个可以并发执行的程序时,系统的各种资源将为它们共享,而这些资源的状态也会由这些程序来改变,致使任一程序在执行时的执法环境收到其它程序的影响(如:当处理机被分配的完全后,其它程序必须等待)

不可再现性

       程序并发执行时,由于失去封闭性,其计算结果必将与并发程序的执行速度有关,使程序失去了可再现性,即程序多次执行,虽然多次执行时的环境和初始条件相同,但得到的结果不同。

二.进程的描述

一.进程的定义

由于程序的不可再现性,程序通常是不能参与并发执行的,否则程序就失去了执行意义。

为了使参与并发执行的每个程序都能独立运行,在OS中必须为之配置一个专门的数据结构,称之为进程控制块(process control block,PCB)。系统利用PCB来描述进程的基本情况和活动过程,进而控制和管理进程。这样,由程序段,相关的数据段和PCB这三个部分便构成了进程实体,即进程。创建进程即创建进程PCB。

进程不同角度的三个定义

①进程是程序的一次执行

②进程是一个程序及其数据在处理机上顺序执行时所发生的活动

①进程是具有独立功能的程序在一个数据集上执行的过程,它是系统进行资源分配和调度的一个单位

二.进程的特征

  1. 动态性:进程的实质是程序的执行过程

  2. 并发性:多个进程共存于内存中,且能在一段时间内同时进行
  3. 独立性:独立性是指进程是一个能够独立运行,独立接受调度的基本单位
  4. 异步性:进程按各自独立不可预知的速度向前推进。

三.进程的三种状态

  • 就绪状态:分配到除PCB以外的所有必要资源后
  • 执行状态:进程活的PCB后其程序正在执行状态
  • 阻塞状态:正在执行的进程由于发生某种事件(如I/O请求,申请缓冲区失败等)而暂时无法继续执行。

四.进程三种状态的转换

进程的描述与控制_第2张图片

 五.创建状态和中止状态

一.创建状态

创建进程的步骤:

  1. 由一个进程申请一个空白PCB,并向PCB中填写用于控制和管理进程的信息
  2. 为该进程分配运行时所需的资源
  3. 把该进程的状态转化为就绪状态并将其插入就绪队列之中

如果进程所必须的资源尚不能得到满足,如系统尚无足够的内存来存储进程,此时创建工作尚未完成,进程不能被调度运行,此时进程的状态就被称为创建状态(或新建状态)。

二.终止状态

  1. 等待OS进程善后处理
  2. 将进程PCB清零,并将PCB空间返还OS

三.挂起操作和进程状态转换

一.挂起操作的引入原因

终端用户的需求

终端用户的程序在运行期间发现可疑问题,希望暂停程序运行,以便研究其运行情况或或对其进行修改。

父进程的需要

考察和修改该子进程或者协调各子进程之间的活动

负荷协调的需要

系统中的工作负荷较重,影响对实时任务的控制,系统可以把一些不重要的进程挂起

OS需要

挂起进程以便检查进程在运行过程中的资源使用情况或进行记账

二.引入挂起操作后进程五个基本状态间的转换

进程的描述与控制_第3张图片

 

 

 

你可能感兴趣的:(服务器,后端,架构,分布式,系统架构)