Понедельник, 06 Май 2024, 16:15
Uchi.ucoz.ru
Меню сайта
Форма входа

Категории раздела
Учителю физики [224]
Учителю химии [112]
Учителю биологии [744]
Учителю информатики [147]
Учителю математики [110]
Учителю русского языка [250]
Учителю астрономии [437]
Учителю иностранного языка [182]
Учителю истории (открытые уроки) [151]
Учителю обществознания [53]
Учителю истории [354]
Учителю труда [14]
Учителю ОБЖ [2]
Учителю искусствоведения [0]
Изо
Учителю белорусского языка и литературы [1]
Учителю допризывной и медицинской подготовки [0]
Учителю географии [9]
Учителю МХК [1]
Учителю музыки [3]
Учителю физкультуры [15]
Учителю черчения [0]
Новости
Чего не хватает сайту?
500
Статистика
Зарегистрировано на сайте:
Всего: 51635


Онлайн всего: 5
Гостей: 5
Пользователей: 0
Яндекс.Метрика
Рейтинг@Mail.ru

Каталог статей


Главная » Статьи » По предмету » Учителю информатики

Управление процессорами и заданиями в однопроцессорном вычислительном комплексе. Алгоритмы планирования процессов
Эти две подсистемы ОС выполняют сходные функции: планирование загрузки процессоров и планирование загрузки вычислительных комплексов, имеют сходные механизмы планирования, работающие на разных уровнях - процессов и заданий пользователя соответственно.
В однопроцессорной ЭВМ подсистема управления процессорами выполняет единственную функцию: диспетчирования процессов, то есть планирует загрузку ЦП.
Система управления заданиями управляет прохождением заданий в ВС и выполняет следующие функции:
1.Предоставление языковых средств управления работами в вычислительной системе (Job Control Language (JCL) в ОС ЕС ЭВМ , Shell в UNIX).
2.Ввод и интерпретация заданий/команд.
3.Выделение и освобождение необходимых ресурсов.
4.Планирование заданий на выполнение.
5.Сбор и предоставление информации о состоянии заданий.
В однопроцессорном вычислительном комплексе существует три основных уровня планирова-ния:
1.Планирование на верхнем уровне или планирование заданий.
На этом уровне осуществляется выбор заданий пользователем для выполнения и их запуск. Вы-бранные задания становятся готовыми процессами. Эту работу выполняет системный компонент - планировщик заданий.
2.Планирование на нижнем уровне или диспетчирование процессов.
Здесь осуществляется выбор готового процесса для выполнения, то есть предоставления ему ЦП. Выбранный процесс становится активным. Эту работу выполняет системный компонент - дис-петчер.
3.Планирование на промежуточном уровне.
На данном уровне определяется, каким процессам будет разрешено состязаться за захват ЦП, то есть быть готовыми, и какие процессы будут кратковременно приостановлены (задержаны) для опти-мизации загрузки системы. Промежуточное планирование управляет текущей производительностью вычислительной системы.
В соответствии с тремя уровнями планирования, из которых два обязательны, существует двух и трехуровневые системы планирования.
Типичная двухуровневая система планирования имеет следующий вид:


