Operating system 优先级反转

Operating system 优先级反转,operating-system,Operating System,优先级反转需要多少个任务???。根据我的理解,我们至少需要3个…或者我们只能有2个任务 我实际上读过一本书:安德鲁·坦恩鲍姆的《现代操作系统》。我只知道在某些模式中有3个任务时,正如大家所知,优先级反转可能会发生。然而,我发现书上说只有2个任务1-低1-高也会导致相同的结果。所以我很困惑 您需要一个高优先级任务,该任务在运行中优先级任务时等待低优先级任务持有的资源 因此,是的,您需要三个。您需要一个高优先级任务,它在运行中优先级任务时等待由低优先级任务持有的资源 因此,是的,您需要三个线程。优先

优先级反转需要多少个任务???。根据我的理解,我们至少需要3个…或者我们只能有2个任务


我实际上读过一本书:安德鲁·坦恩鲍姆的《现代操作系统》。我只知道在某些模式中有3个任务时,正如大家所知,优先级反转可能会发生。然而,我发现书上说只有2个任务1-低1-高也会导致相同的结果。所以我很困惑

您需要一个高优先级任务,该任务在运行中优先级任务时等待低优先级任务持有的资源


因此,是的,您需要三个。

您需要一个高优先级任务,它在运行中优先级任务时等待由低优先级任务持有的资源


因此,是的,您需要三个线程。

优先级反转也可以发生在两个线程上, 例:-


高优先级任务等待一个低优先级任务,该任务持有一个自旋锁,有效地禁用了高优先级任务对该任务的抢占。

优先级反转也可以发生在两个线程上, 例:-


高优先级的任务等待低优先级的任务,而低优先级的任务持有一个旋转锁,有效地阻止了高优先级任务对任务的抢占。

请您提供多一点上下文。我想他是有意的;当且仅当持有资源的任务的执行速度可能因其低优先级而受损时,即使该任务是系统中唯一未阻止的任务,两个任务也可能出现此问题。例如,某些处理器具有低功耗模式,无法以最高速度运行,但每个指令消耗的能量较少。如果操作系统在运行低优先级任务时将CPU切换到“低速/低功耗”模式(从节能角度来看,这是一件明智的事情),那么即使只有两个实际任务,也可能发生优先级反转。请您提供多一点上下文。我想他是有意要做这件事的;当且仅当持有资源的任务的执行速度可能因其低优先级而受损时,即使该任务是系统中唯一未阻止的任务,两个任务也可能出现此问题。例如,某些处理器具有低功耗模式,无法以最高速度运行,但每个指令消耗的能量较少。如果操作系统在运行低优先级任务时将CPU切换到这种“低速/低功耗”模式(从节能角度来看,这是明智的做法),那么即使只有两个实际任务,也可能发生优先级反转。