【操作系统】多处理机系统中的进程调度和Unix的进程调度

多处理器系统进程分配

多处理器系统 (MPS) 的类型

  • 紧密耦合型:共享内存和 I/O,通过高速总线连接。
  • 松弛耦合型:独立内存和 I/O,通信线路或通道连接。

对称多处理器系统 (SMPS) 和非对称多处理器系统

非对称多处理器系统中进程分配方式

  • 进程调度在主处理器上执行。
  • 有潜在的不可靠性(主机故障造成系统崩溃)。

对称多处理器系统中进程分配方式

  • 静态分配
    每个 CPU 设立一个就绪队列,进程从开始执行到完成,
    都在同一个 CPU 上。

  • 动态分配
    各个 CPU 采用一个公共就绪队列,队首进程每次分派
    到当前空闲的 CPU 上执行。可防止系统中多个处理器
    忙闲不均。

多处理器系统中的进程调度方式:

  • 自调度
  • 专用处理器分配
  • 成组调度
  • 动态调度

自调度

各个处理机自行在就绪队列中取任务。

  • 优点:不需要专门的处理机从事任务分派工作。
  • 缺点: 当处理机个数较多(如十几个或上百个)时,对就绪队列的访问可能成为系统的瓶颈。

专用处理器分配

每个进(线)程分配一个专用处理机。

优点:切换少,效率高。

主要用于超级计算系统,实时系统。

成组调度

将一组相关的进程同时分派到多台处理机上运行,以减少进程之间相互等待而引起的进程切换,降低系统开销。

优点:对相互合作的进(线)程成组调度,可以减小切换,减小系统开销。

每次分配一组 CPU,减少了调度频率。

分配时间

  • 面向所有应用程序平均分配处理器时间。
  • 面向所有线程平均分配处理器时间。

【操作系统】多处理机系统中的进程调度和Unix的进程调度_第1张图片

动态调度

基本思想:由操作系统和应用进程共同完成调度。

操作系统负责在应用进程之间划分处理器。

应用进程在分配给它的处理器上执行可运行线程的子集,哪一些线程应该执行,哪一些线程应该挂起完全是应用进程自己的事。

分配原则

空闲则分配、新作业优先、保持等待(忙则等待)、释放即分配

UNIX 的进程调度

调度类型

UNIX 是单纯的分时系统,无作业调度,只设置有中级调度和低级调度。

调度算法

采用多级反馈队列轮转调度。
动态优先数轮转调度算法

进程优先级的计算

图示

你可能感兴趣的:(操作系统)