程序,可执行文件和进程之间的区别是什么?

时间:2012-10-21 16:39:16

标签: operating-system

我想知道程序,可执行文件和a之间有什么区别 过程

10 个答案:

答案 0 :(得分:8)

简单来说 -

程序:程序是一组人类可读格式的指令。(HelloWorld.c)

可执行文件:可执行文件是程序的编译形式(HelloWorld.exe文件)

进程:进程是由OS运行的可执行文件。您在任务管理器或任务列表中看到的那个(当我们双击它时,HelloWord.exe进程。)

答案 1 :(得分:7)

程序或计算机程序本质上为操作系统或计算机提供了序列指令(或算法,如果您愿意)。这些计算机程序以可执行的形式提供,操作系统识别并可用于直接执行指令。

本质上,可执行文件是一种格式的文件,计算机可以直接执行,而源文件不能直接执行,必须先编译。可执行文件是编译的结果。我提到操作系统识别可执行文件,它是通过扩展程序识别的。用于Windows可执行文件的常见扩展名是.exe。

执行可执行文件后,进程开始。进程只是计算机程序的一个实例。您可以将进程视为执行计算机程序中包含的指令。在Windows计算机上查看任务管理器时,您可以看到所有当前进程。处理自己的资源,例如虚拟内存,操作系统描述(句柄,数据源,接收器等),安全属性以及有效处理所需的各种其他元素。

答案 2 :(得分:1)

一个过程基本上是一个执行中的程序。与每个进程相关联的是其地址空间,即从0到某个最大值的内存位置列表,该进程可以读取和写入。地址空间包含可执行程序,程序的数据及其堆栈。与每个进程相关联的还有一组资源,通常包括寄存器(包括程序计数器和堆栈指针),打开文件列表,突出警报,相关进程列表以及运行程序所需的所有其他信息。 。流程基本上是一个容器,其中包含运行程序所需的所有信息,该程序是由用户/开发人员定义的一组指令。

答案 3 :(得分:1)

程序是一组指令和被动实体。程序是进程的一部分,而进程正在运行程序状态,它是系统中的一个工作单元。

答案 4 :(得分:1)

程序:它是一个被动实体,就像存储在硬盘上的文件内容一样。换句话说,它就像磁盘上的另一个文本文件。大多数情况下,它将采用人类可读的格式(例如:.java文件)。

可执行文件:它又是一个被动实体。它只是磁盘上的另一个文件,它是通过编译程序派生的。因此,它是Program文件的机器可读版本(例如:.class文件。)。请注意,它仍然位于磁盘上,目前尚未执行。

流程:它是Program / Executable的活动部分。程序/可执行文件加载到内存(RAM)并执行称为进程。流程由一组指令组成。 CPU逐个执行这些指令。(例如:JVM加载.class文件并向CPU发出指令)。
此外,您可以让两个进程执行相同的Program / Executable。

答案 5 :(得分:0)

程序是一些高级语言的源文件集合,您可以编写它们来执行某些操作 函数,例如,实现排序列表的C ++文件。可执行文件是编译器的文件 从这些包含可在CPU上执行的机器指令的源文件创建。一个过程就是 在CPU和内存中主动执行可执行文件。它包括内存管理 信息,当前的PC,SP,HP,寄存器等

答案 6 :(得分:0)

流程是计划的一部分。过程是特定程序逻辑存在的部分。 程序作为一组过程给出。在某些情况下,我们可能会将问题分成若干部分。在这些时候,我们为每个被称为过程的部分编写一个单独的逻辑。

答案 7 :(得分:0)

请考虑这样。

程序是蓝图。就像建筑的蓝图一样。没有建筑物,而是建筑物外观的抽象。

流程是建筑的实际建筑,是根据蓝图建造的。

在建造建筑物时,有很多事情同时发生。您正在准备混凝土,同时建造多个房间,铺设电缆等。这些将是线程。

答案 8 :(得分:-4)

没有区别。记住,没有勺子。

答案 9 :(得分:-4)

  1. 程序是一个静态实体,但是进程是一个动态实体。

  2. 程序只是包含在文件中。其中一个进程是一个正在执行的程序。

  3. 3.Program不使用CPU resister set但进程使用CPU resister set来存储中间和最终结果。