2.5 多处理机调度与实时调度

2.5 多处理机调度与实时调度


2.5 多处理机调度与实时调度
  随着计算机技术的不断发展,为了满足人们对计算机更高要求的需要,出现了一机含有多处…

2.5 多处理机调度与实时调度

2.5 多处理机调度与实时调度

  随着计算机技术的不断发展,为了满足人们对计算机更高要求的需要,出现了一机含有多处理机的情况,这就引出了多处理器的调度问题。另外,在很多情况下,任务的实时性非常重要,为了能更好地满足任务的实时性要求,出现了实时调度。下面分别简要介绍这两种调动。

2.5.1 多处理机调度

  目前为止,我们的讨论只限于单处理器系统的CPU 调度问题。如果有多个CPU 有效,那么调度问题就相对更为复杂了。但是正如在单处理机CPU 调度算法中所见,我们试过多种方法,但没有一种是最好的。我们以功能性的观点专门考虑处理器同样的环境,任何有效的处理器都可被用于执行队列中的任意进程。我们也假设是一致性内存访问环境,只有使用给定处理器的指令编译的程序才可以在该处理器上运行。
  甚至是在一个同构型多处理机中的调度也要受到一些限制。考虑这样一个系统,它的一个I/O 设备附属到一个处理器的私有总线上。若要使用该设备的进程,必须被调度到该处理器中运行,否则就不可以使用这个设备。
  如果有多个同样的处理器可用,那么就会发生负载分配。可以为每一个处理器提供一个独立的队列。然而,这样就可能会在一个处理器空闲(其队列为空)时另一个忙碌不堪。为了避免这种情况,我们使用一个公用的就绪队列。所有的进程进入同一个队列,并被调度到任何可用的处理器上执行。
  在这种方案中,有两种调度方法可供使用。第一种方法,每个处理器是自调度的。每个处理器检查公共队列并选择一个进程执行。如果有多个处理器试图访问并更新一个公共数据结构,那么每个处理器都必须仔细设计;即必须确保两个处理器不会选择同样的进程,还要保证队列中不会丢失进程。第二种方法是指定一个处理器作为其他处理器的调度者,这样就避免了上述问题,从而创建了一种主从结构。
  有些系统进一步扩展了这种结构:使用一个单独的处理器处理所有的调度、I/O 处理和其他的系统活动,其他的处理器只是执行用户代码。因为只有一个处理器访问系统数据结构,减轻了对数据共享的需求,所以这种不对称多处理远比对称多处理简单。当然,它也不如对称多处理那样高效,I/O繁忙型进程可能会阻塞执行所有操作的那个CPU。通常在一个操作系统中首先实现不对称多处理,然后随着系统的发展将其升级为对称多处理。

2.5 多处理机调度与实时调度

    关于作者: admin

    这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字活着HTML!

    为您推荐

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    评论列表 人参与

    联系我们

    联系我们

    8888-88888888

    在线咨询: QQ交谈

    邮箱: email@admin.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部