LINK 5,lifo

Блок розміщує транзакти на початок списку користувача з номером 5 в порядку їх надходженя. Блок

LINK King,P$Princ

розміщує транзакти в список користувача з іменем King. Вони впорядковуються за зростанням значення параметра з іменем Princ.

Розглянемо організацію перевірки умов розміщення транзактів у списку користувача. Вважатимемо, що в них можна розмістити довільне число транзактів. Зокрема, у випадку зайнятості ОКП скерувати транзакт в список користувача можна таким чином

...

GATE NU Kan1,Cher

SEIZE Kan1

...

Cher LINK King,LIFO

...

Якщо ОКП Kan1 зайнятий, то блок GATE направляє транзакт в блок LINK з іменем King і блокує блок SEIZE. Транзакт вводиться на початок списка користувача з іменем King.

Список користувача можна розмістити і так

...

GATE U Kan1,Cher

LINK King,LIFO

Cher SEIZE Kan1

...

Якщо ОКП Kan1 зайнятий, то транзакт переходить до наступного блоку LINK і розміщується в список користувача з іменем King. Незайнятість ОКП зумовлює пересування транзакту в блок SEIZE з міткою Cher. Транзакт займає вільний ОКП.

Для моделювання реальних систем у списку користувача може розташовуватися задане число транзактів. Це обмеження можна реалізувати наступним чином

Buf EQU 15

...

GATE NU Kan1,Mit1

SEIZE Kan1

...

Mit1 TEST L CH$King,Buf,Mit2

LINK King,FIFO

Якщо ОКП Kan1 зайнятий, то блок GATE блокує входження транзакту в блок SEIZE і спрямовує його в блок ТEST з міткою Mit1, який знаходиться перед блоком LINK. Якщо поточний вміст списка користувача з іменем King є меншим за задану ємність Buf, то транзакт надходить у список користу­вача. В протилежному випадку він скеровується в блок з міткою Mit2.

Інший можливий варіант цього ж фрагменту моделі має вигляд

Buf EQU 15

...

GATE U Kan1,Mit1

TEST L CH$King,Buf,Mit2

LINK King,FIFO


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: