Организация вычислительных процессов. Конспект лекций по дисциплине "Системы реального времени". Степанов Б.М. - 15 стр.

UptoLike

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

Изменение в процедуре «Ждать»:
If not Текущий процесс^. состояние then Текущий процесс^. сигнал := false;
2-й случай:
Допустим, что в процессе работы диспетчера допускается прерывание. Такая ситуа-
ция имеет место в системах реального времени. Рассмотрим случай, когда прерывание про-
изошло.
Допустим, что в результате прерывания программа обработки прерывания хочет
вновь активизировать текущий процесс и устанавливает переменнойсостояниеисигнал
true.
Однако после выхода из программы обработки прерываний оператор Текущий
процесс^. сигнал := false сбросит значение сигнал и в результате мы получим запретное со-
стояние процесса.
Чтобы это исключить, изменим порядок анализа переменных и присваивания:
Рис.3
Та же ситуация, но запрещённого состояния не получим.
Тек
ущ
ий п
р
о
ц
есс^. сигнал
Тек
ущ
ий п
р
о
ц
есс^. состо
я
-
Тек
ущ
ий п
р
о
ц
есс^. сигнал
truefalse
       Изменение в процедуре «Ждать»:
       If not Текущий процесс^. состояние then Текущий процесс^. сигнал := false;
       2-й случай:
       Допустим, что в процессе работы диспетчера допускается прерывание. Такая ситуа-
ция имеет место в системах реального времени. Рассмотрим случай, когда прерывание про-
изошло.
       Допустим, что в результате прерывания программа обработки прерывания хочет
вновь активизировать текущий процесс и устанавливает переменной “состояние” и “сигнал”
true.
               Однако после выхода из программы обработки прерываний оператор Текущий
процесс^. сигнал := false сбросит значение сигнал и в результате мы получим запретное со-
стояние процесса.
               Чтобы это исключить, изменим порядок анализа переменных и присваивания:



                            Текущий процесс^. сигнал

                             Текущий процесс^. состоя-
                               false             true
                                         Текущий процесс^. сигнал




                                         Рис.3
      Та же ситуация, но запрещённого состояния не получим.