PREEMTIVE А,B,C,D,E


A-имя устройства

B-PR - приоритет

C-метка блока, куда поступит вытесненный из устройства транзакт

D-номер параметра вытесняемого транзакта, в который записывается значение оставшегося времени пребывания на устройстве этого транзакта

E- RE если операнд существует, то вытесненный транзакт не имеет право занимать это устройство

Операнды, кроме А, могут отсутствовать.

Если операнд В отсутствует, то остальные игнорируются.

 

Пр.: (фрагментарный)

  ..........................  
  SEIZE PROC
  ADVANCE  
  RELEASE PROC
  ...........................  
  PREEMTIVE PROC – транзакт захватывает устройство PROC  
  ADVANCE  
  RETURN PROC
  ..........................  
  PREEMTIVE PROC,PR – если транзакт-захватчик имеет олееысокий приоритет, чем транзакт-захватчик уже находящийся в устройстве, то происходит вытеснение. если транзакт-захватчик имеет более высокий приоритет, чем транзакт-захватчик уже находяшийся в устройстве, то происходит вытеснение.    

* более высокий приоритет, чем транзакт-захватчик уже находящийся в * устройстве, то происходит вытеснение.

  ADVANCE  
  RETURN PROC
  ..........................  

Лекция №13

Продолжим решение задач. Если ОП моделировать с помощью GENERATE, то прервать генерацию невозможно, следовательно надо заменить GENERATE 100,7 на

 

  GENERATE ,,,,,1
N SEIZE
  ADVANCE 100,7
  SPLIT 1,N
  RELEASE
  ...........................  
  UNLINK  
  TRANSFER ,K
  ..........................  
  PREEMTIVE 5,PR,M,,RE
  ADVANCE
  RETURN
M TERMINATE  
K ...........................  

 

Пример 13.1

 

поток студентов Пр.
       
   
 
 


телефон

 
 


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

При составлении программы будем учитывать, что звонок, появившийся во время разговора по телефону, должен быть аннулирован.

Версия 1:

* Студенты

  GENERATE ,,,D
  QUEUE BUFF
  SEIZE PROF
  DEPART BUFF
  ASSIGN 5,1000,3
  ADVANCE P5
  RELEASE PROF
  TERMINATE  

* Телефонные звонки

  GENERATE A,B,,,1
  GATE NI PROF,N
  PREEMTIVE PROF,PR,,ADD,5
  ADVANCE C,D
  RETURN PROF
N TERMINATE  
ADD ASSIGN 5+,300
  TRANSFER ,S

 

 

Рассмотрим блок GATE NI PROF,N, в котором NI - это стандартный числовой атрибут. Он равен 1, если устройство не захвачено транзактом-захватчиком, но оно может быть занято (I - это СЧА обратный к NI). Транзакт пройдет дальше, если устройство не занято транзактом-захватчиком в противном случае - поступит на метку N.

 

Версия 2:

* Студенты

  GENERATE ,,,D
  QUEUE BUFF
  SEIZE PROF
  DEPART BUFF
  ADVANCE 1000,3
S RELEASE PROF
  TERMINATE  

* Телефонные звонки

  GENERATE A,B,,,1
  GATE NI PROF,N
  PREEMTIVE PROF,PR,,ADD,5
  ADVANCE C,D
  RETURN PROF
N TERMINATE  
ADD ASSIGN 5+,300
  ADVANCE P5
  TRANSFER ,S

 



Дата добавления: 2016-11-04; просмотров: 1128;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.01 сек.