进程和程序有什么区别?
首先,让我们了解一下进程。
进程
进程是正在执行的程序,它不仅仅是程序代码(称为文本段),这个概念在所有操作系统下都适用,因为操作系统执行的所有任务都需要一个进程来执行。
进程也被称为一种活动,它在计算机中用于特定目的,并且涉及许多状态。
进程是一种状态,进程的状态部分由不同的活动来定义,并且进程具有不同类型的状态。
进程包括进程栈,其中包含以下内容:
临时数据,如函数参数、返回地址、局部变量。
数据段包含全局变量。
堆,这是在进程运行时动态分配的内存。
进程如下图所示:
| 栈 |
| - - - |
| 堆 |
| 数据 |
| 文本 |
最大值
程序
程序本身不是进程。程序是一个被动的实体,例如存储在磁盘上的包含指令列表的文件,通常称为可执行文件。
进程是一个活跃的实体,它有一个程序计数器,用于指定要执行的下一条指令,以及一组相关的资源。
当可执行文件加载到内存中时,程序就变成了进程。
区别
程序和进程之间的主要区别以表格形式如下所示:
| 程序 | 进程 | |
|---|---|---|
| 组成 | 任何编程语言中的指令 | 机器码中的指令 |
| 文件系统 | 静态对象 | 动态对象 |
| 驻留在 | 辅助存储器 | 主内存 |
| 时间跨度 | 无限 | 有限 |
| 实体 | 被动 | 主动 |
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP