Буферизация и обработка заданий
GENERATE 3,1 ;поступают задания
ASSIGN SIZE,(uniform(1,400,800)) ;устанавливаем размер заданий
PRIORITY (1000-P$SIZE) ;приоритет присваиваем каждому заданию в зависимости от длины.
;у коротких заданий приоритет выше
*****СТАДИЯ ВВОДА********
PLACESTART QUEUE TOBUF ;буфферизуем задание
SEIZE TASKENTER ;отправляем на ввод
DEPART TOBUF ;извлекаем из буффера
ADVANCE (P$SIZE/100) ;процесс ввода
RELEASE TASKENTER ;конец ввода
*****СТАДИЯ ОБРАБОТКИ********
QUEUE TOBUF ;буфферизуем задание
SEIZE PERFORMING ;отправляем на обработку
DEPART TOBUF ;извлекаем из буффера
ADVANCE (P$SIZE/100) ;процесс обработки
RELEASE PERFORMING ;конец обработки
*****СТАДИЯ ВЫВОДА********
QUEUE TOBUF ;буфферизуем задание
SEIZE PERFORMING ;отправляем на вывод
DEPART TOBUF ;извлекаем из буффера
ADVANCE (P$SIZE/100) ;процесс вывода
RELEASE PERFORMING ;конец вывода
TRANSFER 0.05,,PLACESTART
TERMINATE 1
start 1000