
книги из ГПНТБ / Дроздов Е.А. Основы построения и функционирования вычислительных систем
.pdfМинимальное время будет получено в том случае, если: каждая задача в точности имеет одно вхождение в таб лицу.
Для |
задач с большой |
частотой повторения |
в связи |
|
с большим числом вхождений в универсальную |
таблицу |
|||
может оказаться, |
что ее |
длина окажется недопустимо; |
||
большой. |
Поэтому |
для |
ограничения длины |
таблицы: |
можно существенно уменьшить число вхождений в таб лицу для задач с большой частотой повторений, но пе риодически перестраивать таблицу заново. Перестройка, таблицы может осуществляться при необходимости из менить естественную последовательность расположения задач, их приоритет и т. д.
Один из возможных вариантов структуры универ сальной таблицы можно представить следующим обра
зом |
(табл. 2-12): |
|
|
|
|
|
|
|
|
|
Т а б л и ц а 2-12 |
|
Признаки |
|
Очередные |
Исходная последовательность |
|
|
|
|
|||
с, |
с, |
°] |
зависимые |
задачи |
задач |
|
|
|
|||
1 |
1 |
1 |
Задача |
3 |
№ 1 |
1 |
1 |
1 |
Задача |
К |
№ 2 |
0 |
1 |
1 |
— |
|
№ 3 |
— |
— |
— |
— |
№ 4 |
|
— |
— |
— |
— |
№ 5 |
|
0 |
0 |
0 |
— |
|
№ 6 |
1 |
1 |
1 |
Контрольная задача |
В правый крайний столбец заносятся все задачи данного набора в естественной последовательности от первой до последней. Во второй справа столбец зано сятся очередные зависимые задачи. Для приведенного варианта структуры это означает, что после решения задачи 1 может решаться задача 3. В левом столбце, разделенном на подстолбцы, размещаются признаки с,. Признаки определяют готовность задач к решению. При построении таблицы с каждой задачей связываются со-
ответствующие признаки, характеризующие степень го товности данной задачи к решению.
Степень готовности при этом определяется такими факторами, как выполнение решения задач, предшест вующих данной, разрешение на решение и т. д. Если все условия удовлетворяются, то все признаки, относящиеся к данной задаче, принимают значения, равные единице.
Неготовность задачи к решению |
определяется нулевыми |
||
значениями признаков. |
|
|
|
• , |
_Н5) . |
Ш _ |
7(8) • |
ц |
3(3) . |
5(B) |
6(2) 8 M |
Рис. 2-14. Диаграмма, составлен ная по универсальной таблице.
Приведем в качестве иллюстрации структуру универ сальной таблицы для примера, рассмотренного в § 2-3. Будем для простоты считать, что степень готовности определяется лишь одним признаком си а именно усло вием решенности задач, предшествующих данной. С уче том сказанного структура универсальной таблицы пред ставлена в табл. 2-13.
|
|
Т а б л и ц а |
2-13 |
|
Признак |
Очередные зависи |
Исходная естественная |
||
|
||||
C l |
мые задачи |
последовательность |
задач |
|
|
|
|
|
|
1 |
4,5 |
№ |
1 |
|
1 |
4,5 |
№ |
2 |
|
1 |
4,5 |
№ |
3 |
|
0 |
6,7 |
№ |
4 |
|
0 |
6,8 |
№ |
5 |
|
0 |
— |
№ |
6 |
|
0 |
№ |
7 |
|
|
0 |
— |
№ |
8 |
|
1 |
— |
Контрольная задача |
||
— |
Оценим точность данного метода на этом же приме ре. С целью упрощения процедуры решения не будем учитывать затрат времени на просмотр таблицы и при нятие решения, т. е. будем полагать А^ = 0. Использо вание универсальной таблицы обеспечивает время реа лизации задач Ы, — \1 ед.
i l l
Таким образом, использование универсальной табли
цы в этом частном |
случае не приводит |
к погрешности от |
|
носительно |
строго |
оптимального решения. |
|
В (Л. |
41] предлагается алгоритм, |
обеспечивающий |
плотную загрузку каждого из двух однотипных вычис лителей системы при минимальном времени поиска ва рианта распределения. По своей сущности он близок к методу составления субоптимальных расписаний. Алгоритм распределения основан на выявлении по мат рице достижимости готовых операторов, распределении готовых операторов по машинам системы и преобразо вании исходной матрицы.
Допустим, что реализации на системе подлежит на бор задач, заданный ярусным графом и средними вре менами реализации операторов.
По данному графу формируется так называемая рас ширенная матрица следования, представляющая собой матрицу смежности с присоединенным справа столбцом средних времен реализации каждого оператора. Приме нительно к графу, изображенному на рис. 2-1, эта мат рица имеет следующий вид:
5 6
На следующих этапах осуществляется: анализ мат рицы и выявление операторов, готовых к реализации; назначение этих операторов по машинам такое, чтобы времена их загрузки различались минимально; после дующее преобразование матрицы.
На основании анализа новой матрицы меньшей раз мерности осуществляются распределение по машинам системы готовых операторов и дальнейшее перестроение матрицы. Этот процесс повторяется до полной реализа ции всех операторов. Время, затрачиваемое в данном случае на выбор стратегии управления, зависит в основ-
112
ном |
от принятого критерия распределения операторов |
по |
машинам системы. |
В том случае, если преследуется цель минимизиро
вать разницу времен загрузки машин, |
этот метод, как |
|
отмечалось выше, по |
своим результатам приближается |
|
к методу составления |
субоптимальных |
расписаний. |
2-6. СТРУКТУРА И ФУНКЦИИ ДИСПЕТЧЕРА
Обеспечение мультипрограммной работы ВС на осно ве централизации управления работой всех ее элемен тов осуществляется диспетчером, представляющим собой комплекс управляющих программ, которые выполняют только служебные функции. Взаимодействие рабочих программ, по которым решаются задачи, с системой производится только через диспетчер. В процессе функ ционирования ВС обращения к диспетчеру происходят двумя путями: 1) со стороны рабочих программ всякий раз, когда требуется выполнить действие, которым управляет диспетчер; 2) со стороны элементов ВС по сигналам прерывания, когда возникает необходимость в использовании центрального процессора или ЦВМ системы для обеспечения работы этих элементов.
Состав и сложность диспетчера различны в различ ных ВС, однако можно говорить о его типовой струк туре. В состав диспетчера входят планирующая про грамма, программа-распределитель, программы преры вания, программы управления вводом-выводом, про граммы управления библиотекой, трансляторами и др.
С помощью планирующей программы определяется последовательность выполнения как рабочих программ на машинах ВС, так и отдельных частей самого диспет чера. В соответствии с заложенным в планирующую программу алгоритмом производится распределение ра бочих программ между машинами таким образом, что бы, учитывая приоритетность и связность программ, минимизировать время Г3 .н .п . Эффективность работы планирующей программы по распределению рабочих программ определяется как заложенным в нее алгорит мом, так и наличием данных о времени выполнения рабочих программ на машинах системы. Точное значе ние этого времени может быть неизвестным, и тогда приходится пользоваться ориентировочными цифрами.
Планирующая программа постоянно находится
8—1514 |
113 |
в ООП системы. Она вступает в действие, когда какаянибудь машина ВС заканчивает выполнение одной ра бочей программы и ей должно быть выдано следующее задание или когда происходит прерывание выполняемых программ.
После составления плана выполнения имеющегося набора рабочих программ управление от планирующей программы передается программе-распределителю, ко торая отводит каждой рабочей программе место в ООП, если емкость этой памяти достаточна. В противном слу чае в ООП загружаются только те рабочие программы, которые в соответствии с составленным планом должны выполняться в первую очередь. Программа-распредели тель осуществляет динамическое распределение памяти, управляет процессом обмена информацией между ООП и ВЗУ, вызывая активные программы или активные участки программ в ООП и возвращая из ООП в ВЗУ те программы или их части, которые в течение опреде ленного времени не будут использоваться. На распреде литель возлагаются также функции организации систе мы защиты памяти, поэтому его структура во многом определяется структурой этой системы, особенно харак тером встроенных в нее аппаратурных средств распре деления и защиты памяти.
Программ прерывания в составе диспетчера может быть несколько. Обычно они специализируются по при чинам прерывания, для чего назначаются программы, обслуживающие запросы от устройств ввода-вывода, программные прерывания, прерывания от схем контроля и т. д. Код прерывания формируется либо в устройстве прерывания, либо указывается в командах обращения к диспетчеру. Программа прерывания, восприняв код прерывания, дешифрирует его и определяет возможность удовлетворения запроса на обслуживание путем пере дачи управления одной из программ диспетчера. В част ности, если пришел запрос на решение срочной задачи, для которой рабочая программа составлена заранее и хранится в ВЗУ системы, соответствующая программа прерывания передает управление планирующей про грамме. Планирующая программа выявляет, имеются ли в системе свободные машины, и если имеются, то хватит ли их производительности для удовлетворения нового запроса в приемлемые сроки. Если свободных машин нет, планирующая программа составляет новый
114
план реализации набора рабочих программ, вклю чающий и программу, соответствующую срочному за просу.
На работу программы прерывания накладывается ограничение по времени. Для каждой ВС, исходя из тех нических соображений, устанавливается свое предель ное время работы программы прерывания. Необходи мость в этом объясняется тем, что программа прерыва ния, коль скоро она уже включена в работу, не может быть прервана до момента передачи данных о запросе в одну из программ диспетчера. За это время в систему могут поступить другие запросы на обслуживание, и для исключения возможности их потери необходимо,
чтобы |
программы |
прерывания |
удовлетворяли запросы |
|
в кратчайшие сроки. |
|
|
||
В |
современных |
ВС |
операции |
по вводу информации |
в систему (во внешние |
запоминающие устройства) или |
выводу результатов решения задач на устройства реги страции и документирования, а также по передаче этих результатов абонентам осуществляются одновременно с реализацией рабочих программ на машинах системы. Управление операциями ввода-вывода производится с помощью соответствующих программ диспетчера, ко торые включаются в работу планирующей программой.
Если, таким образом, в ходе реализации некоторой рабочей программы окажется необходимым ввести для нее массив информации из ВЗУ в ООП, управление вво дом берет на себя диспетчер. Если бы управление осу
ществлялось самой рабочей |
программой, то |
на |
вре |
||
мя |
ввода |
соответствующий |
процессор системы |
(тот, |
|
в |
котором |
реализуется рабочая программа) |
бездей |
ствует.
Уменьшение простоев устройств ввода в вычисли тельных системах достигается путем использования спо соба предварительной комплектации данных. Для этого заявка на решение задачи должна содержать сведения о необходимом объеме исходных данных. Комплектация данных производится по командам программы управле ния вводом. Она считается законченной, если в памяти ВС собрана вся информация, необходимая для решения данной задачи. Задачи, для которых укомплектованы все необходимые данные, включаются в список активных задач, порядок их выполнения координируется плани рующей программой.
8* |
115 |
Аналогично с целью исключения значительных про
стоев устройств вывода |
производится |
предварительная |
|
комплектация выводимой |
информации. |
|
|
Помимо |
отмеченного, |
на диспетчеры возлагаются |
|
функции по |
организации |
работы библиотеки стандарт |
ных программ, входящих в состав математического обеспечения ВС, по управлению работой трансляторов, по управлению работой машин ВС в отладочном ре жиме.
Г Л А В А Т Р Е Т Ь Я
СИСТЕМЫ С РАЗДЕЛЕНИЕМ ВРЕМЕНИ
3-1. О Б Щ И Е СВЕДЕНИЯ О СИСТЕМАХ С Р А З Д Е Л Е Н И Е М ВРЕМЕНИ
|
Системами с разделением |
времени (СРВ) |
называют |
ся |
такие мультипрограммные |
вычислительные |
системы, |
в |
которых обеспечивается |
возможность оперативного |
взаимодействия абонентов с централизованными вычи слительными средствами (процессорами или ЦВМ) через специальные или государственные линии связи. Такие системы снабжены множеством периферийных внешних устройств и автономно работающих пультов управления (терминалов). В СРВ в любой момент времени могут удовлетворяться требования (запросы) на решение за дач (на исполнение программ) нескольких абонентов. Удовлетворение этих требований осуществляется в при
емлемое для |
абонентов время и состоит в реализации |
их программ |
в определенной последовательности, однако |
не обязательно до полного завершения каждой програм мы. В типичном случае определенной программе або нента отводится некоторое машинное время системы, затем исполнение этой программы прерывается для реа лизации другой программы. Далее в некоторый после дующий момент времени продолжается исполнение пер вой программы и т. д.
Естественно, существует допустимый верхний предел числа активных абонентов, одновременно обращающих ся к системе с запросами. Этот предел зависит от произ водительности системы, емкости ее оперативной памяти, трудоемкости реализуемых программ абонентов, допу-
116
стимого времени реализации каждой из этих программ, пропускной способности каналов связи абонентов с цен тральными вычислительными средствами.
Системы с разделением времени иначе называются системами с дистанционным доступом, системами с мно жественным доступом. В качестве централизованных вы числительных средств этих систем могут использоваться либо отдельные машины (процессоры), либо несколько однотипных или разнотипных ЦВМ (процессоров).
Работа ЦВМ в режиме разделения времени впервые была продемонстрирована в 1961 г. в Массачусетском технологическом институте (США), через два года там же начала работать усовершенствованная СРВ на базе двух машин ІВМ-7094. Первая коммерческая система с разделением времени, положившая начало их широ
кому использованию, |
введена в строй в |
США в 1965 г. |
В 1969 г. в США |
число терминалов |
(периферийных |
устройств СРВ) достигло 70 000. В Англии первый ком мерческий вычислительный центр, работающий в режи ме разделения времени, открыт в 1967 г.
В СССР также находится <в эксплуатации ряд систем с разделением времени, кроме того, ведутся работы по созданию новых СРВ для проведения научных и инже нерно-технических расчетов, оперативного управления производством 'И т. д.
В состав СРВ обычно входят центральные вычисли тельные средства (одна или несколько ЦВМ или про цессоров), основная оперативная память (ООП) систе мы, вторичная память, периферийные устройства (ПУ) с устройствами управления (УУ). В качестве периферий ных устройств используется большой и разнообразный набор устройств для запоминания, регистрации, отобра жения, ввода и вывода информации. Управление работой периферийных устройств осуществляется индивидуаль ными или коллективными устройствами управления.
Обмен информацией между ЦВМ системы и перифе рийными устройствами производится по информацион ным магистралям. Инфqpмaциoннaя магистраль может быть общей для определенной части периферийных устройств. Все действия по передаче информации между ПУ и ООП системы возлагаются на комплекс аппарату ры, называемый каналом. Канал является устройством, предназначенным для выполнения операций ввода-вы вода. Канал обеспечивает стандартную в информацион-
117
ном и структурном отношении формѵ связи разнотипных ПУ с ЦВМ и ООП системы.
В связи с разнообразием типов периферийных устройств и большим их количеством в системе характе ристики последней определяются не только возможно стями вычислительных средств, но в значительной сте пени техническими данными периферийных устройств и организацией их совместной работы в СРВ.
Всовременных системах с разделением времени чис ло периферийных устройств, подключаемых к централь ным вычислительным средствам, может изменяться, по этому они относятся к категории систем с переменным составом оборудования.
Взависимости от способности каналов ввода-вывода одновременно обслуживать несколько ПУ различают мультиплексные (МК) и селекторные каналы (CK).
Мультиплексный |
канал |
представляет собой |
логически |
самостоятельный |
агрегат, |
осуществляющий организацию |
|
взаимосвязи между ЦВМ (процессорами) и |
памятью |
||
СРВ, с одной стороны, и группой сравнительно |
медленно |
действующих периферийных устройств, с другой. В МК реализуется временной принцип разделения, когда связь с каждым из ПУ осуществляется однократно за цикл опроса (сканирования) всей группы ПУ. Этим обеспечи вается более эффективное использование быстродейст вующей (электронной) аппаратуры МК- В то время, когда одно ПУ связано с каналом для передачи инфор
мации между ПУ и ЦВМ |
(или ООП системы), другие |
|
ПУ выполняют |
действия, |
не требующие привлечения |
средств канала |
(печать ранее принятой информации, счи |
тывание символа с носителя информации и т. д.). Таким образом, мультиплексный канал работает по методу уплотнения передач путем разделения во времени дей ствий по обслуживанию нескольких одновременно рабо тающих периферийных устройств.
В МК выполнение операций ввода-вывода разделяет ся на короткие интервалы времени, в каждом из которых между данным ПУ и ЦВМ (ООП системы) передается только часть информации, связанной с выполняемой опе рацией.
Селекторный канал представляет собой логически самостоятельный агрегат, осуществляющий организацию взаимосвязи между ЦВМ (процессорами) и памятью СРВ, с одной стороны, и группой внешних запоминаю-
118
щйх устройств (ВЗУ), с другой стороны, в режиме пред почтения, или в монопольном режиме.
В селекторном канале исключена возможность одно временной работы нескольких ВЗУ, все средства канала монополизируются в течение достаточно продолжитель ного периода (порядка 100 мсек и более) одним ВЗУ. С момента начала операции ввода-вывода канал рабо тает с одним ВЗУ до тех пор, пока не будет завершена передача всей информации между этим ВЗУ и ЦВМ (процессором) или ООП системы. Для других ВЗУ, под ключенных к каналу, в течение всего этого времени ка нал находится в состоянии «занят». Селекторный канал можно рассматривать как канал, содержащий только один подканал.
В системах с разделением времени, в которых в ка честве вычислительного средства используется одна ЦВМ или один процессор, применяется обычно совокупность одного мультиплексного канала и нескольких (от 3 до 7) селекторных каналов.
Обмен информацией между периферийными устрой ствами и памятью системы может осуществляться либо непосредственно (в каналах с прямым доступом к .памя ти), либо чеірез процессор (в каналах с косвенным до ступом к памяти).
Каналы (мультиплексные и селекторные) с прямым доступом имеют собственную аппаратуру для связи с па мятью и могут обращаться к ней независимо от процес сора. В каналах с косвенным доступом, помимо необхо димости затраты машинного времени на обмен инфор мацией между ПУ и ООП, имеет место задержка в обслуживании запросов ПУ на время выполнения са мой длинной команды процессора. Последнее объясняет ся тем, что в момент передачи информации между ка налом и памятью используемая каналом аппаратура процессора должна быть свободна от выполнения команд. Следовательно, сеансы связи канала с памятью могут происходить только после окончания текущей команды и перед началом исполнения следующей.
Как уже отмечалось, периферийное устройство в об щем случае включает два узла — собственно периферий ное устройство с пультом абонента (периферийный ап парат, терминал) и устройство управления ПУ. Пери ферийный аппарат — это электромеханическое или элек тронное устройство, непосредственно осуществляющее
119