Уровни планирования процессов
Планирование процессов
1. Долгосрочное планирование процессов
Долгосрочное планирование – это планирование заданий. Оно отвечает за планирование и порождение новых процессов в системе, определяя ее степень мультипрограммирования, то есть количество процессов, одновременно находящихся в системе. Если степень мультипрограммирования системы поддерживается постоянно, то есть среднее количество процессов в компьютере не меняется, то новые процессы могут появляться только после завершения ранее загруженных. Долгосрочное планирование применяется очень редко.
2. Короткосрочное планирование
Короткосрочное планирование – это планирование использования процессора. Оно проводиться, к примеру, при обращении исполняющегося процесса к устройствам ввода-вывода или просто по истечению определенного интервала времени, поэтому короткосрочное планирование осуществляется не реже одного раза в 100 миллисекунд. Выбор нового процесса для исполнения оказывает влияние на функционирование системы до наступления очередного аналогичного события, то есть в течение короткого промежутка времени.
3. Среднесрочное планирование
В некоторых вычислительных системах бывает выгодно для повышения производительности временно удалить какой-либо частично выполнившийся процесс из ОС на диск, а позже вернуть его обратно для дальнейшего выполнения. Такая процедура называется свопинг, когда и какой из процессов нужно удалить или вернуть обратно решает один из уровней планирования процессов – среднесрочный.
Для каждого уровня планирования предлагается много алгоритмов. Цели, выполняемые алгоритмом:
1. Справедливость, каждому заданию определенную часть времени использования процессора и недопустить захват одного из процессов процессора.
2. Эффективность: занятость процессора на 100%. В реальной жизни от 40% до 90%.
3. Сокращение полного времени выполнения. Обеспечить минимум время между стартом процесса и его завершением.
4. Сокращение времени ожидания. Сократить время, которое проводят процессы в состояние готовности, и сократить время, которое проводит задание в очереди.
5. Сокращение времени отклика: минимизировать время, которое требуется процессу в интерактивных системах для ответа на запрос пользователя.
Свойства алгоритмов:
1. 1.Были предсказуемы. Одно и тоже задание должно выполняться приблизительно за одно и тоже время.
2. 2.Были связаны с минимальными накладными расходами. Время выбора процесса меньше чем время исполнения процесса.
3. 3.Равномерно загружали ресурсы вычислительной системы, отдавая предпочтения тем процессам, которые будут занимать малоиспользуемые ресурсы.
4. 4.Обладание масштабируемостью: не сразу теряли работоспособность при увеличении нагрузки. Рост количества процессов в системе в 2 раза не должен приводить к увеличению полного времени выполнения процессов на порядок.