Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Многоочередные дисциплины



Базовый вариант многоочередной дисциплины.

Основа дисциплины - круговой циклический алгоритм.

Все новые запросы поступают в очередь 1.

Время, выделяемое на обслуживание любого запроса, равно длительности кванта tk. Если запрос обслужен за это время, то он покидает систему, а если нет, то по истечении выделенного кванта времени он поступает в конец очереди i+1.

На обслуживание выбирается запрос из очереди i, только если очереди 1,…, i-1 пусты.

Таким образом, длинные запросы поступают сначала в очередь 1, затем постепенно доходят до очереди N и здесь обслуживаются до конца либо по дисциплине FIFO, либо по круговому циклическому алгоритму.

Модификации базового варианта многоочередной дисциплины обслуживания запросов.

1. Выделяемый программе квант времени на обслуживание возрастает с увеличением номера очереди обычно по правилу

tki = 2i-1 · tk

где tk - квант времени, выделяемый для программ из очереди 1.

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

Данная ДРР может работать как с относительными, так и с абсолютными приоритетами программ.

    • Обслуживание программ с относительными приоритетами. Заявка, входящая в систему, не вызывает прерывания обслуживаемой заявки, даже если последняя и менее приоритетна. Только после окончания обслуживания текущей заявки начинается обслуживание более приоритетной.
    • Обслуживание программ с абсолютными приоритетами. Если во время обслуживания программы из очереди i в очередь с большим приоритетом поступает новая программа, то после окончания текущего кванта tk обрабатываемая программа прерывается и возвращается в начало своей очереди, с тем чтобы впоследствии дообслужиться на время, недобранное до 2i-1 · tk.
  1. Система с динамическим изменением приоритетов программ. Чтобы избежать недопустимо долгого ожидания для больших программ, приоритет делается зависимым от времени ожидания в очереди. Если ожидание превысит некоторое установленное время, программа переводится в очередь с меньшим номером.

3. Система со статическим указанием приоритетов программ. Считается, что продолжительность выполнения программы приблизительно пропорциональна ее длине. По крайней мере, от длины программы прямо зависит время, затрачиваемое на передачу программы между ОЗУ и внешним ЗУ при ее активизации.

Определение номера очереди, в которую поступает программа при первоначальной загрузке, осуществляется по алгоритму планирования Корбато: программа сразу поступает в очередь i = [log2 lp/ltk + 1], где lp - длина программы в байтах; ltk - число байт, которые могут быть переданы между ОЗУ и внешней памятью за время tk.

Эта дисциплина позволяет сократить количество системных переключений за счет того, что программам, требующим большего времени решения, будут предоставляться достаточно большие кванты времени уже при первом занятии ими ресурса (нерационально программе, которая требует для своего решения 1 час времени, первоначально выделять квант в 1 мс).

Основные режимы работы мультипрограммной ЭВМ Мультипрограммная ЭВМ может работать в различных режимах, использование того или иного из них определяется областью ее применения. Среди основных режимов работы мультипрограммной ЭВМ выделим следующие:
  1. пакетный;
  2. разделения времени;
  3. реального времени.
Пакетный режим Суть пакетного режима заключается в том, что ЭВМ обрабатывает предварительно сформированный пакет задач без вмешательства пользователя в процесс обработки. Пакетный режим используется, как правило, на высокопроизводительных ЭВМ. Основное требование к организации вычислительного процесса на компьютере, работающем в пакетном режиме, - это минимизация времени решения всего пакета задач за счет эффективной загрузки оборудования ЭВМ. При пакетном режиме основным показателем эффективности служит пропускная способность ЭВМ - число задач, выполненных в единицу времени. Количественная оценка выигрыша при мультипрограммной работе по сравнению с однопрограммным использованием ЭВМ представляется в виде коэффициента увеличения пропускной способности: kПС = TОПР/TМПР где ТОПР и ТМПР - время выполнения пакета задач при однопрограммном и мультипрограммном режиме работы соответственно. В рассмотренном в лекции 12 примере работы мультипрограммной ЭВМ kПС = 36/24 = 1,5 при Км = 2 и kПС = 36/22 1,64 при Км = 3. Увеличение пропускной способности ЭВМ достигается надлежащим планированием поступления задач пакета на обработку в составе мультипрограммной смеси задач, а также оптимальным назначением приоритетов задачам в этих смесях, основывающемся на представлениях разработчиков о важности учета тех или иных аспектов функционирования ЭВМ и свойств каждой задачи входного пакета. Основные этапы обработки пакета задач:
  1. Подготовка программ к счету. При этом каждая программа пакета может быть разработана отдельным программистом.
  2. Передача программ и исходных данных на ЭВМ, которая будет обрабатывать их в пакетном режиме.
  3. Формирование пакета задач из переданных программ по одному из эвристических алгоритмов.
  4. Обработка пакета задач на мультипрограммной ЭВМ.
