Ю. Вахалия - UNIX изнутри (2003) (1114670), страница 55
Текст из файла (страница 55)
Последний класс служб общего назначения используется для низкоприоритетных фоновых задач. Планировщик гарантирует, что выполнение таких задач не будет оказывать влияния на работу изохронных нитей. Несколько слов о том, как планировщик проводит политику управления доступом. Перед приемом нового видеопотока резервируются все необходимые для этого потока ресурсы, которые включают в себя часть процессорного времени, пропускную способность при операциях с диском и сетевым контроллером. Если серверу не удается зарезервировать ресурсы, то он не разрешит обработку запроса. Каждая служба реального времени за каждую свою активацию может обрабатывать ограниченное число рабочих блоков. Например, сетевой драйвер перед тем, как освободить процессор, вправе обработать лишь опрелелепное количество входящих сообщений.
Планировщик также по отдельности устанавливает фиксированный объем всех ресурсов для заданий общего характера, по отношению к которым не используется управление доступом. Такой подход защищает задания общего применения от зависания на сильно загруженных системах. Для реализации описанной политики система планирует не только процессорное время, но и дисковые и сетевые операции. Запросам на ввод-вывод назначаются приоритеты на основе инициируюшей их задачи.
Обрабатываются в первую очередь высокоприоритетные запросы. Резервирование пропускной способности всего тракта из всех имеющихся ресурсов дает возможность гарантировать, что система будет удовлетворять требованиям всех допущенных видеопотоков. Такой подход также гарантирует продолжение выполнения низкоприоритетных задач даже в случае максимальной загруженности системы. В трехуровневом алгоритме планирования общецелевые задания являются полностью вытесняемыми. Задания реального времени могут вытесняться изохроппыми заданиями только в четко определенных точках вытеснения, которые обычно находятся в конце выполнения каждого блока работы. Изохронные задачи используют алгоритм планирования постоянного отношения (гасе-пюпосоп1с, описан в ~1Ц). Каждая такая задача обладает определенным фиксированным приоритетом планирования, зависящим от ее периода.
Чем меньше период, тем выше будет приоритет. Высокоприоритетная изохропная задача может вытеснить задачу с более низким приоритетом только в точке вытеснения. В работе 1151 показано, что алгоритм постоянного отношения оптимален для планирования периодических задач с фиксированными приоритетамии. 5.! 1. Упражнения 233 Еше одной проблемой серверов, работающих на традиционных системах 1Л~11Х, является их неспособность справляться с перенасышением, вызванным большой нагрузкой. Системы 1Ач1Х производят основную часть обработки входящих сетевых запросов на уровне прерываний. Если входящий трафик слишком высок, система тратит больше времени на обработку прерываний, оставляя слишком малую его долю на обслуживание запросов.
Если входная загрузка превышает определенный критический уровень, резко снижается пропускная способность сервера. Эта проблема известна под названием пепии приема (гесе1че!Ье!ос1). Применение трехуровневого планировшика решает проблему путем перемещения всей обработки сетевых запросов на уровень задач реального времени, для которых ограничен объем обрабатываемого за один прием трафика. Если входящий трафик превысит критическую отметку, сервер отбросит избыточные запросы, что даст возможность продолжения обработки запросов, которые были приняты, Следовательно, после снижения трафика пропускная способность вновь приблизится к постоянной величине, вместо того чтобы снизиться. 5.10.
Заключение В этой главе были рассмотрены несколько различных архитектур планирования и показано, как они влияют на действия системы по отношению к различным типам приложений. Поскольку вычислительные системы применяются в самых различных областях деятельности, каждая из которых обладает определенным набором требований, то ни один планировшик не может идеально устраивать все системы. Планировшик ОС Во!аг1з 2т подходит для многих типов приложений и предоставляет механизм, позволяющий динамически добавлять новые классы планирования, удовлетворяющие требованиям каких-либо особых приложений. Он лишен некоторых возможностей, таких как поддержка ввода-вывода нитей реального времени или управляемое пользователем планирование работы с диском, однако он является более совершенным, чем традиционный планировшик ПХ1Х.
Другие методы планирования, которые были рассмотрены в этой главе, применимы для особых областей приложений, например для параллельной обработки или мультимедиа. 5.11. Упражнения 1. Почему отложенные вызовы не обрабатываются непосредственно обработчиком прерываний таймера? 2. В каких ситуациях для обработки отложенных вызовов использование временных колес будет более эффективным, чем алгоритм, применяемый в системе 4.ЗВЯКА? 234 Глава 5. Планирование процессов 3, В чем преимушества и недостатки использования в отложенных вызо- вах относительных интервалов времени по сравнению с абсолютными их значениями? 4. Почему в системе 1Лч1Х более предпочтительны процессы ввода-вывода, нежели вычислительные процессы? 5. В чем преимушества объектно-ориентированного интерфейса планировщика системы ЯЧК4? В чем недостатки этой методики? 6.
Почему значения з1рге1 и 1аа11 всегда больше, чем значения 19ехр в каждой строке таблицы параметров диспетчера (см. табл. 5.1)? 7. Почему процессам реального времени даются приоритеты выше, чем процессам, работающим в режиме ядра? В чем недостатки такого распределения приоритетов? 8. Почему планирование по событиям наиболее удобно для приложений ввода-вывода и интерактивных задач? 9. В разделе 5,5.6 был упомянут эксперимент, описанный в [13]. Какой будет эффект в том случае, если Х-зегчету, программе для просмотра видео и интерактивному заданию будут назначены приоритеты класса реального времени, а пакетное задание получит приоритет класса разделения времени? 10.
Предположим, что процесс освобождает ресурс, который ожидают сра- зу несколько других процессов. Что рациональнее: разбудить все ожидающие процессы или же только один из них? Если будить один процесс, то какой из них выбрать? 11. Групповое планирование подразумевает, что каждая нить выполняется на отдельном процессоре. Какие действия предпримет приложение, требующее барьерной синхронизации, в том случае, если доступных процессоров окажется меньше, чем готовых к выполнению нитей? Могут ли в такой ситуации нити, достигшие барьера, находиться в режиме активного ожидания прихода остальных? 12. Какие существуют методы поддержки приложений реального времени в системе Бо!аг1з 2т? В каких случаях их применение неадекватно? 13. Почему планирование по крайнему сроку не подходит для традицион ной операционной системы 1Л~ПХ? 14.
Перечислите характеристики процессов реального времени. Приведите несколько примеров периодических и непериодических приложений реального времени. 15. Для уменьшения времени реакции и задержек обслуживания планиров- шиком люжно просто использовать более мощный процессор. Какие различия существуют между системами реального времени и высокопроизводительными системами? Может ли быть такое, что система 5д 2. дополнительная литература 236 с меньшей общей производительностью окажется наиболее подходя- щей для приложений реального времени? Какие существуют различия между жесткими и мягкими требования- ми для классов реального времени? Чем важна для систем реального времени поддержка управления до- ступом? 16.
17. 5.12. Дополнительная литература Атепсап Те1ерЬопе апд Те1ецгарЬ, «БЬ!1Х Зузсещ Ч Ке1еазе 4!псегпа!з Ясидепсз Си!де», 1990. В!ас!с, Р. 1., «ЗсЬеди!1пб Зиррогс 1ог Сопсиггепсу ап<1 Рага!!е!1зт 1п сйе МасЬ Орегас1пб бузсещ», 1ЕЕЕ Соглрисег, Мау 1990, рр. 35-43. Вопд, Р. О., «Рпопсу апд Реад11пе БсЬеди!!пав оп Кеа!-Типе Б1<!1Х», Ргосеейпяз о1 сЬе Аисшпп 1988 Еигореап 11Ы1Х Рзегз' Сгоир Соп1егепсе, Осс. 1988, рр. 201-207. Р181са! Е<1шртепс Согрогасюп, «'тгАХ АгсЬ1сессиге НапдЬоо1<», Р1я!са! Ргеы, 1986. Р1я1са! Еци!Ртепс Согрогасюп, «РЕС ОБЕ/1 Си!де со Кеа!снпе Ргоягат- щ!пя», Рагс 1<!о.
АА-Р533С-ТЕ, Аия. 1994. РепЬат, !. М., 1опб, Р., апд 'ттгоод<уагд, 1. А., «РЕС ОЗГ/1 'тегяоп 3.0 Зутщеспс Ми!с1ргосезяпя 1щр!етепсас1оп», Р18!са! Тесйп!са! !оигпа1, 'тго!. 6, Ыо. 3, Бипппег 1994, рр. 29-54. Непгу, С. !., «ТЬе Ра1г ВЬаге БсЬеди1ег», АТЛЕТ Вей 1аЬогасопез ТесЬщса1 !оигпа1, 'т'о!.