程序与进程的区别是什么?

如题所述

1)程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体。而进程则不同,它是程序在某个数据集上的执行。进程是一个动态的实体,它有自己的生命周期。它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤消。反映了一个程序在一定的数据集上运行的全部动态过程。

2)进程和程序并不是一一对应的,一个程序执行在不同的数据集上就成为不同的进程,可以用进程控制块来唯一地标识每个进程。而这一点正是程序无法做到的,由于程序没有和数据产生直接的联系,既使是 执行不同的数据的程序,他们的指令的集合依然是一样的,所以无法唯一地标识出这些运行于不同数据集上的程序。一般来说,一个进程 肯定有一个与之对应的程序,而且只有一个。而一个程序有可能没有与之对应的进程(因为它没有执行),也有可能有多个进程与之对应(运行在几个不同的数据集上)。

3)进程还具有并发性和交往性,这也与程序的封闭性不同。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-03-20

第2个回答  2022-09-20

程序是完成特定任务的一系列指令集合。

从用户的角度来看进程是程序的一次动态执行过程。

从操作系统的核心来看,进程是操作系统分配的内存、CPU时间片等资源的基本单位。

进程是资源分配的最小单位,每一个进程都有自己独立的地址空间与执行状态。

像Unix这样的多任务操作系统能够让许多程序同时运行,每一个运行着的程序就构成了一个进程。

Linux中进程与程序的区别

1、进程是动态的,程序是静态的

程序是静态的,它只是一组指令的集合,不具有任何的运行意义;而进程是程序运行的动态过程。

2、进程的生命周期是相对短暂的,而程序是永久的

3、一个进程只能对应一个程序,一个程序可以对应多个进程

进程和程序并不是一一对应的关系,相同的程序运行在不同的数据集上就是不同的进程

4、进程还具有并发性和交往性,而程序却是封闭的

相似回答