Выдержка из книги
Акушский И.Я.
Программирование на электронике-100 для задач АСУ ТП
Есть несколько обходных путей для преодоления узких мест с помощью уже разработанных средств диспетчера, в частности: временное запрещение прерывания ( или повышение приоритета обслуживаемой задачи), использование индексных ячеек ( содержимое которых при снятии задачи из очереди № 1 сохраняется в очереди № 2) в качестве рабочих. Однако в полной мере действенным средством является лишь специальный блок узкого места. Это своеобразный блок приема к обслуживанию заявок на использование устройств или программ, которые являются узким местом в системе. Подобно аналогичным блокам в службе времени и вывода этот блок должен иметь свою буферную зону для хранения исходных данных сдерживаемого потока задач. Как и в службе вывода, здесь может быть организована очередь, где первая задача никогда не снимается с обслуживания, а остальные расставляются по приоритетам. Все последующие задачи, попадающие не на первое место в очереди узкого места, снимаются с обслуживания ( из очереди № 1) и ожидают освобождения блока. По окончании обслуживания очередной задачи блоком узкого места вся его очередь сдвигается на одну позицию вперед и задача, попавшая здесь на первое место, немедленно предъявляется блоку установления очередности - для включения ее в очередь № 1 в соответствии с ее истинным приоритетом.