我知道 MP 是管理多个处理器内的多个进程,但它和 SMP 有什么区别吗?是不是在SMP中你可以同时从同一个进程执行多个线程,而MP你只能让一个进程占用一个处理器?
我认为差异的例子是:
脱模剂
P1 有 3 个线程:P1T1、P1T2 和 P1T3 P2 有 2 个线程:P2T1 和 P2T2。
在具有 3 个处理器的计算机上,您可以同时将 P1T1 分配给处理器 1,将 P1T2 分配给处理器 2,将 P1T3 分配给处理器 3(如果全部可用),或者将 P2T1 分配给处理器 1,将 P2T2 分配给处理器 2,将 P1T1 分配给处理器 3。
国会议员
P1 有 3 个线程:P1T1、P1T2 和 P1T3 P2 有 2 个线程:P2T1 和 P2T2。
在具有 3 个处理器的计算机上,您可以将 P1T1 分配给处理器 1,并且 - P1 有 3 个线程:P1T1、P1T2 和 P1T3 P2 有 2 个线程:P2T1 和 P2T2。
在具有 3 个处理器的计算机上,您可以将 P1T1 分配给处理器 1,但 P1T2 和 P1T3 必须等到 P1T1 完成才能执行,而 P2T1 可以转到处理器 2,同样,P2T2 必须等到 P2T1在它执行之前完成执行。
这有意义吗?如果是这样,我在正确的轨道上吗?谢谢,我今天参加了操作系统考试,我正在学习。感谢你们提供的任何帮助。
另外,线程是如何调度的?我知道这是一个非常广泛的问题,但是有什么具体的方法吗?还是基于系统实施的调度?我知道有循环调度,更高的优先级,时间切片,时间共享,最短的时间......如果这个问题没有意义,不用担心,我感谢你们可以提供的任何帮助。