7.2 进程和程序的区别
要说明进程和程序的区别,首先要了解什么是程序。简单地说,可以将程序看作是对一系列动作执行过程的描述,所以程序只是指令的有序集合,是一个静态的概念。比如说你打开最常用的编辑器,编辑了一段能打印出一些字符的代码,如果你使用的是编译型的语言(比如C语言),对该源代码进行编译连接后,形成的文件就是一个二进制程序。
进程和程序之间既有区别又有天然的联系。进程是动态的,而程序是静态的,进程是程序以及数据在计算机上的一次执行,没有静态的程序也就没有动态的执行。程序是可以以某种形式保存在存储介质上的,而进程只能在运行时存在于计算机的内存中。
以现实生活中的事情来举例,如果说做一件事情需要经过若干既定的步骤,这些步骤可以被写成清单静态地列在纸上,那么它们就是广义上的“程序”,而只有真正开始将计划的步骤付诸实施的过程才是“进程”。