Главная » Просмотр файлов » Гордеев А.В. Операционные системы (2-е изд., 2004)

Гордеев А.В. Операционные системы (2-е изд., 2004) (1186250), страница 18

Файл №1186250 Гордеев А.В. Операционные системы (2-е изд., 2004) (Гордеев А.В. Операционные системы (2-е изд., 2004)) 18 страницаГордеев А.В. Операционные системы (2-е изд., 2004) (1186250) страница 182020-08-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 18)

Потери, связанные с невыполнением таких задач, могутоказаться больше, чем потери от невыполнения программ с более высоким прио­ритетом. При этом оказывается целесообразным временно изменить приоритет«аварийных» задач (для которых истекает отпущенное для них время обработки).После выполнения этих задач их приоритет восстанавливается. Поэтому почти в лю­бой операционной системе реального времени (ОС РВ) имеются средства для дина­мического изменения приоритета (dynamic priority variation) задачи. Есть такие сред­ства и во многих операционных системах, которые не относятся к классу ОС РВ.Рассмотрим, например, как реализован механизм динамических приоритетов в опе­рационной системе UNIX, которая, как известно, не относится к ОС РВ.

Операцион-V66Глава 2, Управление задачаминые системы класса UNIX относятся к мультитерминальным диалоговым системам.Основная стратегия обслуживания, применяемая в UNIX-системах, — это равенствов обслуживании и обеспечение приемлемого времени реакции системы. Реализует­ся эта стратегия за счет дисциплины диспетчеризации RR с несколькими очередямии механизма динамических приоритетов. Приоритет процесса вычисляется следую­щим образом [39]. Во-первых, в вычислении участвуют значения двух полей деск­риптора процесса — p_nice и р_сри.

Первое из них назначается пользователем явноили формируется по умолчанию с помощью системы программирования. Второеполе формируется диспетчером задач (планировщиком разделения времени) и на­зывается системной составляющей или текущим приоритетом. Другими словами,каждый процесс имеет два атрибута приоритета. С учетом этого приоритета и рас­пределяется между исполняющимися задачами процессорное время: текущий при­оритет, на основании которого происходит планирование, и заказанный относи­тельный приоритет (называемый nice number, или просто nice).Схема нумерации текущих приоритетов различна для различных версий UNIX.Например, более высокому значению текущего приоритета может соответствоватьболее низкий фактический приоритет планирования.

Разделение между приори­тетами режима ядра и задачи также зависит от версии. Рассмотрим частный слу­чай, когда текущий приоритет процесса варьируется в диапазоне от 0 (низкий при­оритет) до 127 (наивысший приоритет). Процессы, выполняющиеся в режимезадачи, имеют более низкий приоритет, чем в режиме ядра. Для режима задачиприоритет меняется в диапазоне 0-65, для режима ядра — 66-95 (системный диа­пазон). Процессы, приоритеты которых лежат в диапазоне 96-127, являются про­цессами с фиксированным приоритетом, не изменяемым операционной системой,и предназначены для поддержки приложений реального времени.Процессу, ожидающему недоступного в данный момент ресурса, система опреде­ляет значение приоритета сна, выбираемое ядром из диапазона системных при­оритетов и связанное с событием, вызвавшим это состояние.

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

Это может привести к понижению приоритета, что, в свою оче­редь, вызовет переключение контекста.Текущий приоритет процесса в режиме задачи p_priuser, как мы только что отмеча­ли, зависит от значения относительного приоритета p_nice и степени использова­ния вычислительных ресурсов р_сри:p_pri user = а х p_nice - b х p_cpuЗадача планировщика разделения времени — справедливо распределить вычис­лительный ресурс между конкурирующими процессами. Для принятия решения оПигпйтчеризация задач с использованием динамических приоритетов67ыборе следующего запускаемого процесса планировщику необходима информаи я об использовании процессора. Эта составляющая приоритета уменьшаетсябработчиком прерываний таймера каждый тик. Таким образом, пока процесс вып о1Няется в режиме задачи, его текущий приоритет линейно уменьшается.Каждую секунду ядро пересчитывает текущие приоритеты процессов, готовых к за­пуску (приоритеты которых меньше некоторого порогового значения; в нашемпримере эта величина равна 65), последовательно увеличивая их за счет последо­вательного уменьшения отрицательного компонента времени использования про­цессора.

