图3-9示出了具有两个周期性实时任务的调度情况。 图3-9 利用ELLF算法进行调度的情况 3.4.5 优先级倒置(priority inversion problem) 1. 优先级倒置的形成 当前OS广泛采用优先级调度算法和抢占方式,然而在系统中存在着影响进程运行的资源而可能产生“优先级倒置”的现象,即高优先级进程(或线程)被低优先级进程(或线程)延迟或阻塞。我们通过一个例子来说明该问题。 假如P3最先执行,在执行了P(mutex)操作后,进入到临界区CS-3。在时刻a,P2就绪,因为它比P3的优先级高,P2抢占了P3的处理机而运行,如图3-10所示。 图3-10 优先级倒置示意图 2. 优先级倒置的解决方法 一种简单的解决方法是规定:假如进程P3在进入临界区后P3所占用的处理机就不允许被抢占。 图3-11示出了采用动态优先级继承方法后,P1、P2、P3三个进程的运行情况。 图3-11 采用了动态优先级继承方法的运行情况 ? 3.5 死 锁 概 述3.5.1 资源问题 在系统中有许多不同类型的资源,其中可以引起死锁的主要是,需要采用互斥访问方法的、不可以被抢占的资源,即在前面介绍的临界资源。系统中这类资源有很多,如打印机、数据文件、队列、信号量等。 1. 可重用性资源和消耗性资源 1) 可重
原创力文档

文档评论(0)