Освободить некоторые элементы семафора ресурса
Запросить некоторые элементы семафора ресурса
Уничтожить семафор ресурса
Элементы потребляемых ресурсов могут быть освобождены независимо от любых предыдущих приобретений.
Потребляемые и воспроизводимые (повторно используемые) ресурсы имеют одно общее важное свойство: процесс может стать логически блокированным благодаря неудовлетворенному запросу на такой ресурс.
Это приводит к общему определению:
Логическим ресурсом (или просто ресурсом) является нечто, что может вызвать переход процесса в логически блокированное состояние.
Операции над семафорами ресурсов.
Определены четыре примитива, работающие с семафорами ресурсов:
- Создать новый семафор ресурса
Создаётся дескриптор ресурса и определяется его состояние.
Процедура удаляет дескриптор ресурса из системы
Процесс, запрашивающий ресурс, выдает команду Запросить.Процессы могут быть заблокированы только своими действиями (самоблокировки) и только через эту операцию.
Блокирование происходит в том случае, если распределитель для этого семафора ресурсов не может или не будет удовлетворять запрос немедленно.
Действие команды запросить состоит в следующем:
- занести процесс в список ожидания;
- вызвать распределитель
Операция выполняется, если процессу не требуется ранее полученный повторно используемый ресурс или если он хочет добавить единицы потребляемого ресурса к описи.
2. Распределение ресурсов ОС
- На планировщик поступает поток запросов от процессов (заявок) на ресурс.
- Формируются очереди процессов (в соответствии с дисциплиной формирования очередей).
- Заявки имеют параметры:
- требуемое время обслуживания;
- приоритет.
- Выбор заявок из очереди производится по правилу, которое называется дисциплиной обслуживания.
Дисциплины распределения ресурсов, используемые в ОС.
Основой дисциплин распределения ресурсов является:
- Дисциплины формирования очередей на ресурсы или совокупность правил, определяющих размещение процессов в очереди.
- Дисциплины обслуживания очереди или совокупность правил извлечения одного из процессов из очереди с последующим представлением выбранному процессу ресурса для использования.
Дисциплины формирования очередей разделяются на два класса:
- Статический, где приоритеты назначаются до формирования очереди.
- Динамический, при котором приоритеты определяются в процессе формирования очереди.
Наиболее часто встречаемые дисциплины обслуживания:
- Бесприоритетные
- Линейные
- Дисциплина обслуживания в порядке поступления. Первый пришел – первый обслужился (FIFO)
- Дисциплина обслуживания в порядке, обратном порядку поступления (LIFO)
- Случайный выбор (RAND)
- Циклические
- Круговой циклический алгоритм (RR)
- Многоуровневый циклический алгоритм (FB)
- Смешанный алгоритм