Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Виды планирования

Планирование процессов

Планирование - это обеспечение поочередного доступа процесса к одному процессору.

Планировщик - отвечающая за планирование часть ОС.

Ситуации, когда необходимо планирование:

1. когда создается процесс;

2. когда процесс завершает работу;

3. когда процесс блокируется на операции ввода-вывода, в семафоре и т.д.;

4. при прерывании.

Существует два вида планирования: планирование задания и планирование процессора.

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

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

В некоторых вычислительных системах бывает полезно удалять временно какой-либо частично выполнившийся процесс из ОП на диск и обратно, что называется своппингом (swapping). Когда и какой процесс надо перекачать, решается среднесрочным планированием.

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

Цели (стратегии):

1. справедливость - гарантировать каждому заданию или процессу определенную часть времени использования процессора.

2. эффективность - постараться занять процессор на 100%. В реальных ВС загрузка процессора – от 40 до 90%.

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

4. сокращение времени ожидания (waiting time) - минимизировать время пребывания процесса в состоянии «готовность» и задания в очереди для загрузки.

5. сокращение времени отклика для интерактивных систем (respise time) - минимизировать время для ответа на запрос пользователя.

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

1. предсказуемость – одно и то де задание должно выполняться приблизительно за одно и то же время. Например, если извлечение корня происходит при одном запуске за 0,1 сек, а при втором - за несколько суток.

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

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

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

5. количество ресурсов.

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




Поделиться с друзьями:


Дата добавления: 2015-05-10; Просмотров: 4285; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.