73
просы), то и “длинные” и “короткие” запросы будут ожидать в очереди в
среднем одинаково. Дисциплина FIFO помимо функционального отличия
обеспечивает минимизацию дисперсии времени ожидания.
Круговой циклический алгоритм
(рис. 2.12.в). В основе данной дисцип-
лины лежит дисциплина FIFO. Но время обслуживания каждого процесса
ограничено и определяется так называемым квантом времени t
к
. Если за-
прос на использование ресурса из начала очереди обслуживается до конца
за время t
к
(например, программа процесса за время t
к
полностью выпол-
нена на процессоре), то он покидает очередь. Если этот запрос не успевает
обслужиться до конца, то его обслуживание прерывается и он поступает в
конец очереди. Дисциплина широко используется на практике, в частно-
сти при реализации режима разделения времени.
Хотя в данной дисциплине нет явных приоритетов, здесь в наиболее
благоприятных условиях оказываются короткие запросы, т. е. запросы от
процессов, которым требуется меньшее время использования ресурсов.
Короткие запросы обслуживаются быстрее, т. е. имеют меньшие средние
времена ожидания в системе, чем длинные запросы. Степень благоприят-
ствования коротким запросам тем больше, чем меньше длительность кван-
та мультиплексирования, чем ближе она к длительности интервала
номи-
нального использования ресурса процессом. Однако уменьшение длитель-
ности кванта ведет к увеличению накладных расходов, необходимых для
отработки прерываний и перераспределения ресурса. Это происходит из-
за возрастания частоты прерываний, что особенно неблагоприятно может
сказаться на отработке “длинных” запросов. Поэтому на практике исполь-
зуют различные модификации данного алгоритма.
Все рассмотренные дисциплины
являются одноочередными. В опера-
ционных системах ЭВМ широко используются многоочередные дисципли-
ны (рис. 2.13). Здесь организуется N очередей. Все новые запросы по-
ступают в конец первой очереди. Первый запрос из очереди i (l ≤ i ≤ N)
поступает на обслуживание лишь тогда, когда все очереди от 1 до (i – 1)-й
пустые. На обслуживание выделяется
квант времени t
к
. Если за это время
обслуживание запроса завершается полностью, то он покидает систему. В
противном случае недообслуженный запрос поступает в конец очереди с
номером i + 1.
После обслуживания из очереди i система выбирает для обслуживания
запрос из непустой очереди с самым младшим номером. Таким запросом
может быть следующий запрос из очереди i
или из очереди i +1 (при усло-
вии, что после обслуживания запроса из очереди i последняя оказалась
пустой). Новый запрос поступает в первую очередь (i = l). В такой ситуа-
ции после окончания времени t
к
, выделенного для обслуживания запроса
из очереди i, будет начато обслуживание запроса 1-й очереди.
Если система выходит на обслуживание заявок из очереди N, то они
обслуживаются либо по дисциплине FIFO (каждая заявка обслуживается
до конца), либо по круговому циклическому алгоритму.