进程的定义、组成、组织方式、特征
知识总览
进程的定义
早期的计算机(只支持单道程序)
PCB、程序段、数据段三部分构成了进程实体(进程映像),一般情况下,我们把进程实体简称为进程,例如,所谓创建进程,实质上是创建进程实体中的PCB;而撤销进程,实质上是撤销进程实体中的PCB
从不同的角度,进程可以有不同的定义,比较传统典型的定义有:
1.进程是程序的一次执行过程
2.进程是一个程序及其数据在处理机上顺序执行时发生的活动
3.进程是具有独立功能的程序在数据集合上运行的过程,它是系统资源分配和调度的一个独立单位
强调动态性
引入进程的实体概念后,可以把进程定义为:
进程是进程实体的运行过程,是系统进行资源分配和调度的一个基本单位
注:严格来说,进程实体和进程并不一样,进程实体是静态的,进程则是动态的。不过,除非题目专门考察二者区别,否则认为进程的实体就是进程。因此我们也可以说“进程是由程序段、数据段、PCB三部分组成”
PCB
操作系统通过PCB来管理进程,因此PCB中应当包含操作系统对其进行管理所需的各种信息
程序段
程序代码存放在此
数据段
程序运行时使用、产生的运算数据,如全局变量、局部变量。宏观定义的常量存放在数据段内
进程的组成
进程标识符PID 当进程被创建时,操作系统会为该进程分配一个唯一的,不重复的ID,用于区分不同的进程(类似于身份证号)
各种寄存器值 当进程切换时需要把进程当前的运行情况记录下来保存在PCB中,如出现计数器的值表示了当前程序执行到哪一句
进程的管理者(操作系统)所需的数据都在PCB中
程序段、数据段程序本身运行所需的数据
进程的组织
在一个系统中,通常有数十、数百乃至数千个PCB。为了能对他们加以有效的管理,应当用适当的方式把这些PCB组织起来
注:进程的组成讨论的是一个进程内部由哪些部分构成的问题,而进程的组织讨论的是多个进程之间的组织方式问题
进程的组织--链接方式
执行指针 指向当前处于运行状态(执行态)的进程 单CPU计算机中,同一时刻只会有一个进程处于运行态
就绪队列指针 指向当前处于就绪态的进程 通常会把优先级高的进程放在队头
阻塞队列指针 指向当前处于阻塞态的进程,很多操作系统还会根据阻塞原因不同,再分为多个阻塞队列
进程的组织--索引方式
进程的特征
进程和程序是两个截然不同的概念,相比于程序,进程拥有以下特征:
动态性、并发性、独立性、异步性、结构性
动态性 进程是程序的一次执行过程,是动态地产生、变化和消亡的
并发性 内存中有多个进程实体,各进程可并发执行
独立性 进程是能独立运行、独立获得资源、独立接受调度的基本单位
异步性 各进程按各自独立的、不可预知的速度向前推进,操作系统要提供“进程同步机制”来解决异步问题
结构性 每个进程都会配置一个PCB 结构上看,进程由程序段、数据段、PCB组成
动态性是进程最基本的特征 进程是资源分配、接受调度的基本单位
知识回顾