📜  工作、任务和流程之间的区别

📅  最后修改于: 2022-05-13 01:56:11.677000             🧑  作者: Mango

工作、任务和流程之间的区别

先决条件: 操作系统中的进程管理、帮派调度介绍

介绍 :
工作是需要完成的工作。
任务是需要完成的一项工作。
该过程是为特定目的而执行的一系列操作。
工作和任务定义了要完成的工作,而流程定义了工作的完成方式或工作应该如何完成。

进入他们三个的计算意义,这里是一个简单的介绍——

1. 过程:

  • 进程是一个正在执行的程序。程序可以定义为一组指令。
    程序是被动实体,进程是主动实体。当我们执行一个程序时,它保留在我们系统的硬盘上,当这个程序进入主内存时,它就变成了一个进程。
    该进程可以存在于硬盘驱动器、内存或 CPU 上。
    例子 -
    在 windows 中,我们可以在 windows 任务管理器中看到每个进程(正在运行)。在后台运行的所有进程都在任务管理器的进程选项卡下可见。
    另一个例子可能是一个在后台运行的打印机程序,而我们在屏幕上执行一些其他任务。该打印机程序将被称为进程。
  • 一个进程在执行时会经历许多状态。其中一些状态是启动、就绪、运行、等待或终止/执行。这些名称没有标准化。这些状态显示在流程状态转换图或流程生命周期中。
  • 可以同时执行多个进程。当多个进程同时执行时,需要决定哪个进程需要先执行。这称为进程调度或进程调度。因此,进程也称为可调度和可执行的单元。
  • 一个进程有一定的属性,一个进程也有一个进程内存。进程的属性有进程id、进程状态、优先级等。
    进程内存分为 4 个部分——文本部分、数据部分、堆和堆栈。
  • 该进程还提供进程间通信。当执行多个进程时,进程之间需要使用通信协议进行通信以保持同步。
  • 要进一步了解流程的详细信息,您可以参考 - 流程管理简介。

2. 任务:



  • 任务是正在执行的工作单元。操作系统中的任务可能是进程的同义词。任务是作业的子部分。任务结合起来形成一个工作。
  • 任务是模糊的,因为它有很多含义。
    任务可能是一个线程、进程、单个作业等等。
    任务在执行时称为线程。
  • 示例 –当我们在Java运行一个线程时,它被称为任务。如果打印机打印文档,则称为执行打印任务。当计算机计算用户输入的两个数相加时,也是一个任务(加法任务)。
  • 可以同时执行多项任务,这称为多任务处理。当多个任务同时并行执行时,称为并行任务。多任务处理也称为分时。多任务处理是多道程序操作系统的扩展。

3. 工作:

  • 作业是正在执行的完整工作单元。一个作业由许多任务组成,而这些任务又由许多进程组成。作业是批处理模式下的一系列任务。编写程序以执行作业。
  • 约伯也是晦涩难懂的,因为它有太多的含义。作业和任务在计算工作中是同义词。
  • 示例 –计算机的工作是从用户那里获取输入、处理数据并提供结果。这项工作可以分为几个小任务,将输入作为一项任务,处理数据作为另一项任务,输出结果作为另一项任务。
    这些任务在小进程中进一步执行。接受输入的任务涉及许多过程。首先,用户输入信息。然后将该信息转换为二进制语言。然后该信息进入 CPU 以供进一步执行。然后 CPU 执行必要的操作。因此,作业被分解为任务,并且这些任务以进程的形式执行。
  • 一项工作可能一次是一项工作,也可能是多项工作。单个作业可以称为任务。要一次执行多个作业,需要调度一个作业。作业调度器是一种调度作业的应用程序。作业调度也称为批处理调度。

工作、流程和任务的概念相互围绕。工作、任务和流程在它们所指的上下文中可能被认为是相同的或不同的。进程是操作系统的一个孤立实体。如果任务是单个任务,则可以将其称为进程。如果要执行的作业是单个工作单元,则该作业可称为任务。一个进程或一组进程可以称为一个任务,一组任务可以称为一个作业。