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

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

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

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

5.4. Классо-зависимый интерфейс системы ЯОЯ4 Вызывается из обработчика прерываний таймера. Применяется для отслеживания квантов времени, пересчета приоритетов, обработки исчерпания кванта и т. д СЕ ГОКК,СЕ ГОКККЕТ Вызываются из ГогЕ СЕ ГОКК инициализирует определенную для класса структуру данных потомка. СЕ ГОКККЕТ может устанавливать флаг гипгип, позволяя процессу-потомку стартовать до своего предка Вызываются при перемещении процесса в класс планирования и из него. Отвечают за размещение и освобождение определенной для класса структуры данных соответственно СС ЕМТЕКСЕА55, О.

ЕХТТСЕА55 Таким образом, классо-зависимые функции могут быть вызваны из классо-независимого кода, а также через системный вызов рпосп0. Класс планирования сам выбирает политику для расчета приоритетов и планирования процессов, относящихся к этому классу. Он определяет диапазон приоритетов для принадлежащих ему процессов, а также условия, при которых приоритет процесса может быть изменен.

Класс также задает размер кванта времени работы процесса. Квант может быть как одинаковым для всех процессов, так и зависимым от приоритета процесса. Величина кванта может лежать в диапазоне от одного тика до бесконечности. Установка «бесконечного» кванта наиболее подходит для некоторых задач реального времени, которые должны находиться в режиме выполнения постоянно вплоть до завершения. Точки входа классо-зависимого интерфейса включают в себя: 6.5.

Планировщик в системе ВуРг4 205 Вызывается из з(еер(). Может пересчитывать приоритет процесса Вызывается из иавергосз(). Помещает процесс в подходящую для него очередь выполнения, может устанавливать фла~и гипгсл и )гргипгсп Е~ 5ьЕЕР О. УГАКЕОР 0-69 класс разделения времени системные приоритеты класс реального времени 60-99 100-169 Дальнейшие подразделы посвящены описанию реализации классов разделения времени и реального времени. 5.5.3. Класс разделения времени Класс разделения времени является классом по умолчанию для процесса. Он изменяет приоритеты процесса динамически и реализует карусельное планирование для процессов одного приоритета. Класс использует для управления приоритетами процессов и квантами времени статическую таблицу параметров планировщика.

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

Вместо пересчета приоритетов всех процессов каждую секунду Класс планирования сам решает, какие действия будет производить каждая функция, и в каждом классе зти функции могут быть определены по-своему. Такой подход придает общему планированию большую гибкость. Например, обработчик прерываний таймера традиционного планировшика производит подсчет каждого тика текущего процесса и пересчитывает его приоритет на каждом четвертом тике. В новой архитектуре обработчик вызывает процедуру СС Т1СК, определенную для класса, которому принадлежит процесс. Процедура самостоятельно решает, как обрабатывать тики времени. Например, класс реального времени использует постоянные приоритеты и не требует их пересчета. Классо-зависимый код определяет момент, когда происходит исчерпание выделенного кванта времени, и устанавливает флаг шпшп для инициализации процедуры переключения контекста, По умолчанию все 160 поддерживаемых приоритетов разделяются на следующие три категории: 206 Глава 5.

Планирование процессов в системе БУЙ изменение приоритета процесса происходит в ответ иа определенные события, относящиеся к этому процессу. Планировщик уменьшает приоритет процесса каждый раз, как ои вырабатывает отведенный ему квант времени.

