1.进程
进程由程序和相关的数据组成,是程序的一次执行。这是一个动态的概念,在现代操作系统中,进程是进行资源调度和分配的独立单位。
进程一般存在3种状态:就绪态,阻塞态和运行态。
- 就绪态指的是程序运行所需的资源都已经就绪,等待操作系统为其分配CPU资源
- 运行态指的是程序正在占用CPU等资源在执行
- 阻塞态指的是程序运行过程中由于需要请求外部资源,例如I/O资源等,而无法继续执行,从而主动放弃当前拥有的CPU资源转而等待所求资源。
在系统中,进程之间存在同步和互斥关系,一般是通过信号量机制来实现的。
- 互斥指的是一个进程正在访问临界资源,另一个要访问该资源的进程必须等待;
- 同步指的是进程间通过某种通信机制实现信息交互。
2.程序
程序是指令的有序集合,对一系列动作执行过程的描述,是一个静态的概念。
3.进程与程序的区别
- 进程是动态的,程序是静态的
- 进程是程序和相关的数据在计算机上的一次执行过程,没有静态的程序也就没有动态的执行
- 程序可以以某一种形式存在于存储介质上,而进程只能在运行时存在于计算机的内存中。