Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС 2.docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
111 Кб
Скачать
☆

Критерии планирования и требования к алгоритмам

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

  • Справедливость – гарантировать каждому заданию или процессу определенную часть времени использования процессора в компьютерной системе, стараясь не допустить возникновения ситуации, когда процесс одного пользователя постоянно занимает процессор, в то время как процесс другого пользователя фактически не начинал выполняться.

  • Эффективность – постараться занять процессор на все 100% рабочего времени, не позволяя ему простаивать в ожидании процессов, готовых к исполнению. В реальных вычислительных системах загрузка процессора колеблется от 40 до 90%.

  • Сокращение полного времени выполнения ( turnaround time ) – обеспечить минимальное время между стартом процесса или постановкой задания в очередь для загрузки и его завершением.

  • Сокращение времени ожидания ( waiting time ) – сократить время, которое проводят процессы в состоянии готовность и задания в очереди для загрузки.

  • Сокращение времени отклика ( response time ) – минимизировать время, которое требуется процессу в интерактивных системах для ответа на запрос пользователя.

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

  • Были предсказуемыми. Одно и то же задание должно выполняться приблизительно за одно и то же время. Применение алгоритма планирования не должно приводить, к примеру, к извлечению квадратного корня из 4 за сотые доли секунды при одном запуске и за несколько суток – при втором запуске.

  • Были связаны с минимальными накладными расходами. Если на каждые 100 миллисекунд, выделенные процессу для использования процессора, будет приходиться 200 миллисекунд на определение того, какой именно процесс получит процессор в свое распоряжение, и на переключение контекста, то такой алгоритм, очевидно, применять не стоит.

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

  • Обладали масштабируемостью, т. е. не сразу теряли работоспособность при увеличении нагрузки. Например, рост количества процессов в системе в два раза не должен приводить к увеличению полного времени выполнения процессов на порядок.

20. Задачи алгоритмов планирования процессов для данных систем состоят в следующем:

  • необходима организация окончания работы к назначенному сроку и предотвращение потери данных;

  • должна присутствовать предсказуемость, т. е. предотвращение каких-либо сбоев системы.

Задачи алгоритмов планирования для всех систем планирования процессов следующие:

  • справедливость, т. е. каждому процессу необходимо выделить справедливую долю процессорного времени;

  • контроль над выполнением принятого способа планирования процессов;

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

21-22-23. В чем заключаются алгоритмы планирования в системах пакетной обработки: первый пришел – первым обслужен и кратчайшая задача – первая?

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

Задачи алгоритмов планирования процессов для таких систем заключаются в следующем:

  • должна быть максимальная пропускная способность, т. е. количество задач в единицу времени;

  • должно быть минимальным оборотное время, т. е. минимальное время на ожидание обслуживания и обработку задач;

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

FIFO- При использовании этого алгоритма центральный процессор выделяется процессам в порядке поступления их запросов. По сути, используется одна очередь процессов, находящихся в состоянии готовности. Оно не прерывается по причине слишком продолжительного выполнения. По мере поступления других заданий они помещаются в конец очереди. При блокировке выполняемого процесса следующим запускается первый процесс, стоящий в очереди. Когда заблокированный процесс переходит в состояние готовности, он, подобно только что поступившему заданию, помещается в конец очереди. Сильной стороной этого алгоритма является простота его понимания и такая же простота его программирования и справедливость, процессы ставятся в очередь по мере их поступления, создавая связный список. недостатками. Недостаток заключается в том, что процесс, ограниченный возможностями процессора, может затормозить более быстрые процессы, ограниченные устройствами ввода/вывода.

Наименьшее оставшееся время выполнения.

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

Принцип трехуровневого планирования процессов

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

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

Планировщик процесса предоставляет процессор тому или иному процессу в зависимости от принятой стратегии, т. е. от используемого принципа планирования процессов FIFO, Кратчайшая …

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

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

Достоинства - не представляет сложности в реализации.

Недостаток - сложность подбора времени кванта.

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