在一个多处理器中,CPU调度的一种方法是让一个处理器(即主处理器)处理所有的调度决策、I/O处理以及其他系统活动。其他的处理器只执行用户代码。这种非对称多处理的方法比较简单,因为只有一个处理器会访问系统数据结构,减少了对于数据共享的需求。

另一种方法是对称多处理(SMP)方法,即每个处理器自我调度。所有的进程可能处于同一个就绪队列中,也或许每个处理器都有自己的私有就绪进程队列。无论如何,调度都是通过处理器器检查就绪队列并选择一个进程来执行。但是如果多处理器视图访问和更新一个共同的数据结构,那么每个处理器需要仔细编程:必须确保两个处理器不能选择同一个进程,且进程不会从队列中丢失。事实上,许多现代操作系统,包括Windows XP、Windows 2000、Solaris、Linux和Max OS X,他们都支持SMP。我们将着重讲SMP系统

results matching ""

    No results matching ""