Главная » Просмотр файлов » Ю. Вахалия - UNIX изнутри (2003)

Ю. Вахалия - UNIX изнутри (2003) (1114670), страница 50

Файл №1114670 Ю. Вахалия - UNIX изнутри (2003) (Ю. Вахалия - UNIX изнутри (2003)) 50 страницаЮ. Вахалия - UNIX изнутри (2003) (1114670) страница 502019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Это оказалось весьма сложным предприятием, поскольку программа, принимающая клавиатурный ввод, и программа для просмотра видео требовали взаимодействия с Х-эегчег. 212 Глава 5. Планирование процессов Для решения этой задачи авторы книги изменяли приоритеты и классы планирования всех четырех процессов (трех приложений и Х-зегчег). Выяснилось, что найти комбинацию параметров, обеспечивающих приемлемое протекание работы всех приложений очень трудно. Например, вполне логичным решением представляется размещение в классе реального времени только программы воспроизведения видео. На деле же оказалось, что даже программа работы с видео не может нормально функционировать.

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

В реальности же загрузка системы меняется постоянно, а подстраивать ее вручную при старте каждого нового приложения просто неразумно. 5.6. Расширенные возможности планирования системы Зо!апв 2.х В системе Бо1аг!з 2.х были расширены возможности архитектуры планирования БЧК4 сразу в нескольких направлениях 19!. Бо1аг!з является многонитевой, симметрично многопроцессорной операционной системой, следовательно, ее планировщик должен поддерживать все эти особенности. Кроме этого разработчики произвели оптимизацию системы в целях уменьшения задержек обслуживания планировщиком для высокоприоритетных, критичных ко времени процессов. В результате получился планировщик, более пригодный для приложений реального времени.

