王道 —— 进程的定义、组成、组织方式、特征

1、知识总览

在这里插入图片描述

2、进程的定义

程序:就是一个指令序列;

早期计算机只支持单道程序,因此在计算机中同一时间段内只能有一道程序运行,CPU、内存、I/O设备只为这个程序服务,内存之中也只会存放与该程序相关的信息;

内存中同一时间段内只会存在一个程序相关的数据,程序运行相关的数据包括程序段、数据段两个部分,其中程序段保存的是程序的代码本身,也就是程序的指令序列,数据段存放的是程序运行过程中处理的数据;

引入多道程序技术之后,计算机中同一时间段可以有多道程序并发运行,内存中相应地也会多道程序相关的数据,由于这个阶段内存中要存放多个程序的数据,操作系统作为这些系统的管理者,要让程序实现并发执行,需要找到各个程序代码所存放的位置,也就是各个程序的程序段分别在什么位置。系统中的各种I/O设备和其它资源也可能被分配给不同的程序,每一个运行程序分配有哪些系统资源都需要进行记录,以方便操作系统进行管理;

为了方便操作系统管理,完成各程序并发执行,引入了进程、进程实体的概念;操作系统会为每个运行的程序配置一个数据结构,称为进程控制块(PCB),用来描述进程的各种信息(如程序代码块存放位置);

在这里插入图片描述

由PCB、程序段、数据段三部分构成了进程实体(进程映像);

一般情况下,我们把进程实体简称为进程;例如,所谓创建进程,实质上是创建进程实体中的PCB;而撤销进程,实质上是撤销进程实体中的PCB;注意,PCB是进程存在的唯一标志;

从不同的角度,进程可以有不同的定义,比较传统典型的定义有:

  1. 进程是程序的一次执行过程;
  2. 进程是一个程序及其数据在处理机上顺序执行时所发生的活动;
  3. 进程是具有独立功能的程序在数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位;

进程强调“动态性”;

注:严格来说,进程实体和进程并不一样,进程实体是静态的,进程则是动态的。除非专门讨论两者的区别,否则可以认为进程实体就是进程,因此我们可以说“进程由程序段、数据段、PCB三部分组成”;

3、进程的组成

在这里插入图片描述

进程(进程实体)由程序段、数据段、PCB三部分组成;

  • 程序段:存放程序代码;
  • 数据段:程序运行时,产生的运算数据,如全局变量、局部变量、宏定义的常量就存放在数据段内;
  • PCB:操作系统通过PCB来管理进程,因此PCB中包含操作系统对其进行管理所需的各种信息;
    在这里插入图片描述

4、进程的组织方式

在一个系统中,通常由数十、数百乃至数千个PCB,为了能对它们加以有效的管理,应该用适当的方式把PCB组织起来;

进程的组成讨论的是要给进程内部由哪些部分组成的问题,而进程的组织讨论的是多个进程之间的组织方式问题;

在这里插入图片描述

进程的组织方法分为两种:
在这里插入图片描述

  • 链接方式:操作系统按照进程状态将PCB分为多个队列,操作系统持有指向各个队列的指针;

在这里插入图片描述

  • 索引方式:根据进程状态的不同,建立几张索引表,操作系统持有指向各个索引表的指针;

5、进程的特征

在这里插入图片描述

进程和程序是两个不同的概念,相比于程序,进程拥有以下特征:

  • 动态性:进程是程序的一次执行过程,是动态地产生、变化和消亡的;
  • 并发性:内存中有多个进程实体,各进程可并发执行;
  • 独立性:进程是能独立运行、独立获得资源、独立接受调度的基本单位;
  • 异步性:各进程各自独立的、不可预知的速度向前推进,操作系统要提供“进程同步机制”来解决异步问题;
  • 结构性:每个进程都会配置一个PCB。结构上看,进程由程序段、数据段、PCB组成;

动态性是进程最基本的特征;
进程是资源分配、接受调度的基本单位;
异步性会导致并发程序执行结果的不确定性;

6、知识总结

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_37388085/article/details/108506947
今日推荐