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

Вид материалаДокументы
Подобный материал:
1   ...   8   9   10   11   12   13   14   15   16

41. Типы и алгоритмы планирования процессора.

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

Типы планирования:

краткосрочное (выработка решения о том, какой из процессов будет выполняться следующим), среднесрочное (выработка решения о добавлении процесса в число процессов, размещённых в оперативной памяти), долгосрочное (выработка решения о том, добавлять ли процесс к выполняемым); планирование ввода/вывода – выработка решения о том, какой из запросов будет первым обрабатываться устройством.Долгосрочное планирование: определяет степень многозадачности системы; в большей степени имеет отношение к пакетным системам; часть системы управления свопинга.Краткосрочное планирование: это планирование, которое выполняется всё время (диспетчер – реализует один из слоёв обработчика любого вида прерывания).

Критерии долгосрочного планирования: пользовательские критерии связаны с поведением системы по отношению к пользователю;системные критерии ориентированы на эффективность использования процессора.

Ориентированные на производительность критерии – представляются в численном виде, они легкоизмеряемы (пропускная способность для серверов; время отклика (для систем реального времени)).

Критерии не связанные с производительностью – например, предсказуемость (данное задание должно выполняться приблизительно в одно и тоже время независимо от загруженности системы).

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

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

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

1. Системы пакетной обработки данных.

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

2. Интерактивные системы.

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

3. Системы реального времени.

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

Стратегия

Функция выбора

Режим

Пропускная способность

Время отклика

Накладные расходы

Влияние на другие процессы

Голодание

FCFS (first come-first served)

max(w)

w – время затраченное к этому моменту системой на выполнение процесса (учитывая ожидание)

Невы

тесня

ющий

Не важна

Может быть большим

Мини

мальные

Плохо для коротких процессов и процессов с интенсив

ным вводом/

выводом

Нет

SPN

(shortest process next)

min(s)

Общее время обслуживания

Невы

тесня

ющий

Высокая

Очень хорошее для коротких процесс

Сов

Могут быть высокими

Плохо сказывается на

длинных

процессах

возможно

SRT

(shortest

remaining

time)

min(s-e)

s – общее время обслуживания

e – время затраченное

к этому моменту на

выполнение

без ожидания

Вытес

няющ

ий

По Реше

нию

Высокая

Хорошее

Могут быть

высокими

-||-

Возможно

HRRN

(higest

response

ration

next)

max((w+s)/s)

Невы

тесня

ющий

Высокая

Хорошее

Могут

быть высокими

Хороший баланс

Нет

RR

(round

robin)

const

Вытес

няющ

ий

По

Врем

ени

Может

быть

малой

Для

коротких

процесс

сов

хорошее

Мини

мальные

(высокие

при

малом

кванте

времени)

Беспри

страстна

Нет

Снижение прио

Ритета

(приоритет

снижается

с ростом

Показателя е)

-||-

Не важна

Не важно

Могут

быть

высокими

Предпочи

тает

Процессы

С интен

сивным

вводом/

выводом