程序与流程之间的差异

作者: Laura McKinney
创建日期: 2 四月 2021
更新日期: 5 可能 2024
Anonim
[程序员小飞]如何最通俗、简单理解循环语句|事例解释循环语句|break和continue的区别看这个就够了
视频: [程序员小飞]如何最通俗、简单理解循环语句|事例解释循环语句|break和continue的区别看这个就够了

内容


程序和过程是相关术语。程序与过程之间的主要区别在于,程序是一组执行指定任务的指令,而过程是正在执行的程序。虽然进程是主动实体,但程序被视为被动程序。

进程与程序之间存在多对一的关系,这意味着一个程序可以调用多个进程,换句话说,多个进程可以成为同一程序的一部分。

  1. 比较表
  2. 定义
  3. 关键差异
  4. 结论

比较表

比较依据程序
处理
基本的
程序是一组指令。
执行程序时,称为过程。
性质
被动
活性
寿命
长一点有限
所需资源
程序以某些文件存储在磁盘上,不需要任何其他资源。进程拥有诸如CPU,内存地址,磁盘,I / O等资源。

程序定义

一种 程序简而言之,可以视为系统活动。在批处理系统中,这些称为执行作业,而在实时操作系统中,这些称为任务或程序。用户可以运行多个程序,其中操作系统使用某些技术来促进其自身的内部编程活动,例如内存管理。

一个程序是一个 被动实体 例如,包含要执行的一组指令的文件(可执行文件)。之所以这样称呼它是因为它本身并不执行任何操作,必须执行它才能实现其中指定的操作。

程序的地址空间由指令,数据和堆栈组成。假设P是我们正在编写的程序,为了实现P的执行,操作系统将分配内存以容纳P的地址空间。


它安排P的执行时间,并设置一种安排,P可以通过该安排访问文件信息。因为虚线框中的CPU并不总是执行P的指令,所以它显示在虚线框中。实际上,OS在P的执行与其他程序的执行之间共享CPU。

工艺的定义

一种 处理 是程序的执行。它被认为是 活动实体 并实现程序中指定的动作。多个进程可以与同一程序相关。它通过以下方式处理操作系统活动 PCB(过程控制块) 其中包括程序计数器,堆栈,状态等。程序计数器存储下一条要在以后执行的指令序列。

它需要诸如处理,内存和I / O资源之类的资源来完成管理任务。在程序执行期间,它可能参与使过程不同于程序的处理器或I / O操作。

让我们通过一个例子来理解这一点;我们正在编写一个C程序。在将程序编写和存储在文件中时,它只是一个脚本,不会执行任何操作,但是在执行时它变成了过程,因此过程本质上是动态的。当前机器采用多个进程之间的资源共享,但是实际上单个处理器分布在多个进程之间。

  1. 程序是一定的一组 有序操作 将要执行的。另一方面, 实例 一个正在执行的程序是一个过程。
  2. 程序的性质是被动的,因为它在执行之前不执行任何操作,而进程本质上是动态的或主动的,因为它是执行程序并执行特定操作的实例。
  3. 一个程序有一个 更长 寿命,因为它存储在内存中,直到在进程较短且时间较短时没有被手动删除为止 有限 寿命,因为它在任务完成后被终止。
  4. 在过程中,资源需求要高得多;它可能需要处理,内存,I / O资源才能成功执行。相反,程序只需要内存即可存储。

结论

程序和过程是相关的,但互不相同。程序只是存储在磁盘上的脚本,或者似乎是该过程的前一阶段。相反,该过程是程序正在执行的事件。