Операционные системы реального времени. Бурукина И.П. - 34 стр.

UptoLike

Составители: 

может воспользоваться теорией расписаний или имитационным
моделированием, хотя и это может оказаться бесполезным. На
сегодняшний день не имеется иного решения, поэтому понятие приоритета
нити необходимо.
Требование 3. ОС должна обеспечивать предсказуемые
механизмы синхронизации задач
Задачи разделяют данные (ресурсы) и должны сообщаться друг с
другом, следовательно, должны существовать механизмы блокирования и
коммуникации.
Требование 4. Должна существовать система наследования
приоритетов
На самом деле, именно этот механизм синхронизации и тот факт, что
различные нити используют одно и то же пространство памяти, отличают
нити от процессов. Процессы не разделяют одно и то же пространство
памяти. Так, например, старые версии UNIX не являются многонитевыми.
Старый UNIX – многозадачная ОС, где задачами являются процессы,
которые сообщаются через потоки (pipes) и разделяемую память. Оба эти
механизма используют файловую систему, а ее поведение непредсказуемо.
Комбинация приоритета нити и разделение ресурсов между ними приводит
к другому явлению: классической проблеме инверсии приоритетов. Это
можно проиллюстрировать на примере, где есть, как минимум, три нити.
Когда нить низшего приоритета заняла ресурс, разделяемый с нитью
высшего приоритета, а сначала выполняется нить среднего приоритета,
выполнение нити высшего приоритета будет приостановлено, пока не
освободится ресурс и не отработает нить среднего приоритета. В этой
34
может   воспользоваться       теорией     расписаний   или    имитационным
моделированием,    хотя   и    это    может    оказаться   бесполезным.   На
сегодняшний день не имеется иного решения, поэтому понятие приоритета
нити необходимо.


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


     Требование 4. Должна существовать система наследования
приоритетов
     На самом деле, именно этот механизм синхронизации и тот факт, что
различные нити используют одно и то же пространство памяти, отличают
нити от процессов. Процессы не разделяют одно и то же пространство
памяти. Так, например, старые версии UNIX не являются многонитевыми.
Старый UNIX – многозадачная ОС, где задачами являются процессы,
которые сообщаются через потоки (pipes) и разделяемую память. Оба эти
механизма используют файловую систему, а ее поведение непредсказуемо.
Комбинация приоритета нити и разделение ресурсов между ними приводит
к другому явлению: классической проблеме инверсии приоритетов. Это
можно проиллюстрировать на примере, где есть, как минимум, три нити.
Когда нить низшего приоритета заняла ресурс, разделяемый с нитью
высшего приоритета, а сначала выполняется нить среднего приоритета,
выполнение нити высшего приоритета будет приостановлено, пока не
освободится ресурс и не отработает нить среднего приоритета. В этой

                                     34