【问题标题】:Question about three requirements considering critical section problem关于考虑临界区问题的三个要求的问题
【发布时间】:2011-04-13 04:57:05
【问题描述】:

最近在看操作系统概念第六章关​​于临界区问题的书,在6.2节中,我们知道解决同步问题的算法必须满足三个要求:1.互斥2 .Progress 3.Bounded Waiting。 显然,如果一个算法满足第二个要求(进度),由于进程速度或调度问题,它并不一定意味着该算法满足有界等待。

但是,我的问题是,如果一个算法满足 Bounded Waiting 要求,我们是否可以由此暗示,该算法也满足 Progress 要求? 如果不是,那是什么条件? 如果是,我们为什么不只提出第三个要求并删除第二个,因为第三个可能意味着第二个。 顺便说一句,谁能解释第二个和第三个之间的关系(和区别)?

【问题讨论】:

    标签: synchronization operating-system


    【解决方案1】:

    进度和有限等待的概念完全不同。

    有限等待意味着进程最终可以获得锁/互斥锁。而进度条件意味着进程可以完成其执行。有一种情况叫活锁(对应死锁),将两个或多个进程组织成一个进程组,所有进程都可以获取或释放锁,满足有界等待,但进程组不能前进(或者为什么我们称之为活锁。:-))。

    祝你好运和问候

    【讨论】:

      【解决方案2】:

      第一个要求很明确,因为互斥的主要目标是……嗯,互斥,对吧?

      第二个要求(进度)在某种意义上是用词不当。假设一个给定的系统有一堆同时运行的进程,比如 P1、P2、P3、P4 和 P5,并且它们都没有执行临界区 (CS)。最终,在给定时刻,进程 P1、P2 和 P3 对同时执行 CS 感兴趣。在这种情况下,进度要求规定只有 P1、P2 和 P3 有权在他们自己之间选择谁将成为进入 CS 的人(决不允许 P4 和 P5 影响这样的决定)。顺便说一句,这个要求也决定了这样的决定不能永远持续下去,因此它的名字(“进度要求”。我认为这是一个非描述性的术语;“关闭要求”更适合,因为只有感兴趣的进程才有权决定谁将执行 CS)。据我了解,此要求旨在防止活锁(所有进程都互相说“请执行,轮到你了”)。

      第三个需求(Bounded Waiting)与第二个需求密切相关。虽然进度要求表明相关进程必须在有限时间内做出决定,但有界等待规定没有进程必须无限期等待,因此防止饥饿:在 Pn 请求进入 CS 后,只有一个有限数量的进程可以绕过 Pn。鉴于它的定义并且与第二个相反,这个要求被命名为(Bounded Waiting,有时也称为Bounded Bypass,如here)。 如果你懂葡萄牙语,这里是我找到的定义here

      O primeiro requisito é óbvio, pois é o objetivo principal da solução。哦第二个diz que se não há processo dentro de região crítica e existem processos desejando entrar, então apenas os processos que desejam entrar participam na decisão de quem entra e essa decisão não é postgada indefinidamente。 O terceiro requisito diz que um processo que deseja entrar na região crítica não deve esperar indefinidamente por sua vez; isto é, quando 存在算法 esperando para entrar, deve haver um limite no número de vezes que outros processos entram e saem de suas regiões críticas.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-12-25
        • 1970-01-01
        • 1970-01-01
        • 2021-04-22
        • 1970-01-01
        • 2011-01-09
        • 1970-01-01
        相关资源
        最近更新 更多