В. Столлингс - Операционные системы (1114679), страница 87
Текст из файла (страница 87)
На рис. 9.1 функции планирования привязаны к диаграмме п е переходов состояния процесса (впервые показанной на рис. 3.6,б). Долгосрочн срочное планирование осуществляется при создании нового процесса и представляет с б й со о решение о добавленг(и нового процесса к множеству активных в настоящий момент процессов. Среднесрочное планирование является частью свопинга и и представляет собой решение о добавлении процесса к множеству по крайней ме е мере частично расположенных в основной памяти (и, следовательно доступных д ) х для выполнения) процессов.
Краткосрочное планирование является решением о м о том, какой из готовых к выполнению процессов будет выполняться следующим. Н . ".2 м. а рис. диаграмма пере)юдов реорганизована таким образом, чтобы показать вложенность функций планирования. планирование Рис. а1. Место планирования в диаграмие переходов состояний процесса ~'лава а 9. Планирование в системах с одним процессором Долгосрочное Рис. 9.3. Диаграмма планирования с участием очередей Долгосрочное планирование Долгосрочное планирование указывает, какие программы допускаются к выполнению системой, и тем самым определяет степень многозадачности.
Будучи допущенным к выполнению, задание (или пользовательская программа) становится процессом, который добавляется в очередь для краткосрочного планирования. В некоторых системах вновь созданный процесс добавляется к очереди среднесрочного планировщика, будучи целиком сброшенным на диск. В пакетных системах (или в пакетной части операционной системы общего назначения) новое задание направляется на диск и хранится в очереди пакетных заданий, а долгосрочный планировщик по возможнос(и создает процессы для заданий из очереди.
В такой ситуации планировщик должен принять решение, во-первых, о том, способна ли операционная система работать с дополнительными процессами, а во-вторых, о том, какое именно задание (или задания) следует превратить в процесс (процессы). Рассмотрим вкратце эти решения. 1 Для простоты восприятия на рис. 9Л новые процессы показаны как непосредственно становящиеся в онередь готовых к выполнению, в то время как на рис. 9.1 и 9.2 видно, кто новый процесс может быть как в состоянии готовноспш.
так и приостановленным. ~ лава 9. Планирование в системах с одним процессором 461 Планирование оказывает большое влияние на произво скольку именно оно определяет, какой процесс будет выпо дать выполнения. На рис. 9.3 показаны очереди, включенн д аграмму переходов состояний процесса.з По сути планирование представляет собой управление очередя ми с целью минимизации задержек и оптимизации производительности системы. Решение о том, когда следует создавать новый процесс, в общем определя ' . желаемым уровнем многозадачности. Чем больше процессов будет создано; меньший процент времени будет тратиться на выполнение каждого из (поскольку в борьбе за одно и то же время конкурирует большее количество прац~ сов), Таким образом, долгосрочный планировщик может ограничить степень мног задачности, с тем чтобы обеспечить удовлетворительный уровень обслуживания т кущего множества процессов.
Каждый раз при завершении задания планировна 1 решает„следует ли добавить в систему один или несколько новых процессов. Кро~ того, долгосрочный планировщик может быть вызван в случае, когда относительное время простоя процессора превышает некоторый предопределенный порог. Решение о том, какое из заданий должно быть добавлено в систему, может ' . основываться на простейшем принципе первым поступил — первым обслу~щц~ж,".:: -:"$" кроме того, для управления производительностью системы может использова~:,' ся и специальный инструментарий. Используемые в последнем случае критещщ', могут включать приоритет заданий, ожидаемое время выполнения и требова у," для работы устройств ввода-вывода. Например, если заранее доступна детальна ':; информация о процессах, планировщик может пытаться поддерживать в сиота смесь из процессов, ориентированных на вычисления и загружающих процесса и процессов с высокой интерактивностью ввода-вывода и малой загрузкой цессора.
Принимаемое решение может также зависеть от того, какие именно рнФ.. сурсы ввода-вывода будут запрашиваться процессом. В случае использования интерактивных программ в системах с разделе времени запрос на запуск процесса может генерироваться действиями польз " теля по подключению и системе. Пользователи не просто вносятся в очередей.. ожидании, когда система обработает их запрос на подключение. Вместо это., операционная система принимает всех зарегистрированных пользователей до'ММ,; сыщения системы (пороговое значение которого определяется заранее). П достижения состояния насыщения на все запросы на вход в систему будет нол34"" чено сообщение о заполненности системы и временном прекращении доступа'~Ф."' ней с предложением повторить операцию входа попозже.
.ф. Среднесрочное планирование Среднесрочное планирование является частью системы свопинга, вопро . „,.",- которого рассматривались в главах 3, "Описание процессов и управление д:", 7, "Управление памятью", и 8, "Виртуальная память". Обычно решение о ФФ',:= грузке процесса в память принимается в зависимости от степени многозадаЧйФ~:, сти; кроме того, в системе с отсутствием виртуальной памяти среднесроЧФПя'::, планирование также тесно связано с вопросами управления памятью. Таким об',:; разом, решение о загрузке процесса в память должно учитывать требования,Ж,' памяти выгружаемого процесса.
:,",Х, Краткосрочное планирование Рассматривая частоту работы планировщика, можно сказать, что дол срочное планирование выполняется сравнительно редко, среднесрочное— сколько чаще. Краткосрочный же планировщик, известный также как дисп Иьзрайс11ег), работает чаще всего, определяя, какой именно процесс будет полняться следующим. Краткосрочный планировщик вызывается при наступлении события, кото рое может приостановить текущий процесс или предоставить возможность пре кратить вы атить выполнение данного процесса в пользу другого. Вот некоторые примеры таких событий: ° прерывание таймера, ° прерывания ввода-вывода; е вызовы операционной системы; э сигналы.
9.2.-':АЛГОР~МЬХ-'ПЛАЯИРОВ~ИЯ::: "':""."- Критерии краткосрочного планирования Основная цель краткосрочного планирования состоит в распределении процессорного времени так времени таким образом чтобы оптимизировать один или несколько У аспектов поведения системы. Вообще говоря, имеется множество критериев оценки различных стратегий планирования, Наиболее распространенные критерии могут быть классифицированы в двух плоскостях. Во-первых, мы можем разделить их на пользовательские и системные.
Пользовательские критерии связаны с поведением системы по отношению к отдельному пользователю или процессу. В качестве примера можно привести время отклика в интерактивной системе. Время отклика представляет собой интервал между передачей запроса и началом ответа на него. Его пользователь ощущает непосредственно, и, само собой, продолжительность интервала очень интересует его. Мы намерены создать стратегию планирования, обеспечивающую качественный сервис для пользователей? В таком случае для времени отклика следует установить порог, например в 2 секунды.
Тогда цель механизма планирования должна заключаться в максимизации количества пользо ь ователей, среднее время отклика для которых не превышает 2 секунд. Системные критерии ориентированы на эффективность и полноту использования процессора. В качестве примера можно привести ппопускную способность, которая представляет собой скорость завершения процессов.
Это, у Это безусловно, аффективная мера производительности системы, которая должна быт быть максимизирована. Однако она в большей степени ориентирована на произ д зво ительность системы, а не на обслуживание пользователя, так что и удовлетворять ять она будет системного администратора, а не пользователей системы. В то время как пользовательские критерии важны почти для ля всех систем, системные критерии для однопользовательских систем не так зна к значимы. В этом случае„пожалуй, достижение высокой эффективности использования р ц ния п оцессора или высокая производительность не так существенны, как скорос ко ость ответа сисмы приложению пользователя.
Еще один способ разделения критериев — на те, которые связаны с ро с п изводи- о не связаны. Орительностью, и те, которые с производительностью непосредственно не связан ° Ор ентированные на производительность критерии выражаются числовыми овыми значениями и обычно достаточно легко измеримы — примерами их могут служить ре ить в мя отклика и пропускная способность Критерии, не связанные с производительнос льностью непо- 'Часть 4. Планиро Глава 9.