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

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

Как и оперативная память, процессор является разделяемым ресурсом, который должен быть справедливо распределен между конкурирующими процессами. Планировщик процессов как раз и является той подсистемой ядра, которая обеспечивает предоставление процессорных ресурсов процессам, выполняющимся в операционной системе. UNIX является системой разделения времени, это означает, что каждому процессу вычислительные ресурсы выделяются на ограниченный промежуток времени, после чего они предоставляются другому процессу и т.д. Максимальный временной интервал, на который процесс может захватить процессор, называется временным квантом (time quantum или time slice). Таким образом создается иллюзия, что процессы выполняются одновременно, хотя в действительности в каждый момент времени выполняется только один (на однопроцессорной системе) процесс.

UNIX является многозадачной системой, а это значит, что одновременно выполняются несколько приложений. Очевидно, что приложения предъявляют различные требования к системе с точки зрения их планирования и общей производительности. Можно выделить три основных класса приложений:

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

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

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

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

В этом разделе мы рассмотрим основные принципы и механизмы планирования в традиционных UNIX-системах. Начнем с обработки прерываний таймера, поскольку именно здесь инициируются функции планирования и ряд других действий, например, отложенные вызовы (callout) и алармы (alarm).

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

5.2.4 Планирование

Из книги Процессы жизненного цикла программных средств автора Автор неизвестен


7.1.2 Планирование

Из книги Информационная технология ПРОЦЕСС СОЗДАНИЯ ДОКУМЕНТАЦИИ ПОЛЬЗОВАТЕЛЯ ПРОГРАММНОГО СРЕДСТВА автора Автор неизвестен


8.1.5.2 Планирование

Из книги Энциклопедия разработчика модулей ядра Linux автора Померанц Ори


F.3.3 Планирование

Из книги Практика и проблематика моделирования бизнес-процессов автора Всяких Е И


ГЛАВА 7 Потоки и планирование выполнения

Из книги VBA для чайников автора Каммингс Стив

ГЛАВА 7 Потоки и планирование выполнения Основной единицей выполнения в Windows является поток, и одновременно несколько потоков могут выполняться в рамках одного процесса, разделяя его адресное пространство и другие ресурсы. В главе 6 процессы ограничивались только одним


Приоритеты процессов и потоков и планирование выполнения

Из книги Путь программиста: от 100$ до 10000$ в месяц автора Никитин Александр

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


Планирование производства (РР)

Из книги Программирование для Linux. Профессиональный подход автора Митчелл Марк

Планирование производства (РР) Модуль SAP Production Planning (РР) демонстрирует реальные преимущества такой интегрированной, ориентированной на процессы и работающей в реальном времени системы, как SAP R/3. Анализируя свежайшую информацию, полученную от различных функций, система


Планирование макросов

Из книги Операционная система UNIX автора Робачевский Андрей М.

Планирование макросов Прежде чем вы пропустите этот тоскливый раздел и с головой погрузитесь в процесс записи макросов, выслушайте один довольно консервативный совет: чтобы избежать лишней головной боли, уделите немного времени планированию макроса перед тем, как


Планирование

Из книги Разработка ядра Linux автора Лав Роберт

Планирование Чтобы добиться в чем-то успеха, нужно понимать, куда вообще двигаться. Поэтому потратьте время, сядьте и напишите на бумаге свои ближайшие планы и цели. Зачем Вы читаете эту книгу? Чему Вы хотите научиться? Почему Вы хотите этому научиться? Что из уже


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

Из книги Идеальный программист. Как стать профессионалом разработки ПО автора Мартин Роберт С.

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


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

Из книги автора

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


Глава 4 Планирование выполнения процессов

Из книги автора

Глава 4 Планирование выполнения процессов В предыдущей главе были рассмотрены процессы — абстракция операционной системы, связанная с активным программным кодом. В этой главе представлен планировщик процессов — код, который позволяет процессам


9 Планирование

Из книги автора

9 Планирование Восемь часов – на удивление короткий промежуток времени. Это всего лишь 480 минут, или 28 800 секунд. Вы как профессионал должны использовать эти драгоценные секунды как можно более эффективно. Какую стратегию вы изберете, чтобы избежать напрасных затрат