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

 

Традиционно вызовы, установленные в очередь, обрабатывались по принципу FIFO: “первым поступил — первым обслужен”. Однако разнообразие задач, стоящих перед СРВ в центре обслуживания вызовов, приводит к разнообразным модификациям дисциплины организации очередей с возможностью производить выбор вызовов из очереди не только в порядке их поступления, но и по сложной многокритериальной системе (например, в первую очередь обслуживать вызовы от VIP-номеров и т. п.).

 

Помимо дисциплины выбора вызовов из очереди и выбора операторов для их обслуживания, и сами очереди, в зависимости от структуры системы, могут быть организованы разными способами:

  • индивидуальные очереди к каждому оператору;
  • очередь к службе (группе операторов);
  • единая очередь ко всем службам, доступным через данную СРВ.

Ядро OS-9 поддерживает 4 механизма диспетчеризации, среди них один механизм является базовым и действует автоматически, а другие механизмы вводятся программным способом с помощью системного вызова.

Цель Автоматическая (круговая) диспетчеризация заключается в распределении процессорного времени между процессами пропорционально их приоритетам. Процессы с одинаковыми приоритетами должны получать одинаковые порции квантов времени. Однако, не должно быть так, чтобы процессы с меньшим приоритетом чрезмерно долго ждали своей очереди. Это достигается путем использования механизма старения очереди активных процессов.

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

Диспетчеризация по минимальному возрасту. Этот механизм включается путем программной установки максимального возраста. Значение максимального возраста сравнивается с приоритетом процесса, включаемого в очередь активных процессов. Если приоритет процесса больше или равен этому порогу, то диспетчер вычисляет его константу диспетчеризации другим способом.

Механизм захвата управлением процесса. Этот механизм позволяет блокировать выполнение всех процессов в очереди активных процессов, за исключением одного, ID которого указан в специальном системном вызове. Когда процесс с этим ID помещается в очередь активных процессов, ему единственному присваивается константа диспетчеризации, равная 88888888h.

 

Бесплатный хостинг uCoz