
现代操作系统的重要特性是程序的并发性和资源的共享性。这二者相互联系、相互依赖。
为了满足多用户并发计算的要求,现代操作系统是围绕进程这个概念设计和构造的。
在操作系统中,进程是一个极其重要的概念
传统的操作系统中,进程是资源分配和独立运行的基本单位。
操作系统所具有的三大特征也是基于进程而形成的,应从进程的角度来研究操作系统。
在早期的单道程序或单用户系统中,计算机按顺序执行程序,各个用户程序也是顺序执行的。

独占资源,执行过程中不受外界影响
程序运行结果与程序执行速度无关,只要初始状态相同,结果应相同

1.失去封闭性。
由于程序的并发执行,系统中的资源不再为一个程序独占,因此资源的状态也不再由一个程序决定,而是由并发执行的多道程序决定。
程序并发执行时,由于资源共享,使得一些逻辑上相互独立的几道程序之间发生了相互制约关系。相互制约将导致并发程序具有“执行一暂停-执行”这种间断性的活动规律。
用程序这个静态概念已经不能如实反映程序并发执行过程中的这些特征。
进程定义:一个具有独立功能的程序关于某个数据集合的一次运行活动。
简言之,进程是程序在并发环境中的执行过程。
进程最根本的属性是动态性和并发性。
“进程”是操作系统中最基本、最重要的概念之一,它对理解、描述和设计操作系统都有非常重要的意义。
进程是程序的一次执行过程,是一个动态和主动的概念;程序是完成某个特定功能的指令的有序序列,是一个静态和被动的概念。
程序可以作为一种软件资源长期保存;进程有一定生命期,动态生成和消亡。
进程是可以并发执行的
系统中多个进程可按照自己独立的、不可预知的速度推进;程序通常不能作为一个独立运行的单位而并发执行
进程是资源申请和调度单位,进程切换要通过进程调度来实现;而程序的不同模块间通过相互调用实现控制转移。
程序和进程无一一对应关系:
一个程序可被多个进程共用;
一个进程在其活动中又可顺序地执行若干程序
各进程在并发执行过程中相互制约,造成各自前进速度的不可预测性。
程序是静态的,不具备异步特征。
进程是程序的一次执行过程,它是临时的、有生命期的。表现在它由创建而产生,完成任务后被撤消。
进程是可以并发执行的。系统中的各个进程可以按照自己独立的、不可预知的速度推进。
进程是系统进行资源分配和调度的一个独立单位.
各进程向前推进的速度不可预知
进程有一定的结构(程序+数据+PCB)
进程占有CPU,并在CPU上执行
处于这种状态的进程的个数不能大于CPU的数目
一个进程已经具备运行条件,但由于无CPU暂时不能运行的状态(当调度给其CPU时,立即可以运行)
如果系统中共有N个进程,则就绪进程至多为N-1个
指进程因等待某种事件的发生而暂时不能运行的状态。
(即使CPU空闲,该进程也不可运行)
上述三种状态是进程最基本的状态,在实际的操作系统实现中,进程远不止这三种状态。
进程从无到有是由创建而产生,故它的起点应为新建状态(New)
当进程运行完成时要消亡,此时的状态为终止状态(Terminated)
终止状态(Terminated)
三种状态的相互转换如下图所示

进程的5种基本状态及其转换


在进程生存期间,由于进程自身进展情况及外界环境的变化,进程的状态可以依据一定的条件相互转换:
①新建→就绪
②就绪→运行
③运行→阻塞
④阻塞→就绪
➄运行→就绪
⑥运行一终止
就绪 -->运行
运行 --> 就绪
运行 -->阻塞
当一进程必须等待时
阻塞 --> 就绪
进程在系统中存在和活动的实体‘
进程映像通常由4部分组成:
1.程序 2.数据集合 3.栈 4.PCB

进程控制块:(Process Control BlockPCB)也称为进程描述块,它是进程组成中最关键的部分,其中含有进程的描述信息和控制信息,是进程动态特性的集中反映,是系统对进程施行识别和控制的依据。
进程控制块一般包括以下内容 (1)进程标识信息
(2)处理器状态信息
(3)进程控制信息
希望对你有帮助!加油!
若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!