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

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

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

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

Внутри системы этот интервал преобразуется в соответствующее ему количество тиков, так как именно тик является минимальной временной единицей, различаемой ядром. В Буэсещ Ъ' для обращения к будильнику реального времени применяется системный вызов а!апп. Задаваемый ему интервал времени должен выражаться в секундах. В систему 5Ъ'К4 был добавлен системный вызов йггэуэ, который обеспечивает таймерный интерфейс с высоким разрешением, позволяющим задавать временной интервал в микросекундах.

Этот вызов позволяет реализовать совместимость с В5Р посредством веВВюег (а также деВВтеп деЫтеойау и эетнтеойау) в виде библиотечных функций. Высокое разрешение будильников реального времени не предполагает высокой точности их работы. Предположим, что приложение использует будильник реального времени для воспроизведения звука по истечении 60 миллисекунд с момента запроса. После того как пройдет указанный промежуток времени, ядро пошлет сигнал 516АИМ вызывающему процессу. Однако процесс не сможет увидеть (а следовательно, и среагировать) на сигнал до тех пор, пока в очередной раз не будет назначен планировщиком на выполнение. Таким образом, перед началом обработки сигнала неизбежно возникает задержка, величина которой зависит от приоритета процесса и степени загруженности системы.

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

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

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

Обычно операционная система предоставляет возможность одновременного выполнения нескольких приложений. Эти приложения можно весьма фривольно категоризировать по следующим классам, в зависимости от их требований к планированию и производительности работы: + Интерактивные приложения.

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

+ Пакетные приложения. К ним относятся такие действия, как сборка программ или научные вычисления, то есть программы, не требуюшие взаимодействия с пользователем и часто выполняющиеся в фоновом 5.4. Планирование в традиционных системах ОЬйХ 193 режиме. Для таких задач мерой эффективности планирования является время завершения их работы при функционировании среди других процессов, сравниваемое со временем их выполнения как единственной задачи системы. + Приложения реального времени.

Это достаточно широкий класс приложений, для которых время часто является весьма критичным. Хотя на сегодняшний день существует множество различных видов приложений реального времени, обладающих отличными друг от друга наборами требований, между ними существует множество сходств. Обычно все они требуют упреждающего поведения планировщика, с гарантированными границами времени реакции. Например, приложение работы с видео может выводить фиксированное количество кадров в секунду (баташев рег зесопд, ~рз). Такое приложение может больше заботиться об уменьшении времени реакции системы, нежели просто запрашивать дополнительное процессорное время. Пользователи могут настраивать частоту кадров в диапазоне 10-30 1рз со средней частотой в 20 1рз.

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

Выбор политики планирования оказывает важное влияние на способность системы удовлетворять требованиям различных типов приложений. Следующий раздел описывает традиционный вариант планировщика (ЗЧВЗ/4.3ВЯ)), который поддерживает только интерактивные и пакетные задания. Остальная часть пятой главы посвящена планировщикам современных систем У)ч1Х, поддерживающих приложения реального времени, 5.4. Планирование в традиционных системах 0Й!Х В этом разделе обсуждается традиционный алгоритм планирования, применяемый как в БЪ'КЗ, так и в 4.3ВЗП.

Эти ОС создавались как системы разделения времени, обладающие интерактивными средами для нескольких пользователей, которые могли одновременно запускать несколько пакетных 194 Глава б. Планирование процессов 5.4.1. Приоритеты процессов Приоритет процесса задается любым целым числом, лежащим в диапазоне от 0 до 127.

Чем меньше такое число, тем выше приоритет. Приоритеты от 0 до 49 зарезервироваиы для ядра, следовательно, прикладные процессы могут обладать приоритетом в диапазоне 50 — 127. Структура ргос содержит следую- шие поля, относящиеся к приоритетам: Текущий приоритет планирования Приоритет резгима задачи р рп р Отгрп р срв р п1се Результат последнего измерения использования процессора Фактор «любезности, устанавливаемый пользователем Поля р рп' и р цзгрп применяются для различных целей. Плаиировшик использует р рп для принятия решения о том, какой процесс направить иа вы- и интерактивных процессов. Цель политики планирования заключается в увеличении скорости реакции при интерактивном взаимодействии пользователя с системой, одновременно отслеживая протекание фоновых задач, защищая их от зависания из-за недостатка процессорного времени.

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

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

раздел 2.5). Следующие подразделы посвящены описанию устройства и реализации планировщика в системе 4.ЗВЯКА. Вариант, применяемый в 5'тгКЗ, имеет лишь незначительные отличия во второстепенных деталях, таких как имена некоторых функций и переменных. 5.4. Планирование в традиционных системах 0(Ч)Х 195 полнение. Когда процесс находится в режиме задачи, значение его р рп' идентично р цзгрп'. Когда процесс просыпается после блокирования в системном вызове, его приоритет будет временно повышен для того, чтобы дать ему предпочтение для выполнения в режиме ядра, Следовательно, планировщик использует р изгрп' для хранения приоритета, который будет назначен процессу при возврате в режим задачи, а р рп' — для хранения временного приоритета для выполнения в режиме ядра.

Ядро системы связывает приоритет сна с событием или ожидаемым ресурсом, из-за которого процесс может заблокироваться. Приоритет сна является величиной, определяемой для ядра, и потому лежит в диапазоне 0 — 49. Например, значение приоритета сна для терминального ввода равно 28, в то время как для операций дискового ввода-вывода оно имеет значение 20. Когда замороженный процесс просыпается, ядро устанавливает значение его р рп', равное приоритету сна события или ресурса'. Поскольку приоритеты ядра выше, чем приоритеты режима задачи, такие процессы будут назначены на выполнение раньше, чем другие, функционирующие в режиме задачи. Такой подход позволяет системным вызовам быстро завершать свою работу, что является желательным, так как процессы во время выполнения вызова могут занимать некоторые ключевые ресурсы системы, не позволяя пользоваться ими другим.

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

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

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

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