Операционные системы, среды и оболочки. Макаренко С.И. - 41 стр.

UptoLike

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

Все определяется взаимными скоростями потоков и моментами их
прерывания. Поэтому отладка взаимодействующих потоков является
сложной задачей.
Гонка - когда два или более потоков обрабатывают разделяемые
данные и конечный результат зависит от соотношения скоростей потоков
(ситуации, рассмотренные выше).
Тупики состояние системы, когда два или более процессов взаимно
блокируют друг друга.
Рассмотрим пример тупика. Пусть двум процессам, выполняющимся в
режиме мультипрограммирования, для выполнения их работы нужно два
ресурса, например, принтер и диск. На рисунке 2.5,а показаны фрагменты
соответствующих программ. И пусть после того, как процесс А занял
принтер (установил блокирующую переменную), он был прерван.
Управление получил процесс В, который сначала занял диск, но при
выполнении следующей команды был заблокирован, так как принтер
оказался уже занятым процессом А. Управление снова получил процесс А,
который в соответствии со своей программой сделал попытку занять диск и
был заблокирован: диск уже распределен процессу В. В таком положении
процессы А и В могут находиться сколь угодно долго.
41
     Все определяется взаимными скоростями потоков и моментами их
прерывания. Поэтому отладка взаимодействующих потоков является
сложной задачей.
      Гонка - когда два или более потоков обрабатывают разделяемые
данные и конечный результат зависит от соотношения скоростей потоков
(ситуации, рассмотренные выше).
     Тупики – состояние системы, когда два или более процессов взаимно
блокируют друг друга.
      Рассмотрим пример тупика. Пусть двум процессам, выполняющимся в
режиме мультипрограммирования, для выполнения их работы нужно два
ресурса, например, принтер и диск. На рисунке 2.5,а показаны фрагменты
соответствующих программ. И пусть после того, как процесс А занял
принтер (установил блокирующую переменную), он был прерван.
Управление получил процесс В, который сначала занял диск, но при
выполнении следующей команды был заблокирован, так как принтер
оказался уже занятым процессом А. Управление снова получил процесс А,
который в соответствии со своей программой сделал попытку занять диск и
был заблокирован: диск уже распределен процессу В. В таком положении
процессы А и В могут находиться сколь угодно долго.




                                  41