- •Глава I
- •06Ласти применения эвм
- •1.6,1. СуперЭвм
- •Глава 2
- •8 Разрядов
- •11110001 11111001 11110001 11110111 А число — 6.285 запишется в память в виде слова из 6 байт:
- •Глава 3
- •Глава 4
- •Лечит узап j
- •Сверхоперативная или местная память
- •4.2. Адресная, ассоциативная и стековая организации памяти
- •Буфер входа-выхода
- •Усилители считывания-записи
- •Глава 5
- •Проклей
- •Идентификатор адреса (s байт)
- •Сектор на дискете
- •Глава 6
- •Управляющий блок автомат)
- •Глава 7
- •В цпршВляющай блок у б
- •Сумматор частичных произведений Регистр множимого
- •О vМножимое перед началом Выполнения умножения
- •Слой элементов и
- •Глава 9
- •Двойное слада па адреса о 32 бит
- •Слобо по адресу z в бит
- •Заслать в стек ад РеЗ
- •Загрузить аз стана в Pa V
- •Номер регист
- •Непосредственный операнд 1а
- •15Ю кГго 51
- •Оповещающий сив нал „Состояние
- •Блок ревастрод
- •Ветвление в макропроерамме по уело дую Акк*0
- •Макрокоманды управления последовательностью выборка микрокоманд
- •Окно процедуры
- •Регистры параметров (а) Регистры глобальных переменных |
- •1 Нуль м Знак-
- •Запоминание состояния процессора (программы)
- •Общий сигнал прерывания
- •Код приоритетного запроса
- •Маска ввоОагвывода
- •Прерывающая
- •01 23*56789 Время
- •I участка I
- •Запись льта мп
- •I Прием операндов на регистры 1
- •Умножение чисел с фиксированной точкой
- •Сложонив чисел с плавающей точкой
- •Глава 10
- •Вызов команды и модификация счетчика команд
- •Процедура тандемных пересылок
- •Однобайтная
- •16 Разрядов
- •Передача д стек а восстановление содержимого регистров
- •Команды досстаяовяения из стеки содержимого регистров
- •Блок сегментных регистров
- •Первый байт команды Второй ffaSm команды (постбайт адресации)
- •Сегментные селекторы
- •Регистры задачи и регистры дескрипторнои таблицы
- •Блок управления и контроля оп
- •Справочник страниц
- •Физическая память
- •16 Мбайт
- •Расширенная память
- •1 Мбайт
- •С каналом ес эвм
- •Связь с другой эвм
- •I Манипулятор % I Графа- I I типа „Мышь” I I построитель I
- •Глава 11
- •Интерфейс основной намята
- •Общее оборудование мультиплексного канала
- •Глава 12
- •Определения четности переносод
- •Глава 13
- •Ill:Выполнснис программы а Выполнение про ерам мы в
- •Пакеты заданий и Входные наборы данных
- •Выходные очереди разных классов в зу на дисках
- •I требует ‘'ода
- •Пользователь обдумывает | ответ системе I (новый запрос)
- •Блок управления памятью
- •Схемы совпадения
- •Шифратор номера отделения
- •Входной коммутатор
- •Коммутации
- •Сегментная таблица п-й программы
- •Векторные, средства
- •К периферийным устройством
- •К периферийным устройствам
- •Глава 15
- •Устройства Ввода- вывода
- •Процессор 2
- •Процессор 3
- •8 Векторных регистров (по 6* слова в каждом)
- •Готовности операндов
- •Глава 16
- •Комплекс абонентского пункта
- •16.2.. Классификация вычислительных сетей
- •1 Элемент
- •Время распрост- ранена*
- •Задержка сета лри коммутации пакетов[
- •Абонентская система
- •Данные пользователя
- •Сеансовый
- •Транспортный
- •Сетевой
- •Интерфейс высоког о уровня
- •Аппаратура передачи данных
- •Установление связи
- •Данные пользователя 00Длина поля и слови я обслуживания
- •Идентификатор протокола
- •7» Бшдта) Данные пользователя б вызове
- •Поток бит
- •Новый пакет (кадр)
- •Станция 1 ведет передачу
- •Передатчик Коаксиальный кйбель
- •Глава 15. Принципы организации многопроцессорных и многомашинных вычислительных систем (комплексов) и суперЭвм 489
- •1S в 7 о Слада па адресу ь
Ill:Выполнснис программы а Выполнение про ерам мы в
Счет
Счет
*)Ожидание^—
А
В В А В
А
в
1
1
Рис.
13.1. Выполнение программ в однопрограммном
(а) и мультипрограммном (б) режимах
сти в активное состояние связано с некоторыми издержками времени на работу управляющей программы.
Практически за счет мультипрограммирования удается повысить пропускную способность, а следовательно, загрузку процессора в 4—5 раз.
Из сказанного следует, что мультипрограммирование является также средством уменьшения времени выполнения заданного набора программ. Более того, если обрабатывается всего одна программа, то за счет распараллеливания программы и мультипрограммной обработки удается сократить время ее выполнения.
Распараллеливание программ является широко используемым приемом повышения коэффициента мультипрограммности.
Управляющая* программа операционной системы, реализуя мультипрограммный режим, должна распределять (в том числе и динамически) между параллельно выполняемыми программами и участками программы ресурсы системы (время процессора, основную и внешнюю памяти, каналы, устройства ввода-вывода, ключи защиты памяти и др.), с тем чтобы достигалось увеличение пропускной способности с учетом ограничений на ресурсы и требований по срочности выполнения отдельных программ.
Для пользователя внешней единицей работы ВС служит задание, соответствующее некоторой совокупности вычислений и представляющее для него законченную работу (расчет сменного задания цехам предприятия, расчет потребности в материалах и т. д.).
Задания не зависят друг от друга и поэтому могут группироваться в пакеты и выполняться в мультипрограммном режиме без синхронизации завершения обработки одних заданий с началом обработки других.
Задание разбивается на выполняемые последовательно части, называемые пунктами задания. Пункту задания соответствует внутренняя единица работы — задача, которую можно рассматривать как совокупность ее программы, используемых наборов данных, необходимых ей ресурсов.
Организация обработки пакет а заданий в мультипрограммном режиме
Организация обработки пакета заданий показана на рис. 13.2. Предварительно на языке управления заданиями составляется описание задания и его пунктов, в котором для задания указываются необходимая емкость ОП, приоритет и класс, а для каждого пункта — имена используемых программ, входных и выходных наборов данных, приоритет пункта, не-
Устройства входные
системного очереди
ввода заданий
разных
классов в ЗУ на дисках
Устройства
системного
дыдода
ПроцессорПакеты заданий и Входные наборы данных
Выходные очереди разных классов в зу на дисках
Рйс.
13.2. Организация обработки пакета заданий
в мультипрограммном режиме
обходимые емкость ОП и устройства. Описания заданий объединяются в пакет.
Обработка пакета заданий организуется и управляется программами операционной системы (программой супервизор и др.).
Тексты заданий и входные наборы данных вводятся программой системного ввода с устройств системного ввода (перфо- картный ввод, ЗУ на лентах или дисках). Очереди заданий, упорядоченные для каждого класса в соответствии с приоритетом заданий, располагаются в ЗУ прямого доступа (ЗУ на дисках).
Программа Планировщик выбирает задания из очереди старшего класса, назначает ему периферийные устройства, выдает сообщение оператору об установке нужных томов (пакетов дисков, катушек с лентой) и загружает программу очередного пункта задания.
Средства супервизора управляют обработкой задач в мультипрограммном режиме, распараллеливают процесс обработки программы, распределяют ресурсы (память, время процессора и др.) между выполняемыми параллельно задачами, следят за освобождением задачами ресурсов, производят динамическую загрузку программ, обрабатывают возникающие прерывания.
Задача, находящаяся в состоянии готовности, переводится супервизором в активное состояние и начинает обрабатываться процессором, если все другие совместно выполняемые задачи с более высоким приоритетом оказываются в состоянии ожидания. Обработка этой задачи будет прервана супервизором, если перейдет в состояние готовности какая-либо задача более высокого приоритета.
Группам заданий (задач), находящимся в ОП, может быть назначена обработка с квантованием времени, при которой супервизор поочередно выделяет заданиям один и тот же интервал (квант) времени работы процессора. Квантованная обработка позволяет избежать монополизации процессора одной задачей, что особенно важно при диалоговом режиме работы ВС.
Результаты выполнения задания (задачи) помещаются в ЗУ прямого доступа (ЗУ на дисках) в выходную очередь, соответствующую выходному классу задания.
Выходные данные выводятся программой системного вывода на одно из устройств системного вывода (пёрфокартный вывод, печатающее устройство, ЗУ на ленте).
Для организации мультипрограммного вычислительного процесса ВС требуются определенные аппаратурные и программные средства.
Супервизор — программа, осуществляющая планирование вычислительного процесса, распределение ресурсов системы, обработку прерываний.
Прерывание программ. Часть функций, которые выполняет система прерывания мультипрограммной ЭВМ, свойственна и однопрограммным системам: обеспечение параллельной работы периферийных устройств и процессора, синхронизация работы ЭВМ с внешними по отношению к ней устройствами. Некоторые другие функции являются специфическими для мультипрограммного режима. Если, например, в однопрограммной машине произошло обращение к памяти по несуществующему в данной конфигурации адресу, то машина остановится. При мультипрограммной работе в подобных ситуациях останавливается выполнение только данной программы, но не система. Следовательно, каждая ситуация, подобная указанным выше, должна вызывать запрос прерывания, позволяющий супервизору указать пользователю на его ошибку, не прекращая исполнения других программ. Имеются и другие особенности прерывания в мультипрограммных системах.
Часть функций системы может выполняться только под управлением супервизора. Целевая программа должна для этого передать управление супервизору. В систему команд мультипрограммной системы должна быть включена команда «Вызов супервизора», которая производит прерывание целевой программы и снабжает супервизор информацией о характере затребованного действия.
В однопрограммных машинах маскирование какого-либо запроса прерывания обычно приводит к тому, что он запоминается до тех пор, пока запрещение прерывания не будет снято. В мультипрограммных системах действие маски прерывания должно иметь избирательный характер. Прерывания, которые должны воздействовать только на какую-либо одну целевую программу, при маскировании должны игнорироваться. В противном случае они могут нарушить работу другой целевой программы, если в последней маска для данного прерывания снята.
Динамическое распределение памяти осуществляется между программами в ходе самого вычислительного процесса.
Защита памяти предотвращает непредусмотренное воздействие одной программы на другую путем запрета вторжения одних программ в области памяти других программ. При отсутствии защиты памяти ошибки в одних программах могут приводить к порче информации, принадлежащей другим программам.
Привилегированные команды. В мультипрограммной системе часть команд может выполняться только супервизором. Такие команды называют привилегированными.
К привилегированным операциям относятся установка и изменение, кодов защиты памяти, установка и изменение маски прерывания, останов процессора, команды управления устройствами ввода-вывода и др. В мультипрограммных системах в состав процессора вводят триггер, состояние которого задает режим либо супервизора, либо целевой программы (задачи). Появление привилегированной команды в режиме задачи вызывает прерывание.
Датчик времени (таймер). Переключение программ из активного режима в пассивный в мультипрограммной системе с квантованной обработкой производится не только при достижении программой такого состояния, когда она не может дальше работать (например, ожидание ввода-вывода), но и по истечении определенного промежутка времени, отведенного данной программе под цикл активности. Кроме того, должен вестись учет времени, фактически использованного каждой целевой программой для последующей оплаты машинного времени пользователем. Датчик времени представляет собой схему, позволяющую измерять интервал времени между различными программными событиями.
Структура и принцип действия ВС коллективного пользования (разделения времени)
Эффективность вычислительной техники в очень большой степени определяется производительностью труда лиц, решающих задачи на машинах. Эта производительность во многом зависит от доставляемых средствами вычислительной системы возможностей взаимодействия и общения пользователей с машиной в процессе подготовки и отладки программ, а также в процессе решения задач.
При переходе к ЭВМ второго поколения для повышения эффективности использования собственно средств вычислительных систем стал применяться операторный (пакетный) режим решения задач на ЭВМ, при котором пользователи сдают свои задачи оператору ЭВМ, формирующему пакет задач, решаемых, как правило, в мультипрограммном режиме.
В результате пользователь утратил непосредственную связь с ЭВМ, характерную для эксплуатации машин первого поколения.
Ожидание результатов решения по переданной оператору программе затрудняет отладку программ, делает невозможным оперативное внесение в программы изменений по результатам решения, что ведет к снижению эффективности труда программистов по сравнению с эффективностью в режиме непосредственного общения с ЭВМ.
Выход из создавшейся ситуации был найден в идее вычислительной системы коллективного пользования (ВСКП), в которой реализуется практически одновременный доступ многих независимых пользователей к ресурсам ВС (многопользовательский режим). При этом предполагается наличие у пользователя своего терминала, например дисплея, с помощью которого он может независимо от других пользователей обратиться к системе с запросами на обработку его программ и получить результаты обработки. При одновременном обращении нескольких пользователей ВС должна реагировать на их запросы с задержкой, которая пользователю представляется почти такой же, как и при индивидуальном пользовании. Независимость пользователей означает, что они могут при подготовке своих программ считать, что каждый из них располагает всеми ресурсами системы, в том числе всей ее памятью.
Во многих случаях ВСКП создаются на базе ЭВМ общего назначения, чему способствуют их высокая производительность, возможность решения на них разнообразных задач, наличие в их составе обширного комплекса периферийных устройств (в том числе ЗУ большой емкости), а главное, эффективных аппаратурных и программных средств поддержки мультипрограммного режима, составляющего основу для коллективного использования ЭВМ.
Если все запросы пользователей имеют примерно одинаковую длину и не требуют много машинного времени, как это имеет место в информационно-справочных системах или автоматизированных обучающих системах, то запросы формируются в пакет и обрабатываются согласно дисциплине обслуживания «первый пришел — первый ушел» или какой-либо другой, в том числе и с учетом различных приоритетов запросов. Такие ВСКП (система типа «запрос — ответ») работают без квантованного обслуживания запросов.
Более характерным является случай, когда в ВСКП поступают запросы, сильно отличающиеся по необходимому машинному времени, причем заранее нельзя определить продолжительность обработки того или иного залроса. Такая ситуация характерна для любого вычислительного центра без постоянной номенклатуры расчетов.
В этом случае поддержание в ВСКП у пользователей иллюзии прямого общения с ВС и обладания ее ресурсами требует уменьшения времени отклика системы в первую очередь на короткие запросы. Действительно, пользователи, затребовавшие выполнения программ, требующих много машинного времени, склонны спокойно ждать обслуживания сравнительно долго. В то же время пользователи, запрашивающие решение коротких задач, оказываются более нетерпеливыми, и поэтому такие запросы должны получить обслуживание в первую очередь.
Для создания эффекта прямого контакта пользователя с системой ■ путем сокращения времени ожидания ответа на короткие запросы в ВСКП применяют квантованное обслуживание, или, другими словами, разделение времени при выполнении запросов..
Вычислительная система с разделением времени (СРВ), работающая в мультипрограммном режиме, в определенной последовательности обслуживает пользователей, выделяя программе (запросу) каждого пользователя некоторый интервал времени (квант обслуживания). Если в течение выделенного программе кванта времени ее обработка не заканчивается, программа прерывается и становится в очередь программ, ожидающих обработки.
Порядок распределения между пользователями основного ресурса СРВ — времени процессора и соответственно других ее ресурсов — устанавливается дисциплиной обслуживания. Дисциплина обслуживания выбирается с учетом следующих требований: обеспечение режима прямого контакта пользователя с вычислительной системой, высокий уровень эффективности использования технических средств вычислительной системы, простота апаратурных и программных средств, обеспечивающих реализацию принятой дисциплины обслуживания. Поскольку нельзя допустить фактической монополизации времени процессора и других средств вычислительной системы каким-либо пользователем, то кажется естественной и одновременно технически просто осуществимой дисциплина обслуживания, при которой всем программам выделяется один и тот же квант времени, по возможности меньший, чтобы промежутки между интервалами активности программ пользователя были минимальными.
Однако уменьшение выделяемого программам кванта времени ведет к снижению эффективности использования технических средств системы, так как переключение программ из пассивной фазы в активную сопровождается служебными операциями, доля которых при этом в общем времени работы системы возрастает. Значение кванта времени выбирается в результате разумного компромисса, с тем'чтобы и время ожидания ответа на запрос, и потери производительности от переключения активности программ были приемлемыми.
Дисциплины обслуживания в СРВ. Было предложено несколько дисциплин обслуживания пользователей в СРВ. Их можно разбить на две основные группы: одноочередные и многоочередные.
Одноочередная дисциплина обслуживания. Схема одноочередной СРВ представлена на рис. 13.3. Вновь поступающие от пользователей запросы (программы) ставятся в конец очереди. Для обслуживания выбирается программа из начала очереди, и ей отводится квант времени Л процессора. Если за это время программа успеет завершиться, результат будет выдан пользователю, а процессор приступит к обработке следующей из очереди программы. Если программа за выделенный квант времени не закончится, обработка ее прервётся и она поступит в конец очереди.
Иногда в целях уменьшения времени отклика системы на короткие (по времени выполнения) запросы рассматриваемая дисциплина модифицируется, и вновь поступающий в систему
Пульты
пользователей
ф
Очередь
Процессор
и другие средства
•
•
вычислительной
системы
•
•
Обслуживание
запроса не закончено
Ответ
(обслуживание запроса закончено)
Рис.
13.3. Система разделения времени с
одноочередной дисциплиной обслуживания
\
рис.
13.4. Система разделения времени с
многоочередной дисциплиной
обслуживания
Лоток новых запросов
Очередь О ЧИП Очередь 1 Н"П"П
Обслуживание
закончено
Процессор^*
и
-cm
Обслуживание не закончено
запрос становится в начало очереди. В остальном процесс функционирования остается без изменения.
Многоочередная дисциплина обслуживания. Для сокращения потерь времени, связанных с переключением программ, и обеспечения приоритета для коротких запросов (программ) используют дисциплину обслуживания с несколькими очередями (рис. 13.4). Приоритет очереди убывает с возрастанием ее номе- / ра ш (O^m^fc). Вновь поступающий в СРВ запрос ставится в конец очереди, имеющей старший приоритет (т = 0).
В такой^системе следующим подлежит обслуживанию запрос из начала очереди с номером т, если очереди с меньшими номерами (с более высоким приоритетом) пустые. Если за выделенный программе, находившейся в очереди т, квант времени ее обработка не заканчивается, программа прерывается и переходит в конец очереди с номером т+1. Выделяемый программе квант времени возрастает с увеличением номера очереди обычно по правилу
Лт=2тЛ,
где Дт — квант, выделяемый программе из m-й очереди (0<;
Л — квант для программы из нулевой очереди. Обычно Л = 200-i-500 мс.
Программы из последней очереди обслуживаются до конца без прерывания. Если во время обслуживания программы из очереди т в очереди с большим приоритетом появляется новая программа, то после окончания текущего кванта Л обрабатываемая программа прерывается и возвращается в начало своей очереди, с тем чтобы впоследствии дополучить недоданное по отношению к значению 2т А время.
Чтобы избежать недопустимо долгого ожидания для больших программ, приоритет делается зависящим от времени ожидания. Если ожидание превысит некоторое установленное значение (например, 60 с), программа перейдет в следующую очередь с меньшим номером. Таким образом, в рассматриваемой системе
приоритетные соотношения между запросами устанавливаются в самом процессе выполнения программ (динамические приоритеты ).
Описанный механизм распределения времени обладает определенными адаптивными свойствами: программы с большей длительностью обработки вытесняются в очереди с большими номерами. Этот процесс можно-сделать более эффективным, если при вводе запросов сразу распределять запрашиваемые программы по очередям, используя для этого некоторые оценки.
В первом приближении можно считать, что продолжительность выполнения программы пропорциональна ее длине (числу байт). По меньшей мере от длины программы прямо зависит время, затрачиваемое на передачу программы между оперативной и внешней памятями при переключении ее активности.
В алгоритме планирования Ф. Корбато, реализованном в одной из первых СРВ, программа сразу поступает в очередь, имеющую номер
»=]log2(]y^[+l)[.
где 1Р — число байт в программе; /д — число байт, которое может быть передано из оперативной памяти во внешнюю или обратно за время А; от выражений, стоящих в квадратных скобках, берется целая часть. В остальном дисциплина обслуживания соответствует описанной выше.
Процесс взаимодействия пользователя с СРВ показан на рис. 13.5. Пользователь со своего пульта вводит запрос (требо-
Пользователь начинает завершает ^ввод запроса __
Пульт
ПОЛЬ
зо-*
вателя
запроса
Вывод
ответа \на запрос
■
*
Обработка запроса- выполнение программы пользователя