程序和进程的区别
1. 程序
当我们执行一个刚刚编译好的程序时,操作系统会生成一个进程来执行该程序。程序的执行通过 GUI 鼠标单击、命令行输入其名称等开始。程序是一个被动实体,因为它驻留在辅助存储器中,例如存储在磁盘上的文件的内容。一个程序可以有多个进程。
2. 进程
术语进程(作业)是指已加载到计算机内存中的程序代码,以便可以由中央处理单元(CPU)执行。进程可以被描述为在计算机上运行的程序的实例,或者可以被描述为可以分配给处理器并在处理器上执行的实体。程序在加载到内存时成为一个进程,因此是一个活动实体。
程序和进程之间的区别:
编号 | 程序 | 进程 |
---|---|---|
1 | 程序包含一组旨在完成特定任务的指令。 | 进程是执行程序的一个实例。 |
2 | 程序是一个被动实体,因为它驻留在辅助存储器中。 | 进程是一个活动实体,因为它是在执行期间创建并加载到主内存中的。 |
3 | 程序存在于一个单一的地方,并继续存在,直到它被删除。 | 进程存在有限的时间跨度,因为它在任务完成后终止。 |
4 | 程序是一个静态实体。 | 进程是一个动态实体。 |
5 | 程序对资源没有要求,只需要存储指令的内存空间。 | 进程对资源的要求很高,在其生命周期内需要 CPU、内存地址、I/O 等资源。 |
6 | 程序没有任何控制块。 | 进程有自己的控制块,称为进程控制块。 |
7 | 程序有两个逻辑部分:代码和数据。 | 除了程序数据之外,流程还需要管理和执行所需的附加信息。 |
8 | 程序不会自行改变。许多进程可以执行一个程序。 | 程序代码可能相同,但程序数据可能不同。这些永远都不一样。 |