
книги из ГПНТБ / Дроздов Е.А. Основы построения и функционирования вычислительных систем
.pdfT0(-, т. е. в первую очередь выполняется наиболее «корот кая» программа, требующая наименьшего объема вычис лений. Если априорно распределение объема вычислений не известно, могут быть введены так называемые дина мические приоритеты, которые присваиваются програм мам абонентов на основании предыдущих оценок про' грамм, произведенных системой в процессе ее работы. Приоритетное обслуживание по указанному принципу применяется в случае, когда стоимость ожидания обслу живания для всех абонентов одинакова.
2.Приоритетное обслуживание по правилу т/с, в по рядке возрастания отношения Хщ/С{.
3.Приоритетное обслуживание по принципу «чем важнее требование, тем выше его приоритет», т. е. здесь при установлении очередности обслуживания абонентов вообще не принимается во внимание распределение объ ема вычислительной работы между реализуемыми про граммами. Во главу угла ставится степень важности и срочности требований абонентов. Такая стратегия обслу
живания характерна главным образом для СРВ воен ного назначения.
При использовании приоритетного обслуживания лю бой разновидности не обязательно устанавливается толь ко одна очередь обслуживания активных (требующих машинного времени) абонентов. Обычно активные або ненты по тому или иному признаку разбиваются на не сколько групп, каждой из которых присваивается свой уровень приоритета. Каждому уровню приоритета соот ветствует своя очередь, упорядоченная в порядке по ступления требований этого уровня. Приоритет требова ний убывает с увеличением номера уровня. Требование, которое должно обслуживаться следующим, всегда выби рается из непустой очереди требований наивысшего при оритета.
Приоритетное обслуживание может осуществляться либо без прерывания кванта времени, либо с прерывани
ем. При обслуживании без |
прерывания |
кванта переход |
к обслуживанию очередного |
требования |
осуществляется |
только в конце текущего кванта времени, поэтому воз можна ситуация, когда в данный момент обслуживается требование не самого высокого приоритета.
При обслуживании с прерыванием кванта в любой момент времени осуществляется 'выполнение программы, принадлежащей очереди с наивысшим приоритетом,
130
В этом случае возможны два варианта организации вычислений: 1) повторение вычислений при возврате к прерванной программе, начиная с той операции, кото рая соответствует началу прерванного кванта; при этом теряется часть кванта, предшествующая моменту приори тетного прерывания; 2) возобновление вычислений при возврате к прерванной программе, начиная с того места программы, где эти вычисления были прерваны.
|
Рассмотрим конкретные примеры организации оче |
|||
редности обслуживания |
требований (программ), приме |
|||
няемые в существующих СРВ [Л. 55, 56]. |
|
|||
|
Организация очередей |
в соответствии с |
алгоритмом |
|
FB |
jv |
( F B — начальные |
буквы английского |
словосочета |
|
ния Foreground Background). Алгоритм разработан при
менительно |
к однопроцессорной |
СРВ. Существо его за |
|||
ключается |
в следующем. Из программ, имеющихся в си |
||||
стеме, организуется ряд очереден, которым |
присваива |
||||
ются номера от 1 до Л'. Вновь прибывающие |
требования |
||||
на обслуживание (на выполнение |
программ) поступают |
||||
в конец очереди № 1. Выполнение |
программ |
производит |
|||
ся в такой |
последовательности. |
Сначала |
выполняется |
||
программа, |
стоящая первой в |
очереди |
№ 1. Ей предо |
||
ставляется |
квант времени тк .в . |
Если за |
время т к . в вы |
полнение этой программы заканчивается, результаты вы водятся на печать или вообще каким-то образом регист рируются, и к исполнению принимается следующая программа из первой очереди. В противном случае неза
вершенная программа |
отправляется в конец |
очереди |
||
№ 2 |
и т. д. Так продолжается до тех пор, пока |
в |
оче |
|
реди |
№ 1 не останется |
ни одной программы. Затем |
та |
ким же образом производится выполнение программ из очереди № 2 и т. д.
Первая программа из j'-й очереди поступает на вы полнение только в случае, когда нет очередей с номера
ми і—1, і—2,...,2, |
1. Программы |
из последней, |
N-оче- |
|||||||
реди выполняются без прерываний |
по принципу |
«первая |
||||||||
поступила — первая обслужена». |
|
|
|
|
||||||
K + |
Организация |
очередей |
в соответствии с |
|
алгоритмом |
|||||
|
a |
', |
представляющим |
собой |
сочетание |
кругового |
||||
K + FB |
|
|||||||||
(циклического) |
алгоритма и алгоритма FBN. |
Алгоритм |
||||||||
|
FBjv |
использовался в системе |
с разделением |
време |
||||||
ни, |
построенной |
на базе ЦВМ A N / F S Q - 3 2 |
фирмы IBM |
|||||||
(США). В соответствии с этим алгоритмом |
из программ, |
находящихся в системе, образуются три очереди, а вновь
9* 131
прибывающие программы |
поступают |
в конец очереди |
№ 1. Из первой очереди |
программы |
выбираются для |
выполнения по принципу кругового обслуживания, при чем каждая из них проходит не более трех циклов об служивания. В каждом цикле программе предоставляет ся один квант времени (тк .в = 600 мсек). Программы, на выполнение которых трех квантов оказалось недостаточ ным, из очереди № 1 отправляются в конец второй оче реди.
Во второй очереди, где также используется принцип кругового обслуживания, программы выполняются в те чение одного цикла, причем каждая из них получает от
одного |
до шести квантов времени (здесь |
также тк .в = |
= 600 |
мсек). Незавершенные программы |
отправляются |
в конец третьей очереди, где они обслуживаются за один цикл. За время цикла каждой программе предоставляет
ся до 20 квантов |
по 600 |
мсек. После окончания |
каждого |
кванта времени |
выполнение программ из очередей № 2 |
||
и 3 может быть |
прервано, если за это время появились |
||
программы в очереди № 1. |
|
||
Выполнение |
в СРВ |
программ абонентов по |
частям |
с предоставлением каждой из них определенного коли чества квантов времени связано с заметным снижением производительности (эффективного быстродействия) цен трального процессора за счет непроизводительных пере дач информации между основной оперативной памятью и вторичной памятью, поскольку все активные програм мы, т. е. программы, требующие машинного времени, не могут быть размещены в ООП. Обмен информацией меж ду ООП и вторичной памятью производится всякий раз при переходе процессора от выполнения одной програм мы к другой. При прочих равных условиях потери вре мени, обусловленные этим обменом, возрастают с умень шением величины кванта, так как увеличивается число смен программ.
Один из возможных способов уменьшения числа не производительных передач информации между ООП и вторичной памятью (а следовательно, и уменьшения т 0 і ) состоит в том, что при квантовании приоритетного об служивания требований каждому уровню приоритета ставится в соответствие своя величина кванта времени, причем с увеличением номера уровня величина кванта возрастает. В процессе обслуживания требований осу ществляется перемещение их из одной очереди в другую.
132
Если выполнение некоторой программы при предостав лении ей очередного кванта не завершено, соответст вующее этой программе требование перемещается в ко нец очереди, принадлежащей следующему уровню при оритета с большим номером. Следовательно, требования с большим временем обслуживания получают большие значения квантов. Передвижение требования из одной очереди в другую, связанное с- увеличением суммарного времени ожидания обслуживания, происходит до опре деленного момента. Если время ожидания требования в очереди превышает некоторую величину Т, это требова ние перемещается в конец очереди, принадлежащей сле дующему уровню приоритета с меньшим номером. Оче видно, что такой способ сокращения числа непроизводи тельных передач информации неприменим в случае, ког да реализуется приоритетное обслуживание по принципу «чем важнее требование, тем выше его приоритет».
Можно добиться уменьшения значений величин т 0 і з а счет сокращения простоев процессора при обмене инфор мацией между ступенями памяти СРВ путем регули ровки величины кванта времени. При уменьшении числа требований величина кванта увеличивается, следова тельно, уменьшается количество непроизводительных пе редач информации и сокращается время на обслужива ние требований.
3-4. СТРУКТУРЫ СИСТЕМ С Р А З Д Е Л Е Н И Е М ВРЕМЕНИ
Структура СРВ определяется рядом факторов; наи более существенными из них являются число процессо ров (или машин) в системе, организация связи терми нальной аппаратуры (периферийных устройств) с основ ной оперативной памятью системы, организация связи между основными элементами СРВ, форма эксплуатации системы.
В многопроцессорных СРВ, в отличие от однопроцес сорных, имеются более широкие возможности по орга низации различных дублирующих связей и включению дополнительных элементов, обеспечивающих повышение надежности функционирования системы.
Как уже отмечалось (см. § 3-1), в зависимости от организации связи периферийных устройств с ООП мультиплексные и селекторные каналы СРВ бывают с прямым доступом к ООП и с косвенным доступом (че-
133
рез процессор). Мультиплексный канал с прямым до ступом к ООП, в сущности, представляет собой специа лизированный вычислитель, структура устройства управ ления канала с косвенным доступом гораздо проще.
Структура СРВ может быть тон или иной в зависи мости от организации симплексной или мультиплексной связи между терминалами и центральными процессора ми системы. Такие связи характерны для многопроцесcqpHbix СРВ с иерархической структурой.
Системы с разделением времени могут создаваться с таким расчетом, что при их использовании будет пре обладать какая-то одна форма или режим эксплуатации.
Преобладающими могут быть такие режимы эксплуа тации: режим пакетной обработки, режим «запрос — от вет», разговорный режим (диалог), универсальный ре жим.
. В СРВ с преобладающим режимом пакетной обра ботки некоторое число абонентов, обычно удаленных от машины и связанных с ней при помощи пульта, выпол ненного, например, в виде пишущей машинки, имеют не посредственный доступ к ЦВМ. Программы этих абонен тов имеют более высокий приоритет по сравнению с про граммами, выполняемыми в режиме пакетной обработки.
В режиме «запрос — ответ» система постоянно заня та пакетной обработкой задач. Некоторое число абонен тов через внешние пульты имеют прямой доступ к ЦВМ системы. Они могут посылать в кодированной форме за просы, каждому из которых соответствует своя, заранее составленная отвечающая программа. С получением за проса система настраивается на выполнение соответст вующей отвечающей программы и выдачу ответа або ненту. Набор допустимых запросов ограничен, поэтому такой режим применяется для решения таких задач, как
резервирование |
мест, выдача |
справок и т. д. |
|
|
В разговорном |
режиме |
число абонентов, |
имеющих |
|
прямой доступ |
к |
машине или центральному |
процессору |
системы, ограничен. В их распоряжение предоставляется один язык программирования. При работе в этом режиме программы абонентов постоянно хранятся в ООП. В раз
говорном режиме |
центральный процессор играет |
роль |
||
либо активного партнера (в случае |
программирован |
|||
ного |
обучения, реализации игровых |
моделей и |
т. д.), |
|
либо |
посредника |
во взаимодействии |
абонентов |
друг |
с другом.
134
Универсальный режим работы СРВ содержит в себе аспекты всех рассмотренных режимов. В СРВ, работаю щих в таком режиме, имеется разветвленная сеть внеш
них пультов. Абоненты |
имеют непосредственный |
доступ |
|||
к |
центральному |
процессору, |
пользуются набором |
своих |
|
и |
общих программ. При отсутствии запросов на |
обслу- |
|||
|
|
.1 |
|
|
|
|
ООП |
11] |
БЗУ |
ВЗУ |
|
|
|
1 |
|
|
|
Рис. 3-1. Однопроцессорная СРЕ
живание от абонентов система решает фоновые задачи (программы этих задач хранятся во вторичной .памяти) в режиме пакетной обработки.
Широкое распространение получили СРВ, позволяю щие реализовать именно универсальный режим работы, поэтому только такие системы рассматриваются в на стоящей книге.
На рис. 3-1 приведена типичная структура однопро цессорной СРВ. На рисунке приняты следующие обозна чения: ООП— основная оперативная память, БЗУ — бу-
135
ферное запоминающее устройство, ВЗУ— внешнее запо
минающее |
устройство, |
МК— мультиплексный канал, |
|
CK — селекторный канал, Т — терминалы, УУ — устрой |
|||
ство управления |
терминальной аппаратурой. |
||
Память системы разделяется на первичную ООП и |
|||
вторичную |
БЗУ |
и ВЗУ. |
Первичная память в настоящее |
время выполняется обычно на ферритовых сердечниках (реже на тонких магнитных пленках) и состоит, как правило, из нескольких идентичных по своему функцио нальному назначению блоков или модулей, причем мо дули могут иметь автономные схемы управления записью, считыванием и регенерацией информации. В первичной памяти хранятся программы операционной системы, про граммы абонентов, находящиеся в стадии выполнения, информация о распределении памяти, информация о со стоянии программ абонентов.
С помощью ООП осуществляется взаимная связь между компонентами аппаратурной и программной ча стей СРВ.
Для характеристики ООП используются следующие параметры: количество независимых модулей (блоков) памяти; основные технические параметры каждого мо дуля (емкость, разрядность ячеек памяти, время обра щения, надежность) ; способ присвоения физических ад ресов модулям ООП и словам; тип связи с процессором.
Вторичная память служит для хранения личных архи вов (программ) абонентов, трансляторов, стандартных подпрограмм. Она может состоять из нескольких ступе ней, в простейшем случае — из двух: внешней памяти на магнитных лентах, магнитных картах и буферной памяти на магнитных барабанах, магнитных дисках. Буферная память является связующим звеном между ООП и ВЗУ, в ней хранятся программы абонентов, ожидающие об служивания (поскольку емкости ООП недостаточно для размещения всех активных программ), а также часть программ операционной системы.
В качестве терминалов, кроме обычной пишущей ма шинки, могут использоваться: 1) для ввода информа ции'— телетайпы, буквенно-цифровая клавиатура, опти ческие читающие устройства, устройства ввода графиче
ской информации, |
устройства |
ввода |
с голоса |
и т. д.; |
2) для вывода — печатающие |
устройства, перфорацион |
|||
ные устройства, |
электроннолучевые |
трубки, |
графопо |
|
строители, устройства звукового вывода. |
|
136
Основные требования к терминальной аппаратуре: удобство и простота в эксплуатации, дешевизна, доста
точное быстродействие. С точки зрения |
абонента |
устрой |
||||
ства ввода-вывода должны быть идентичными |
(абонент |
|||||
пишет свои программы без ориентации |
на определенные |
|||||
типы этих устройств). |
|
|
|
|
||
Устройства управления терминалов выполняют сле |
||||||
дующие функции: выбор терминала |
из |
группы |
термина- |
|||
|
|
|
|
|
ооп |
|
|
Модуль 1 |
Модуль |
2 |
Модуль 3 |
|
|
|
|
|
|
|
._J |
|
|
Центральный |
Центральный |
|
|||
|
процессор |
процессор |
|
|
||
|
Коммутатор |
каналов |
|
|
||
* |
* |
- |
|
|
* |
|
|
|
|
|
|
||
мн |
- |
СИ |
CK |
|
мк |
|
|
|
|
|
|
Уі/ |
|
|
НМДЫ |
w |
Ні/\**\НМБ |
|
УУМНМД
УУУУ
Т И. |
id т |
Рис. 3-2. Многопроцессорная |
СРВ. |
137
Лов, связанных с данным УУ, согласование электриче ских сигналов, посылаемых от терминалов к ООП или к центральному процессору, кодирование и декодирова ние информации, формирование групп данных, обнару жение и коррекцию ошибок.
Выполнение программ абонентов осуществляется цен тральным процессором во взаимодействии с ООП.
ООП
"г
«г
ктй
Рис. 3-3. Иерархическая структура многопроцессорной СРВ с сим плексными связями.
В центральном процессоре должны быть предусмот рены: защита памяти; динамическое распределение па мяти; система прерываний; счетчик времени (часы) для отсчета квантов времени, предоставляемых программам абонентов, а также для учета машинного времени, рас ходуемого отдельными абонентами; возможность работы
врежиме абонента и в режиме системы.
Воднопроцессорной СРВ обычно имеется один муль типлексный канал и несколько селекторных. Подключе ние селекторных каналов к ООП (для каналов с прямым доступом) или к процессору (для каналов с косвенным доступом) производится с помощью коммутатора кана-
138
лов. Выбор типа коммутатора зависит от требуемой про пускной способности, числа одновременно осуществляе мых связей, числа коммутируемых устройств, требуемой надежности работы.
Один из возможных вариантов структуры многопро цессорной СРВ приведен на рис. 3-2. Здесь в качестве терминальной аппаратуры селекторных каналов исполь зуются накопители на магнитных барабанах НМБ и ди сках НМД.
I |
|
|
ООП |
1 |
|
|
|
1 |
|
|
Модуль 1 |
Модуль! |
Модуль 3 |
1 |
|
1 |
|||
|
|
|
|
|
|
|
|
|
_J1 |
- |
V |
|
7 - |
|
[7^1 |7л£] ! MKs\ \м
Рис. 3-4. Иерархическая структура многопроцессорной СРВ с муль типлексными связями.
|
Иерархические |
структуры |
СРВ |
изображены |
на |
||||
рис. 3-3 и 3-4, |
где обозначено: |
П\, |
Я 2 . . . — процессоры; |
||||||
МКи МКг... |
— мультиплексные |
каналы; Кі, Кг--- — |
|||||||
коммутаторы |
каналов; |
ЛТь КТ2... |
— коммутаторы |
тер |
|||||
миналов. СРВ |
с |
симплексными |
связями |
(рис. 3-3) |
ха |
||||
рактеризуется |
тем, что в ней связь |
между элементами |
|||||||
из |
различных |
уровней |
(например, |
между |
терминалами |
||||
Тц, |
Тц, ..., Т\Пі, |
с одной стороны, |
и МК\, |
с другой, |
или |
J 39