Двухуровневая процедура вводится в системах с ограниченным мультипрограммированием, что определяется ограниченными ресурсами и производительностью вычислительной системы. Это основная схема для ВС с реальной ОП без поддержки систем реального времени (СРВ).
В вычислительных системах с ВП, допускающих неограниченный уровень мультипрограммирования и СРВ, требующих высокую реактивность системы, используется трехуровневая система планирования, представленная на рисунке 2.
Эффективное планирование заданий и процессов является сложной проблемой, поскольку должно учитываться много противоречивых требований, таких как:
• cправедливость;
• максимальная пропускная способность;
• приемлемое время ответа для максимального числа интерактивных пользователей;
• предсказуемость (задание должно выполняться примерно за одно время независимо от загрузки вычислительной системы);
• минимум накладных расходов на выполнение планирования;
• сбалансированность использования ресурсов;
• исключение бесконечного откладывания;
• учет приоритетов;
• отдавать предпочтение процессам, занимающие ключевые ресурсы;
• плавно деградировать при увеличении нагрузок.
Для того чтобы реализовать перечисленные требования, механизм планирования должен знать и учитывать следующие факторы:
• является ли процесс обменным (активно использующим операции ввода/вывода) или вычислительным (активно использующим процессор);
• является ли процесс пакетным или диалоговым;
• уровень реактивности интерактивного процесса;
• приоритетность процесса;
• частота прерываний по отсутствию нужной страницы;
• частота прерывания с низкого приоритета на высокий;
• длительность периода ожиданий ЦП процесса;
• суммарное использование времени ЦП и оценочное время, необходимое для заверше-ния.
Существует множество различных алгоритмов планирования процессов, преследующих различ-ные цели и обеспечивающих различное качество мультипрограммирования. Среди этого множества алгоритмов рассмотрим подробнее две группы наиболее часто встречающихся алгоритмов: алгорит-мы, основанные на приоритетах, и алгоритмы, основанные на квантовании.
В соответствии с алгоритмами, основанными на квантовании, смена активного процесса проис-ходит, если:
1. процесс завершился и покинул систему,
2. произошла ошибка,
3. процесс перешел в состояние ОЖИДАНИЕ,
4. исчерпан квант процессорного времени, отведенный данному процессу.
Процесс, который исчерпал свой квант, переводится в состояние ГОТОВНОСТЬ и ожидает, ко-гда ему будет предоставлен новый квант процессорного времени, а на выполнение в соответствии с определенным правилом выбирается новый процесс из очереди готовых. Таким образом, ни один процесс не занимает процессор надолго, поэтому квантование широко используется в системах раз-деления времени.
Кванты, выделяемые процессам, могут быть одинаковыми для всех процессов или различными. Кванты, выделяемые одному процессу, могут быть фиксированной величины или изменяться в раз-ные периоды жизни процесса. Процессы, которые не полностью использовали выделенный им квант (например, из-за ухода на выполнение операций ввода-вывода), могут получить или не получить компенсацию в виде привилегий при последующем обслуживании. По разному может быть организована очередь готовых процессов: циклически, по правилу "первый пришел - первый обслужился" (FIFO) или по правилу "последний пришел - первый обслужился" (LIFO).
Многие современные системы планирования основывается на системе приоритетов, которая во-площается в соответствующих дисциплинах планирования. Приоритет - это число, характеризующее степень привилегированности процесса при использовании ресурсов вычислительной машины, в частности, процессорного времени: чем выше приоритет, тем выше привилегии.
Приоритеты подразделяются на статические, назначаемые извне системы администрацией ВЦ, и динамические, присваиваемые системой автоматически в соответствии с поведением, потребностями в ресурсах и прочими характеристиками процессов.
Начальные значения динамических приоритетов обычно устанавливаются на основе статического, но действуют в течение короткого времени. Существует две разновидности приоритетных алгоритмов: алгоритмы, использующие относительные приоритеты, и алгоритмы, использующие абсолютные приоритеты.
В обоих случаях выбор процесса на выполнение из очереди готовых осуществляется одинаково: выбирается процесс, имеющий наивысший приоритет. По-разному решается проблема определения момента смены активного процесса. В системах с относительными приоритетами активный процесс выполняется до тех пор, пока он сам не покинет процессор, перейдя в состояние ОЖИДАНИЕ (или же произойдет ошибка, или процесс завершится). В системах с абсолютными приоритетами выполнение активного процесса прерывается еще при одном условии: если в очереди готовых процессов появился процесс, приоритет которого выше приоритета активного процесса. В этом случае прерванный процесс переходит в состояние готовности.
Во многих операционных системах алгоритмы планирования построены с использованием как квантования, так и приоритетов. Например, в основе планирования лежит квантование, но величина кванта и/или порядок выбора процесса из очереди готовых определяется приоритетами процессов.
Для установления значений приоритетов заданий и процессов используются следующие дисци-плины планирования и их различные комбинации.
1. Планирование по сроку завершения, гарантирующее выполнение задания в назначенное время. Это сложная проблема в мультипрограммных системах, поскольку пользователь должен точно указать все требуемые ресурсы. Необходимо активное управление ресурсами, что связано с высокими накладными расходами. Недостаток: несправедливо к другим пользователям (протекционизм).
2. Планирование по принципу FIFO, где ЦП предоставляется процессам в порядке готов-ности, и они выполняются до завершения или блокировки. Это самая простая дисцип-лина планирования фактически без переключения ЦП. Формально - справедливый принцип, но фактически не справедлив, так как длинные задания заставляют ждать ко-роткие. Менее важные - заставляют ждать более важные. Характеризуется небольшим колебанием времени выполнения и большей предсказуемостью, нежели другие дисциплины. Используется только в пакетных системах, не гарантирует реактивности системы и обычно в комбинации с другими дисциплинами.
3. Циклическое или круговое планирование, где каждому готовому процессу в цикле представляется квант времени. По истечении кванта времени процесс переходит в ко-нец очереди готовых процессов. При блокировке квант теряется. Эффективно для СРВ, так как гарантирует приемлемое время ответа для всех интерактивных пользователей. Основная проблема выбора - оптимальный размер кванта. Стараются выбрать такой размер, чтобы большинство рядовых запросов обслуживались за один квант.
4. Планирование по принципу - "кратчайшее задание - первым" или "по наименьшему ос-тавшемуся времени выполнения". Максимальный приоритет назначается процессу, либо заданию с минимальным оценочным временем до завершения. Недостаток: время ожидания на большие задания растет; большие издержки на регистрацию истекшего времени обслуживания. Достоинство: сокращение очередей заданий и ожидающих процессов; стремится к минимальному времени ожиданий для заданий.
5. Планирование по времени нахождения в системе, в которой приоритет есть функция времени обслуживания и времени ожидания.
Приоритет =
Приоритет отдает меньшее предпочтение коротким заданиям и без предубеждения относится к длинным. Чем реже процесс получает ЦП, тем выше его приоритет. Задания с вводом/выводом по-вышают приоритет.
Сеть многоуровневых очередей с обратными связями (рисунок 3), которая имеет следующие достоинства:
• определяет характер процессов и разделяет на соответствующие категории;
• отдает предпочтение коротким процессам;
• отдает предпочтение обменным процессам с хорошим коэффициентом использо-вания устройств ввода/вывода. Это наиболее совершенный и сложный механизм планирования.

