多处理器调度的方法
- 非对称多处理:让一个主处理器负责所有调度决定、IO处理以及其他系统活动,其他的处理器只负责执行用户代码。优点:因为只有一个处理器访问系统数据结构(访问内存、I/O等资源),减少了数据共享的需要(减少冲突)。缺点:主处理器故障会导致整个系统崩溃;主处理器会成为性能瓶颈;
- 对称多处理(Symmetric MultiProcessing,SMP)
- 即每个处理器运行自己的调度程序
- 所有进程可能处于一个共同的就绪队列中,或每个处理器都有它自己的私有就绪队列。不管如何,调度这样进行每个处理器的调度程序都检查共同就绪队列,以便选择执行一个进程。
- 如果多个处理器试图访问和更新一个共同的数据结构,那么每个处理器必须仔细编程。必须确保两个处理器不会选择同一进程,而且进程不会从队列中丢失。(以及调度程序对共享资源的访问需要进行同步)
