Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операционная система воросы.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
10.15 Mб
Скачать
  1. Планирование в интерактивных системах. Примеры планирования.

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

Циклическое планирование

Одним из самых старых, простых, справедливых и наиболее используемых

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

Приоритетное планирование

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

Использование нескольких очередей

Основная идея :

время от времени выделять процессам, ограниченным скоростью вычислений, более существенные кванты времени, вместо того чтобы слишком часто выделять им небольшие кванты времени

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

Процессы, относящиеся к наивысшему классу, запускались на 1 квант времени,

процессы следующего по нисходящей класса — на 2 кванта времени, процессы

следующего класса — на 4 кванта времени, и т. д. Как только процесс использовал

все выделенные ему кванты времени, его класс понижался.

  1. Взаимоблокировка. Алгоритмы обнаружения и устранения взаимоблокировок. Пример работы алгоритмов.

Взаимоблокировка-это состояние при котором несколько процессов не могут продолжить свою работу, так как ожидают завершения друг друга.

Предположим, к примеру, что каждый

из двух процессов захотел записать отсканированный документ на компакт-диск.

Процесс А запрашивает разрешение на использование сканера и получает его. Процесс В запрограммирован по-другому, сначала он запрашивает разрешение на использование пишущего привода компакт-дисков и также получает это разрешение. Теперь А запрашивает разрешение на использование пишущего привода компакт-дисков, но запрос отклоняется до тех пор, пока это устройство не будет освобождено процессом В. К сожалению, вместо того чтобы освободить привод, В запрашивает разрешение на использование сканера. И в этот момент оба процесса

оказываются заблокированными навсегда. Такая ситуация называется тупиковой ситуацией (тупиком), или взаимоблокировкой (deadlock).

  1. Взаимоблокировка. Алгоритмы избежания взаимоблокировок. Пример работы алгоритмов.

Избежание взаимоблокировки

     Рассматривая обнаружения взаимоблокировок, мы неявно предполагаем, что когда процесс запрашивает ресурсы, он требует их все сразу. Однако в большинстве систем ресурсы запрашиваются поочередно, по одному. Избежание взаимоблокировки возможно при аккуратном предоставлении ресурсов. Существует алгоритм, который всегда может избегать ситуацию взаимоблокировки, мы можем избежать тупиков, но только если заранее будет доступна определенная информация. 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]