Как результат, эти действия приводят к перемещению процессов в болееприоритетные очереди и повышению вероятности их последующего выполнения.Возможно использование следующей формулы:Вp_cpu = р__сри/2В этом правиле проявляется недостаток нивелирования приоритетов при повы­шении загрузки системы. Происходит это потому, что в таком случае каждый про­цесс получает незначительный объем вычислительных ресурсов и, следовательно,имеет малую составляющую р_сри, которая еще более уменьшается благодаря фор­муле пересчета величины р_сри.

В результате загрузка процессора перестает ока­зывать заметное влияние на приоритет, и низкоприоритетные процессы (то естьпроцессы с высоким значением nice number) практически «отлучаются» от вычис­лительных ресурсов системы.В некоторых версиях UNIX для пересчета^значения р_сри используется другаяформула:p__cpu = p_cpu х (2 х load)/(2 х load + 1)Здесь параметр load равен среднему числу процессов, находившихся в очереди навыполнение за последнюю секунду, и характеризует среднюю загрузку системы заэтот период времени.

Этот алгоритм позволяет частично избавиться от недостаткапланирования по формуле p_cpu = p_cpu/2, поскольку при значительной загрузкесистемы уменьшение р_сри при пересчете будет происходить медленнее.Описанные алгоритмы диспетчеризации позволяют учесть интересы низкоприо­ритетных процессов, так как в результате длительного ожидания очереди на за­пуск приоритет таких процессов увеличивается, соответственно повышается и ве­роятность их запуска. Эти алгоритмы также обеспечивают более вероятный выборпланировщиком интерактивных процессов по отношению к сугубо вычислитель­ным (фоновым). Такие задачи, как командный интерпретатор или редактор, боль­шую часть времени проводят в ожидании ввода, имея, таким образом, высокийприоритет (приоритет сна).

При наступлении ожидаемого события (например,пользователь осуществил ввод данных) им сразу же предоставляются вычисли­тельные ресурсы. Фоновые процессы, потребляющие значительные ресурсы про­цессора, имеют высокую составляющую р_сри и, как следствие, более низкий прио­ритет."алогичные механизмы имеют место и в таких операционных системах, как OS/2и Windows NT/2000/XP. Правда, алгоритмы изменения приоритета задач в этих' 5стемах иные. Например, в Windows NT/2000/XP каждый поток выполнения1еетбазовый уровень приоритета, который лежит в диапазоне от двух уровнейл68Глава 2, Управление задачаминиже базового приоритета процесса, его породившего, до двух уровней выше этогоприоритета, как показано на рис.

2.4. Базовый приоритет процесса определяет, скольсильно могут различаться приоритеты потоков этого процесса и как они соотно­сятся с приоритетами потоков других процессов. Поток наследует этот базовыйприоритет и может изменять его так, чтобы он стал немного больше или немногоменьше. В результате получается приоритет планирования, с которым поток и на­чинает исполняться. В процессе исполнения потока его приоритет может откло­няться от базового.А151413121110987654321ПриоритетДиапазонзначенийдинамическогоприоритетапотокаБазовый приоритетпроцессаБазовый приоритетпотокаРис. 2.4.

Схема динамического изменения приоритетов в Windows NT/2000/XPНа рисунке также показан динамический приоритет потока, нижней границей ко­торого является базовый приоритет потока, а верхняя зависит от вида работ, ис­полняемых потоком. Например, если поток обрабатывает текущие результаты опе­раций ввода пользователем своих данных, диспетчер задач Windows поднимаетего динамический приоритет; если же он выполняет вычисления, то диспетчер за­дач постепенно снижает его приоритет до базового. Снижая приоритет одной за­дачи и поднимая приоритет другой, подсистемы могут управлять относительнойприоритетностью потоков внутри процесса.Для определения порядка выполнения потоков диспетчер задач использует систе­му приоритетов, направляя на выполнение задачи с высоким приоритетом раньшезадач с низким приоритетом.

Система прекращает исполнение, или вытесняет(preempts), текущий поток, если становится готовым к выполнению другой потокс более высоким приоритетом.Имеется группа очередей — по одной для каждого приоритета. В операционныхсистемах Windows NT/2000/XP используется один и тот же диспетчер задач. Онподдерживает 32 уровня приоритета. Задачи делятся на два класса: реального вре­мени и переменного приоритета.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6549
Авторов
на СтудИзбе
300
Средний доход
с одного платного файла
Обучение Подробнее