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

Unix 程序、可执行文件和进程之间的区别是什么?,unix,operating-system,Unix,Operating System,程序、可执行文件和进程之间的区别是什么?程序是用某种高级语言编写的源文件的集合,您编写它是为了执行某些操作 函数,例如,实现排序列表的C++文件。可执行文件是由编译器生成的文件 从这些源文件创建包含可在CPU上执行的机器指令的文件。过程就是过程 在CPU和内存中主动执行可执行文件。它包括内存管理 信息、当前PC、SP、HP、寄存器等无差异。记住,没有勺子。简单地说- 程序:程序是一组人类可读格式的指令。(HelloWorld.c) 可执行文件:可执行文件是程序的编译形式(HelloWorld.e

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

程序是用某种高级语言编写的源文件的集合,您编写它是为了执行某些操作 函数,例如,实现排序列表的C++文件。可执行文件是由编译器生成的文件 从这些源文件创建包含可在CPU上执行的机器指令的文件。过程就是过程 在CPU和内存中主动执行可执行文件。它包括内存管理
信息、当前PC、SP、HP、寄存器等无差异。记住,没有勺子。

简单地说-

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

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


进程:进程是操作系统正在运行的可执行文件。您在任务管理器或任务列表中看到的程序(当我们双击它时,HelloWord.exe进程)。

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

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


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

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

  • 程序是一个静态实体,但过程是一个动态实体

  • 程序只不过是包含在文件中的程序。其中进程是正在执行的程序


  • 3.程序不使用CPU电阻集,但进程使用CPU电阻集来存储中间和最终结果。

    进程基本上是一个正在执行的程序。与每个进程相关联的是它的地址空间,即从0到某个最大值的内存位置列表,进程可以读取和写入这些位置。地址空间包含可执行程序、程序数据及其堆栈。与每个进程相关联的还有一组资源,通常包括寄存器(包括程序计数器和堆栈指针)、打开文件列表、异常警报、相关进程列表以及运行程序所需的所有其他信息。进程基本上是一个容器,它保存运行程序所需的所有信息,它是由用户/开发人员定义的一组指令。程序是一组指令和一个被动实体。当进程处于程序运行状态时,程序是进程的一部分,是系统中的一个工作单元。

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

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

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

    这样考虑

    计划就是蓝图。就像一座建筑的蓝图。这里没有建筑,而是对建筑外观的抽象描述

    过程是根据蓝图建造的建筑物的实际施工

    在建造一座建筑物时,有许多事情同时发生。你正在准备混凝土,同时建造多个房间,铺设电缆等。这些都是螺纹