Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Дроздов Е.А. Основы построения и функционирования вычислительных систем

.pdf
Скачиваний:
15
Добавлен:
25.10.2023
Размер:
14.65 Mб
Скачать

Минимальное время будет получено в том случае, если: каждая задача в точности имеет одно вхождение в таб­ лицу.

Для

задач с большой

частотой повторения

в связи

с большим числом вхождений в универсальную

таблицу

может оказаться,

что ее

длина окажется недопустимо;

большой.

Поэтому

для

ограничения длины

таблицы:

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

Один из возможных вариантов структуры универ­ сальной таблицы можно представить следующим обра­

зом

(табл. 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

Соседние файлы в папке книги из ГПНТБ