С другой стороиы, система увеличивает приоритет процесса, если тот блокируется по событию или находится в ожидании ресурса или если он долгое время ие может израсходовать свой квант времени. Так как каждое событие обычно относится только к одному процессу, пересчет приоритета происходит очень быстро. В таблице параметров диспетчера определено, как различные события влияют иа приоритет процесса. Класс разделения времени использует для хранения классо-зависимых данных структуру Ьзргос. Эта структура включает следующие поля: М бве(е(т М срирп М ирп М ивбрп' оставшееся время кванта системную часть приоритета прикладную часть приоритета (фактор любезности»] приоритет режима задачи (М срирп' + М ирп', но не более чем 59) тз б(эрна(( число секунд таймера после начала кванта Глобальный приоритет элемента (для класса разделения времени это то же самое, что индекс таблицы) ь д(обрп' М диан(ив Квант времени для этого приоритета Новое значение Ь срирп', устанавливаемое при исчерпании кванта времени (з Щехр М з(рге( Новое значение М срирп', устанавливаемое при возврате в режим задачи после сна Когда процесс возобновляет свою работу после сиа, находясь в режиме ядра, его приоритет соответствует приоритету ядра и определяется условиями сиа.

Когда позже процесс возвращается в режим задачи, его приоритет восстанавливается из Ь шпбрп'. Приоритет режима задачи является суммой Ь срирп' и тэ ирп', ио ограничивается диапазоном значений от О до 59. Зиачеиие тз ирп' лежит в диапазоне от — 20 до +19 и по умолчанию равно О. Зиачеиие этого поля может быть изменено вызовом рпосп1(, однако права иа его увеличение даны только суперпользователю системы. Значение тз срирп' выбирается из таблицы параметров диспетчера, как это будет описано ниже.

Таблица параметров содержит по одному элементу для каждого приоритета класса. Хотя в системе БУЙ каждый класс обладает такой таблицей (плюс еще одна для системных приоритетов), каждая из этих таблиц имеет различный формат. Опа не является обязательной структурой для каждого класса, существует также возможность создания нового класса без таблицы. Для класса разделения времени каждый элемент таблицы состоит из следующих полей: 5.5. Г1панировщик в системе 8ЧВ4 207 Гз нгахиа11 Количество секунд ожидания до исчерпания кванта времени перед применением Гз Ьгз11 15 Ьга11 Используется вместо Ьт 1дехр, если процесс при исчерпании своего кванта затратил времени больше, чем значение М пгахиай Таблица 5.1.

Таблица параметров диспетчера дпя класса раадепения времени СГиаптипт 14Гехр вгрге1 птахьиан 1мга11 Индекс 91обргГ 100 100 10 11 1О 11 15 25 25 40 40 20 30 50 59 10 49 59 59 ' По всей видимости, здесь должно быть Ь дГаьрп'-1. — Прим, ред. г Точнее, из 5Гргег. — Прим. ред. Таблица может применяться двумя способами. Она может быть проиндексирована по текущим значениям поля 11 срцрп для получения доступа к полям тз 1цехр, 11 11рге1 и 1з 1уга11, так как зти поля предоставляют новое значение тз срцрп', основанное на его прежнем значении.

Таблица может быть проиндексирована по полю тз цгпбрп для получения доступа к 11 фоЬрг1, гз сцап1цгп и 1з гпахуга)1, поскольку именно эти поля отвечают за общие приоритеты планирования. Таблица 5.1 является примером типичной таблицы параметров диспетчера для класса разделения времени, Для того чтобы понять, как она может быть использована, представим процесс, обладаюгцнй гз црп' 14 и 11 срцрп' 1, Значения его глобального приоритета (11 910Ьрп) и 11 цп1дрг1 одинаковы и равны 15'.

Если процесс исчерпает выделенный ему квант времени, то его 15 срцрп' будет установлено в значение О (следовательно, его 15 цп1дрп' будет равно 14). Однако если процессу необходимо более 5 секунд для того, чтобы использовать отведенный ему квант времени, его 11 срцрп' будет установлено в значение 11 (следовательно, 11 цпгбрп' будет равным 25).

Предположим, что перед тем, как исчерпать отведенный ему квант времени, процесс произведет системный вызов, и зто приведет к необходимости его блокирования в ожидании ресурса. Когда процесс возобновит работу и, в конечном счете, перейдет в режим задачи, его тз срцрп' установится в 11 (из колонки 11 11рге1'), а поле 11 цп1брп' станет равным 25, в зависимости от того, сколько времени понадобится процессу на исчерпание отведенного ему кванта времегги.

208 Глава 5. Планирование процессов 5.5.4. Класс реального времени Класс реального времени использует приоритеты в диапазоне 100 — 159. Эти приоритеты являются более высокими, чем у процессов, принадлежащих классу разделения времени, даже в случае выполнения их в режиме ядра. Это означает, что процессы реального времени будут выбраны для выполнения перед любым процессом, выполняющимся в режиме ядра.

Предположим, что текущий процесс работает в режиме ядра в то время, когда процесс из класса реального времени становится готовым к выполнению. Ядро не может сразу же вытеснить текущий процесс, так как это способно повлечь нестабильное состояние системы. Процесс реального времени должен ожидать момента, когда текущий процесс начнет переключаться в режим задачи или достигнет одной из точек вытеснения ядра. В класс реального времени могут войти только процессы суперпользователя, для этого они используют вызов рпослЫ, в параметрах которого указываются необходимый приоритет и квант времени. Процессы реального времени характеризуются постоянным приоритетом и постоянным выделяемым квантом. Единственным способом изменения этих параметров является применение вызова рпопс1~ Таблица параметров диспетчера для класса реального времени является очень простой, так как в ней хранятся только значения квантов времени для каждого приоритета, принятые по умолчанию.

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

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

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

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