Планирование загрузки процессоров. Три уровня планирования. Цели и критерии планирования.


Планирование управления вычислительными ресурсами. Планирование загрузки процессора – это определение того, когда, в какое время и какому процессу следует предоставлять центральный процессор. Планирование – scheduling. Планировщик – scheduler (верхний уровень). Планирование делится на 3 уровня: 1) на верхнем уровне: планирование заданий, то есть какие задания получают статус процессов; производится автоматически или вручную; 2) планирование на промежуточном (пониженном intermedia) уровне: Цель: балансировка нагрузки, способ: приостановка. Принятие решения о приостановке и возобновлении процессов. 3) планирование на нижнем уровне lowlevel (диспетчеризация). Выделение процессам квантов процессорного времени. Часть ОС, занимающаяся этим, называется диспетчер. Цели планирования в зависимости от приоритетов и назначения планирования: 1) планировщик должен учитывать приоритеты процессов; 2) должно быть справедливым, хотя бы не допускать бесконечного вытеснения (ожидания) более неприоритетного процесса; один из методов: старение процессов; 3) обеспечение максимальной производительности системы в целом (процессор не должен ожидать); 4) для интерактивных процессов – обеспечение минимального времени реакции системы на внешнее событие; 5) обеспечение предсказуемости времени выполнения; 6) балансировка использования ресурсов (если наблюдается пере- или недорегулирование ресурсов); 7) минимизация накладных ресурсов; 8) в процессе планирования нельзя допускать деградации ОС (резкого уменьшения производительности по вине диспетчера).

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

Критерии планирования: 1)    ограничивается ли процесс вводом/выводом (интерактивный); 2)    ограничивается ли процесс ЦП (вычислительный); 3)    является ли процесс пакетным  или диалоговым; 4)    приоритетность процессов; 5)    насколько обязательна быстрота реакции; 6)    насколько часто при выполнении процесса возникают прерывания по отсутствию нужных страниц в памяти; 7)    насколько часто данный процесс приостанавливается из-за переключения на процесс более высокого приоритета; 8)    сколько времени уже получил данный процесс; сколько времени ещё требуется процессу для завершения.