每次我遇到"process 0 to x task“之类的东西时,我都倾向于认为它们指的是处理器。
阅读了更多关于它的内容后,我发现有两种内存分类:共享内存和分布式内存:共享内存执行类似线程的操作(暗示所有处理器都可以使用相同的数据--因此称它为进程是有意义的),然而,即使对于分布式内存,它也被称为进程,而不是处理器。例如:"Process 0是计算部分点乘积“
为何会这样呢?为什么它被称为进程而不是处理器?
PS。我希望这个问题不是琐碎的:)
发布于 2016-08-10 20:34:25
其他的答案都很贴切。处理器是物理的,进程是软件的。因此,一个四核CPU将有4个处理器,但可以运行更多的进程。
不过,您对分布式术语的混淆是公平的。在分布式计算中,通常X个进程将被执行等于硬件处理器的数目。在这种情况下,每个进程都在软件中获得一个ID,通常称为级别。队列独立于处理器,不同的级别将有不同的任务。因此,当您报告状态时,信息相对于进程级别,而不是物理处理器。
换句话来说,在分布式计算中,每个处理器上通常会运行一个进程。该进程将有一个独特的id,在软件中比它正在运行的物理处理器更重要,因此提供有关进程的状态信息。由于进程和处理器的数量相等,这种区别可能会变得有点模糊。
发布于 2016-08-10 18:22:02
区别是硬件和软件。
进程是程序的逻辑实例。处理器是运行进程的硬件实体。大多数情况下,您不关心实际的处理器,只关心正在执行的进程。
例如,为了让其他应用程序运行时,操作系统可能决定暂时让进程休眠,然后它可能会在不同的处理器上唤醒它们。只要您的过程产生预期的结果,您就不会对此感兴趣:您所关心的只是计算,而不是它发生的地方。
发布于 2016-08-10 12:34:48
对我来说,处理器是指负责计算操作的机器。进程是某个程序的单个实例。(我希望我明白你的意思)。
https://stackoverflow.com/questions/38873433
复制相似问题