Сеть представляет собой упорядоченную структуру очередей готовых процессов, работающих с различными дисциплинами обслуживания. Каждый процесс входит в сеть очередей с конца верхней очереди и перемещается по FIFO пока не получит ЦП. Процесс выполняется. Если в течение кванта процесс запросил выполнение операции ввода/вывода, то он после завершения операции будет уста-новлен в очередь готовых процессов текущего уровня. Если в течение выделенного кванта времени процесс не завершился, то он устанавливется в очередь готовых процессов следующего уровня, у ко-торого понижен приоритет и увеличен квант времени. Таким образом, чем больше время работы про-цесса, тем больший квант времени выделяется, но меньше приоритет, что приводит к получению ЦП реже, но на более длительный период.
Таким образом, сеть многоуровневых очередей - это адаптивный механизм планирования, кото-рый реагирует на изменение поведения системы.
В ОС OS/2, UNIX приоритеты устанавливаются с помощью класса приоритета и уровня приоритета в классе. Есть три класса приоритета и 32 различных уровня приоритета для класса.

Классы бывают:
Критический или высокий - для программ управления процессом или связью с другими компьютерами;
Обыкновенный - для большинства программ пользователя;
Запасной или низкий - задачи и процессы из этого класса выполняются, если в очереди нет критических или обыкновенных задач.
Категория: Учителю информатики | Добавил: Wrecker (29 Июл 2012)
Просмотров: 1053 | Рейтинг: 1.0/ 6 Оштрафовать | Жаловаться на материал
Похожие материалы
Всего комментариев: 0

Для блога (HTML)


Для форума (BB-Code)


Прямая ссылка

Профиль
Понедельник
06 Май 2024
16:15


Вы из группы: Гости
Вы уже дней на сайте
У вас: непрочитанных сообщений
Добавить статью
Прочитать сообщения
Регистрация
Вход
Улучшенный поиск
Поиск по сайту Поиск по всему интернету
Наши партнеры
Интересное
Популярное статьи
Портфолио ученика начальной школы
УХОД ЗА ВОЛОСАМИ ОЧЕНЬ ПРОСТ — ХОЧУ Я ЭТИМ ПОДЕЛИТ...
Диктанты 2 класс
Детство Л.Н. Толстого
Библиографический обзор литературы о музыке
Авторская программа элективного курса "Практи...
Контрольная работа по теме «Углеводороды»
Поиск
Главная страница
Используются технологии uCoz