Самоучитель по программированию систем защиты

       

Динамические приоритеты и приоритеты реального времени



Динамические приоритеты и приоритеты реального времени



Приоритеты планирования делятся на две главных группы:

  • динамические приоритеты (dynamic priorities);
  • приоритеты реального времени (real-time priorities).
  • Динамические приоритеты имеют значения в диапазоне 1-15. Они названы динамическими, потому что ОС может динамически изменять приоритет потока в этом диапазоне.

    Приоритеты реального времени имеют значения в диапазоне 16-31. ОС не может изменять значение приоритета потока, находящееся в этом диапазоне.

    Имеется два важных отличия между динамическими приоритетами и приоритетами реального времени.

    Поток с приоритетом реального времени может сохранять контроль над процессором до тех пор, пока не появится поток с большим или равным значением приоритета. Таким образом, пока выполняется поток реального времени, потоки с меньшим значением приоритета никогда не получат шанса исполниться (механизм вытесняющей многозадачности не задействован). Такой поток должен сам освободить процессор.

    Однако в любом случае при появлении потока с большим или равным значением приоритета задействуется механизм вытесняющей многозадачности.

    В случае потоков с динамическими приоритетами, потоки с меньшими приоритетами также не могут получить шанса на исполнение, пока готовы к исполнению потоки с большими приоритетами.

    Однако, в ряде случаев планировщик повышает приоритет потоков в диапазоне динамических приоритетов. Это дает возможность рано или поздно выполниться любому потоку с приоритетом в этом диапазоне.

    К механизму повышения приоритетов применимы следующие утверждения:

  • 1. Система никогда не меняет приоритет потоков из диапазона приоритетов реального времени.
  • 2. Повышение приоритета не может вызвать его переход в диапазон приоритетов реального времени, то есть превысить значение 15.
  • 3. Повышение приоритета операционной системой является временным. Каждый раз, когда поток исчерпывает отведенный ему квант времени, значение его приоритета уменьшается на единицу. Так\происходит до достижения значения базового приоритета.
  • 4. Операционная система не может снизить приоритет ниже уровня базового приоритета.
  • 5. Повышение приоритета может происходить несколько раз подряд.


  • Содержание раздела