Особенности пакетного режима работы:
  1. Пользователь отстранен от непосредственного доступа к ЭВМ.
  2. Результаты работы пользователь получает через определенное (иногда достаточно большое) время одновременно для всех задач пакета.
  3. Увеличивается время отладки программ.
  4. Существенно возрастает пропускная способность ЭВМ по сравнению с последовательным решением задач пакета.
Таким образом, пакетный режим наиболее эффективен при обработке больших отлаженных программ. Режим разделения времени Назначение - обслуживание конечного числа пользователей с приемлемым для каждого пользователя временем ответа на их запросы. Основные характеристики:
  1. Многотерминальная многопользовательская система.
  2. Любой пользователь со своего терминала может обратиться к любым ресурсам ЭВМ.
  3. У пользователя создается впечатление, что он один работает на ЭВМ.
Реализация. Время работы машины разделяется на кванты tk. Каждый квант выделяется для соответствующего терминала. Терминалы могут быть активными и пассивными: активный реально включен в обслуживание (за ним работает пользователь), пассивный - нет (квант не выделяется). После обслуживания всех терминалов последовательность квантов повторяется. Единого способа выбора времени кванта не существует. Иногда оно выбирается по количеству команд, которое должна выполнить ЭВМ за это время. В основе реализации режима разделения времени лежит одноочередная дисциплина обслуживания пользователей. Режим реального времени Этот режим работы мультипрограммных ЭВМ используется, как правило, в системах автоматического управления объектом. Назначение - обеспечить выполнение задания за время, не превышающее максимально допустимого для данного задания. Большую роль играют дисциплины распределения ресурсов, особенно назначение приоритетов задачам. Режим реального времени имеет много общего с системой разделения времени:
  • много терминалов - много датчиков,
  • много терминалов - много исполнительных устройств.
Особое внимание при построении систем реального времени уделяется вопросам обеспечения надежности функционирования системы.

 

 

№42

 

Восстановление символической записи команды по ее машинному представлению

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

Рассмотрим несколько примеров подобных преобразований. Для правильной интерпретации команды необходимо знать положение ее первого байта. В рассматриваемых примерах будем полагать, что оно известно.

Пример 9.

Представить символическую запись команды, имеющей следующую машинную форму: 0000h.

Так как поля команды определяются с точностью до бита, то необходимо сначала перейти от шестнадцатеричного к двоичному представлению команды и, исходя из общих принципов кодирования команд, определить назначение всех ее разрядов:

По таблице машинного представления команд (см. табл. 6.4) определим, что КОП=000000 b соответствует общему формату операции сложения ADD. Тогда два младших бита первого байта кодируют признаки d и w, а второй байт является постбайтом, определяющим режимы адресации операндов, участвующих в операции. Значение полей в постбайте позволяет определить, что операндами будут регистр AL (reg=000, w=0) (см. табл. 6.1) и байт памяти, адресуемый с помощью базово-индексной адресации через регистры BX и SI (md=00, r/m=000) (см. табл. 6.2). Значение d=0 указывает, что регистр AL является операндом-источником.

Следовательно, символическая запись команды имеет вид:

ADD [BX+SI],AL

Пример 10.

Представить символическую запись команды, имеющей следующую машинную форму: 81475D398B h.

Переходим к двоичному представлению команды:

Первый байт, согласно таблице машинного представления команд, соответствует команде сложения с непосредственным операндом. Постбайт в этом случае кодирует местоположение лишь одного операнда, которое определяется полями md и r/m: (BX)+disp8 (см.табл. 6.2), а среднее поле постбайта является расширением кода операции.

Адресация операнда требует указания в команде 8-разрядного смещения. Оно помещается сразу же за постбайтом. Последние байты команды кодируют непосредственный операнд. Значение sw=01 в первом байте команды указывает на то, что непосредственный операнд - 16-разрядный. Учитывая, что при кодировании в команде двухбайтовых величин сначала записывается их младший байт, получим следующую символическую запись команды:

ADD [BX+5D],8B39h

Пример 11.

Пусть машинная форма представления команды следующая: 0445h. Тогда ее двоичный вид:

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

Так как w=0, то непосредственный операнд имеет длину 1 байт, а в качестве аккумулятора используется регистр AL. При этом команда имеет следующий вид:

ADD AL,45h

 

№35

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.