Освободить некоторые элементы семафора ресурса

Запросить некоторые элементы семафора ресурса

Уничтожить семафор ресурса

Элементы потребляемых ресурсов могут быть освобождены независимо от любых предыдущих приобретений.

Потребляемые и воспроизводимые (повторно используемые) ресурсы имеют одно общее важное свойство: процесс может стать логически блокированным благодаря неудовлетворенному запросу на такой ресурс.

Это приводит к общему определению:

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

Операции над семафорами ресурсов.

Определены четыре примитива, работающие с семафорами ресурсов:

  1. Создать новый семафор ресурса

Создаётся дескриптор ресурса и определяется его состояние.

Процедура удаляет дескриптор ресурса из системы

Процесс, запрашивающий ресурс, выдает команду Запросить.Процессы могут быть заблокированы только своими действиями (самоблокировки) и только через эту операцию.

Блокирование происходит в том случае, если распределитель для этого семафора ресурсов не может или не будет удовлетворять запрос немедленно.

Действие команды запросить состоит в следующем:

  • занести процесс в список ожидания;
  • вызвать распределитель

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

 

2. Распределение ресурсов ОС

  1. На планировщик поступает поток запросов от процессов (заявок) на ресурс.
  2. Формируются очереди процессов (в соответствии с дисциплиной формирования очередей).
  3. Заявки имеют параметры:
    • требуемое время обслуживания;
    • приоритет.
  4. Выбор заявок из очереди производится по правилу, которое называется дисциплиной обслуживания.

 

Дисциплины распределения ресурсов, используемые в ОС.

Основой дисциплин распределения ресурсов является:

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

 

Дисциплины формирования очередей разделяются на два класса:

  1. Статический, где приоритеты назначаются до формирования очереди.
  2. Динамический, при котором приоритеты определяются в процессе формирования очереди.

 

Наиболее часто встречаемые дисциплины обслуживания:

  1. Бесприоритетные
  • Линейные
  • Дисциплина обслуживания в порядке поступления. Первый пришел – первый обслужился (FIFO)
  • Дисциплина обслуживания в порядке, обратном порядку поступления (LIFO)
  • Случайный выбор (RAND)
  • Циклические
  • Круговой циклический алгоритм (RR)
  • Многоуровневый циклический алгоритм (FB)
  • Смешанный алгоритм