gpt4 book ai didi

operating-system - 对称多处理 (SMP) 和多处理 (MP) 之间有什么区别?

转载 作者:行者123 更新时间:2023-12-01 21:14:08 27 4
gpt4 key购买 nike

我知道MP是多处理器内多个进程的管理,但是它和SMP有什么区别吗? SMP 中可以同时执行同一个进程中的多个线程,而 MP 中只能让一个进程占用一个处理器吗?

我认为差异的示例:

SMP

P1 有 3 个线程:P1T1、P1T2 和 P1T3P2 有 2 个线程:P2T1 和 P2T2。

在具有 3 个处理器的计算机上,您可以同时将 P1T1 分配给处理器 1,将 P1T2 分配给处理器 2,将 P1T3 分配给处理器 3(如果所有处理器都可用),或者将 P2T1 分配给处理器 1,将 P2T2 分配给处理器 2,将 P1T1 分配给处理器 3。

MP

P1 有 3 个线程:P1T1、P1T2 和 P1T3P2 有 2 个线程:P2T1 和 P2T2。

在具有 3 个处理器的计算机上,您可以将 P1T1 分配给处理器 1,并且 -P1 有 3 个线程:P1T1、P1T2 和 P1T3P2 有 2 个线程:P2T1 和 P2T2。

在具有 3 个处理器的计算机上,您可以将 P1T1 分配给处理器 1,但 P1T2 和 P1T3 必须等到 P1T1 完成才能执行,而 P2T1 可以分配给处理器 2,并且 P2T2 也必须等到P2T1执行完毕才可以执行。

这有道理吗?如果是的话,我走在正确的道路上吗?谢谢,我今天参加了操作系统考试,我正在学习。感谢你们提供的任何帮助。

另外,线程是如何调度的?我知道这是一个非常广泛的问题,但是有什么具体的方法吗?还是基于系统已实现的调度?我知道有循环调度、更高优先级、时间切片、时间共享、最短时间...如果这个问题没有意义,不用担心,我感谢你们可以提供的任何帮助。

最佳答案

实际上,SMP是MP的一个部门。所以,差异的问题没有多大意义。任何 MP 都可以是两者之一——对称 MP 或并行(非对称)MP。

就您而言,由于上述原因,无法考虑示例来区分这两者。

此外,在 SMP 中,两个 CPU 或处理器驻留在不同的机器上,或者是单独的处理器,或者是在同一共享内存上工作以完成工作的不同内核!

正如维基百科中关于对称多重处理所述:-

Symmetric multiprocessing (SMP) involves a symmetric multiprocessor system hardware and software architecture where two or more identical processors connect to a single, shared main memory, have full access to all I/O devices, and are controlled by a single operating system instance that treats all processors equally, reserving none for special purposes. Most multiprocessor systems today use an SMP architecture. In the case of multi-core processors, the SMP architecture applies to the cores, treating them as separate processors.

关于operating-system - 对称多处理 (SMP) 和多处理 (MP) 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26786038/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com