5.6.1. Вытесняющее ядро Точки вытеснения в ядре БЧК4 являются наилучшим компромиссным решением, позволяющим ограничить задержки, что требуется для процессов реального времени. Ядро системы Бо!аг!з 2х является полностью вытесняющим, что позволяет гарантировать быстроту его реакции. Это явилось радикальным изменением ядра (ЛЧ1Х и имело далеко идущие последствия. Большинство глобальных структур ядра необходимо защищать при помощи соответствующих объектов синхронизации, таких как семафоры или взаимные исключения (шцгпа! ехс1пз1оп !осЬ, шцгех).

Сделать ядро вьггесняющим — очень сложная 5.6. Расширенные возможности планирования системы 8о!апз 2.х 213 5.6.2. Многопроцессорная поддержка Система поддерживает единую очередь диспетчеризации для всех процессоров. Тем не менее некоторые нити (например, нити прерываний) могут быть ограничены выполнением только на одном, определенном процессоре.

Процессоры могут взаимодействовать друг с другом при помощи отправки мезгслроцессорных прерываний. Каждый процессор обладает следующим набором переменных планирования: срв спгеао срп ойрСЬгеао срв гп!е текущая нить, выполняемая на этом процессоре нить, выбранная последней для запуска нить холостой работы флаг вытеснения, используемый нитями класса разделения времени флаг вытеснения, устанавливаемый нитями класса реального времени срп гппщп срв !гргопгпп срв сботеп !ече! Приоритет нити, собирающейся вытеснить текущую нить Планирование в многопроцессорных средах показано на рис. 5.6.

Событие на процессоре П1 делает пить Нб (с приоритетом 130) готовой к выполнению. Ядро помещает Нб в очередь отправки на выполнение и вызывает процедуру сро своозеО для нахождения процессора, на котором выполняется нить, имеющая наименьший приоритет (в данном случае это — ПЗ). Так как приоритет найденной нити окажется меньше, чем у Нб, процедура срц сйоозе() пометит процессор, на котором эта нить выполняется, для вытеснения, установит его значение переменной сро с!говел (ече! равным приоритету Нб (130) и пошлет ему межпроцессорное прерывание.

Предположим, что в это время, то есть до того как процессор ПЗ обработает прерывание и вытеснит нить НЗ, другой задача, однако решение этой проблемы является необходимым требованием для многопроцессорных операционных систем. Другим подобным изменением в системе $о(аг)з 2х является реализация прерываний при помощи специальных нитей ядра, использующих стандартные средства синхронизации ядра и блокирующихся в ожидании ресурсов, если это необходимо (см.

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

214 Глава 5. Планирование процессов пт П2 пз П4 Пб Вытесняется Пт П2 пз П4 срс слосеп 1ече1 130 Пб Выполняется на ПЗ б Рис. 5.6. Многопроцессорное планирование в системе Зо!апе 2.х: а — начальное состояние; б — после того как Нб и п7 станут готовы к выполнению Существуют определенные ситуации, когда низкоприоритетная нить может заблокировать более высокоприоритетную нить на длительный период времени.

Причиной возникновения подобных ситуаций является либо скры- процессор, например П2, обрабатывает событие, которое сделает нить Н7 с приоритетом 115 готовой к выполнению. Теперь процедура сро с11оозе() проверит значение срц спозеп (ече( процессора ПЗ и обнаружит его равным 130. Это приведет к тому, что процедура выявит, что на данном процессоре выполняется нить с более высоким приоритетом. Следовательно, процедура срц споозеО оставит НУ в очереди отправки на выполнение, предупреждая конфликт, 5.6. Расширенные возможности планирования системы Зо!апз 2.х 215 тое планирование, либо ивверсия приоритетов. В системе Бо1апз устранены подобные проблемы.

Как это сделано, описано в следующих разделах главы. 5.6.3. Скрытое планирование Ядро системы часто совершает некоторые действия асинхронно от имени нити. Ядро планирует эту работу без учета приоритета нити, для которой ее выполняет. Это называется скрытьаи планироеанием. Примерами таких действий ядра являются процедуры обслуживания 5ТКЕАМ5 (см.

раздел 17.4) и отложенные вызовы. В операционной системе 5УК4, например, перед каждым возвратом процесса в режим задачи ядро вызывает процедуру гопсоепезО для проверки существования ожидающих запросов на обслуживание. Если таковые существуют, то ядро обрабатывает эти запросы при помощи вызова процедуры зеппсе соответствующего модуля БТКЕАМ5. Таким образом, подобные запросы обслуживаются текущим пооцессом (тем самым, который собирается возвратиться в режим задачи), хотя они относятся к совсем другим процессам.

Если приоритет процесса, от чьего имени был сделан запрос, ниже, чем у текущего, запрос будет обработан с неверным приоритетом. В результате нормальная работа текущего процесса прерывается выполнением низкоприоритетной задачи. В 5о1аг1з эта проблема решается посредством перевода функционирования 5ТКЕАМБ на уровень нитей ядра, которые всегда обладают приоритетом меньшим, чем у нитей режима реального времени. Однако такое решение порождает новую проблему: некоторые запросы БТКЕАМ5 могут быть инициированы нитями реального времени. Поскольку эти запросы также обслуживаются нитями ядра, они обрабатываются с более низким приоритетом, чем должны. Эта проблема не решается без кардинальных изменений в семантике обработки нитей и остается возможным препятствием для функционирования режима реального времени на требуемом уровне.

Также существует проблема, связанная с обработкой отложенных вызовов (см. раздел 5.2.1). В системе 131ч1Х все отложенные вызовы обслуживаются с самым низким уровнем приоритета прерываний, являющимся, однако, выше любого приоритета реального времени. Если такой вызов будет произведен низкоприоритетной нитью, то его обслуживание может задержать постановку на выполнение высокоприоритетной нити. Измерения производительности, проводимые на ранних версиях 5ппОБ, показали, что для обработки очереди отложенных вызовов система способна потратить до 5 миллисекунд.

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

Тип файла
PDF-файл
Размер
8,36 Mb
Тип материала
Высшее учебное заведение

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

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