ЭВМ Канальные котроллеры

 

Р

Рис.3.2. Упрощенная схема ЭВМ, имеющей кросс-шину на 12 слотов.

Два из них занимает собственно ЭВМ. Остальные свободны.

Пропускная способность АЦКП существенно зависит от пропускной способности шины. В западных коммутаторах часто применяются специальные шины с высокой пропускной способностью (гигабайты в сек) иногда с топологией в виде кольца (ring - bus ) либо с дублированием надежности.

2.3. Формат пакета сетевого уровня (ДТГ)

Разработаем некоторый формат ДТГ. ДТГ является пакетом сетевого уровня и содержит заголовок, текст сообщения и концевик. В его заголовке обязательно должны содержаться адреса отправителя и полу­чателя, а также приоритетность передачи. Пакет (Рис.2.1.) представлен в байт-ориентированном формате в коде АSCII. В заголовке могут содержаться также и другие параметры (Рис.2.2.).

ДТГ завершается концевиком, содержащим контрольную сумму и служебное поле маршрутизации. Служебное поле формируется на входном АЦКП (то есть на том, который получает ДТГ от абонента) и содержит данные о получателях, упрощающие процедуру выбора маршрута доведения на последующих центрах сети. Длины полей указаны в байтах.

НЗ

Заголовок

НТ

Текст

КТ

КСМ

Поле маршрутизации

КП

Рис. 2.1. Формат пакета сетевого уровня (дейтаграммы)

где НЗ - начало заголовка; НТ - начало текста;
КТ - конец текста; КП - конец передачи;

КСМ - контрольная сумма сетевого уровня.

Следует отметить, что в протоколе предусматриваются специальные меры, чтобы обеспечить кодопрозрачную (кодонезависимую) передачу, т е в тексте допускается использовать служебные символы (НЗ, НТ и т д). Можно принять, что заголовок стандартного вида должен иметь следующие поля:

НЕ нашли? Не то? Что вы ищете?

ВС

ВП

КС

Общая длина ДТГ

РНС

№Д

КД

ГА

ЧЧ

ММ

СС

АОТП

АПЛЧ

Поля имеют следующее назначение:

1) 3 первых поля - тип сервиса:

- ВС - вид сообщения, например, транзитное сообщение, сообщение для оператора данного АЦКП, сообщение о корректировке сетевых таблиц и т д;

- КС - категория срочности сообщения;

- ВП - вариант передачи (маршрутизации), т е довести до одного получателя (избирательный ВП), до нескольких (многоадресный – например, указывается адрес получателя начальника, а ДТГ доводится также и его подчинённым) и т. д.;

2) общая длина ДТГ (в словах). Длина поля 16 бит. Максимально возможная длина = 65536 слов;

3) РНС - регистрационный номер сообщения (т е №, присвоенный ему при формировании у отправителя);

4) №Д - порядковый номер дейтаграммы в сообщении;

5) КД - количество дейтаграмм в сообщении;

6) ГА – групповое Адресование. Поле содержит признаки необходимости группового доведения (например, указанному получателю и его подчиненным);

7) ЧМС – часы, минуты, секунды. Время, когда было сформировано сообщение;

8) адрес отправителя – 4 байта;

9) адрес получателя – 4 байта.

Параметры РНС, НД и КД используются для сборки сообщения из дей­таграмм на оконечном коммутаторе или в пункте назначения - в ЭВМ абонента. Если абонент для надежности доведения подключен к двум коммутаторам, то дейтаграммы могут поступать к нему из любого нап­равления в произвольном порядке. При передаче ДТГ может разбиваться на ЛБ, в каждом из них будет контрольная сумма блока.

6. Структура канального контроллера (КК). Принципы функционирования. Работа в реальном времени

3.2. Структура канального контроллера

КК реализуется в виде платы, на которой размещаются (см рис.3.3.):

1) Микропроцессор с ПО, реализующим протокол канального уровня и управляющим работой всего контроллера (например, Intel 486 или 186). (Часто у нас и в западных фирмах используются микросхемы процессоров, которые ранее применялись в самих PC. Они дешевые, а их ресурсы достаточны для КК).

2) оперативная память для приема и передачи пакетов, а также для хранения программ и системных таблиц, загруженных из ЦП;

3) полупеременная или постоянная память для хранения базовых программ начальной загрузки, инициализации и системы ввода – вывода

4) микросхемы канальных адаптеров, реализующих собственно операции
с каналами передачи данных (например, Intel 82530 или Zilog).

5) микросхемы, реализующие прямой доступ к памяти ЦП (ПДП).

6) микросхема сопряжения с шиной самой ЭВМ.

7) собственная шина, которая объединяет все вышеназванные микросхемы;

8) программируемая логическая интегральная схема (ПЛИС ) - обеспечивает связь с шиной платы и ряд других функций управления.

Рис.3 Схема платы 4-х канального контроллера с использованием ПДП

Микропроцессор платы может быть объединен с канальными адаптерами. Например AMD-186 фирмы AMD 50мгц имеет 4 выхода в синхронные каналы с поддержкой HDLC, 2 выхода в асинхронные каналы (VART), 1 выход в ISDN и 2 выхода в полудуплексный канал. Еще больше специализированы для сетевого применения микропроцессоры Motorola.

Контроллер может обслуживать до 4 каналов передачи данных или до 8 каналов в зависимости от организации физического уровня обмена с КСВ со скоростью до 64 кбит/сек. Это не просто интеллектуальная плата, а довольно мощная вычислительная машина.

Следовательно АЦКП представляет собой многомашинный комплекс, состоящий из одной центральной машины коммутации пакетов (или двух, с учётом её резервирования) и нескольких канальных контроллеров, объединенных общей шиной, но память каждого контроллера доступна центральной ЭВМ. Канальные контроллеры выполняют первую группу задач коммутации (канальный уровень), а центральная ЭВМ выполняет 2-ую группу задач коммутации.(линейный и сетевой уровень).

Контроллеры сопрягаются с каналами передачи данных посредством стандартных модемов. Мы рассматриваем здесь только аналоговые дуплексные каналы тональной частоты (т. ч. - каналы). Каждый модем дуплексного канала состоит из приемника и передатчика. Для центральной ЭВМ коммутации пакетов эти приемники и передатчики можно соответственно пронумеровать последовательными номерами внешних устройств (ВУ).

I-ый

дуплекс

биты

1-ый

дуплекс

блоки

Рис. 4. Упрощенная структура АЦКП.

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

Предлагаемая структура представляется весьма выигрышной, поскольку КК выполняет с большой скоростью операции по обслуживанию каналов связи и сборки-разборки пакетoв и освобождает центральную ЭВМ от жесткой синхронизации с моментами готовности каналов связи. КК работает в среде каналов связи вне зависимости от того, куда они ведут и как распределены по направлениям связи. В дальнейшем выяснится, что при передаче каждого пакета (ЛБ) по каналу целесообразным оказывается его дальнейшее разбиение на ФБ, которые защищаются циклическими кодами от искажений в процессе передачи. При этом необходимая избыточность вносится КК-передатчиком и снимается КК-приемником. Длина ФБ зависит от надежности канала. Чем ненадежнее канал, тем короче должен быть ФБ.

ЭВМ коммутации (центральный процессор) работает в среде направлений связи. Каналы связи имеют для нее значение лишь постольку, поскольку ими определяется суммарная пропускная спо­собность направления связи. ЭВМ коммутации, свободная от "черновой" работы с каналами может с нужным темпом выполнять универсальные алгоритмы маршрутизации и управления потоками. Ей необходимо выполнять только сетевые неравенства - ВВХ.

3.3. Канальный контроллер. Принципы функционирования

 

БИТЫ

 

ЧТ и ЗП - указатели чтения и записи для кольцевого буфера.

Рис.4.Схема передачи данных в контроллере (для i-го канала)

На рисунке ПД обозначает адаптер, принимающий биты данных от передатчика, ПМ – адаптер, выдающий ДН в приемник. Функционирование КК существенно определяется микросхемой канального адаптера. Под её управлением производится приём бит поступающего физического блока из модема в массив приёма или выдача их из массива выдачи. После приёма ФБ из «п» байтов для данного дуплексного канала, он проверяется на отсутствие ошибок, и если принят правильно, то отправителю выдаётся КВ по протоколу физического уровня. Отметим, что принятый ФБ м б меньше заданного размера, но микросхема может реагировать на специальные символы разделители типа – конец блока. Далее ФБ передаётся в кольцевой буфер, где накапливается линейный блок. Так как канал работает непрерывно, то в это время следующий ФБ накапливается во втором массиве и т. д. Такая 2-хтактная схема обеспечивает непрерывное обслуживание синхронных каналов.

Из кольцевого буфера ЛБ передаются в ОП ЭВМ. В кольцевом буфере формируются указатели, обозначающие адрес, где накапливается очередной ЛБ (на рисунке указатель обозначен как ЗП) и адрес, откуда можно читать накопленный ЛБ (ЧТ). Эти указатели доступны для чтения центральной ЭВМ. Для чтения ЦП должен выполнить специальную команду чтения, указав в ней значение указателя. ОКНО??

При выдаче ЛБ из ЭВМ аналогичные процессы выполняются в обратном направлении.

3.4. Работа в реальном времени.

3.4.1. Рассмотрим работу в режиме приема. Пусть массив М1 запол­нен, за время заполнения массива М2 нужно успеть освободить мас­сив М1, иначе будет расфазировка канала, ведь синхронный канал не может простаивать! На самом деле, за время заполнения массива М2, микропроцессор контроллера должен успеть обслужить все каналы, т. е. принять ФБ и выдать ФБ во всex
4-х или 8 каналах, а также выполнить обязатель­ную работу по обмену ЛБ с центральной ЭВМ. Анало­гично за время заполнения массива M1 должны быть обслужены мас­сивы М2 всех каналов. Критическое время обслуживания конечно оп­ределяется скоростью работы канала (пропускной способностью) и величиной массива М1 (М2), то есть величиной ФБ.

Возможны две различные организации вычислительного процесса:

1) Режим, использующий прерывания;

В этом случае при заполнении любого буферного массива приема (или при освобождении любого буферного массива выдачи) микропро­цессор контроллера получает прерывание от канального адаптера или устройства ПДП (прямой доступ к памяти (или DMA – direct memory access)) и переходит к обслуживанию данного массива. Тем самым обеспечивается синхронизация рабо­ты микропроцессора с операциями ввода-вывода данных и процессами передачи бит по каналам. Но обработка прерываний требует времени!

Оценим требуемое время обслуживания каналов и интенсивность трафика прерываний. Пусть каналы имеют скорость передачи 19200 бит/сек. Время накопления (выдачи) одного байта равно Тб = 8/19200 = приближённо 8/20000 = 0,4 млсек. Пусть величина ФБ равна 16 байт. Тогда, если не используется ПДП, то время накопления (выдачи) ФБ Тф = 0,4 * 16 = 6,4 млсек.

Каждую секунду будет приниматься из канала (и выдаваться в канал)
λ = 1/6,4 млсек = 160 ФБ. Выдача и приём каждого ФБ сопровождается 2 прерываниями. В результате получаем интенсивность прерываний, посылаемых от канального адаптера в процессор КК, по 1 каналу порядка 320 прер/сек. Если КК обслуживает 4 канала, то всего процессор контроллера будет получать 1280 прер/сек.

Если же применяется схема ПДП, то она может собирать линейный блок (128 байт) и только затем формировать прерывание (ПДП может это делать, так как это не только память, но и логическая обработка, которая может собирать блоки из заданного ей количества байт). Время сборки Тлб = 128/16(это количество ФБ в линейном блоке)*Тф = 8* Тф = 51 млсек. Поток прерываний уменьшится в 8 раз. Использование ПДП резко снижает зависимость микропроцессора контроллера от реального времен;

2) Режим опроса.

В этом случае микропроцессор циклически опрашивает все буфер­ные накопители и обслуживает те из них, которые заполнены при приеме или освобождены при выдаче. Если массив еще не требует обслуживания, то обращение к нему - операции, потраченные напрасно. Если обращение к массиву запоздало (он давно ждёт обслуживания), то КСВ выйдет из синхронизации. Хорошим решением является комбинация режимов прерывания и опроса, когда при прерывании от одного из КСВ опрашиваются все остальные каналы КК и если в них есть состояния ожидания прерываний, то они обслуживаются. Таким образом удаётся сократить затраты времени на обработку прерываний.

7. Канальный контроллер. Защита передаваемой информации. Циклические коды.

3.6. КК. Защита передаваемой информации от искажений в КСВ. Циклические коды.

3.6.1. При передаче данных по КСВ обычно бывает велика вероятность их искажения (во всяком случае эта вероятность значительно больше, чем вероятность искажения в ЭВМ. Возникает вопрос, как защитить, например, передаваемый ЛБ. Известно, что для обнаружения возможных искажений необходимо использовать средства контроля принятых ДН, а для уменьшения вероятности искажений – ввести избыточность в передаваемые ДН. Контролировать и защищать необходимо все поля передаваемого блока, однако, для упрощения рассмотрим только поле информации.

Длина поля информации м б любой и изменяться в зависимости от качества КСВ. Примем, что длина = длине ЛБ = 128 байт. Рассмотрим несколько вариантов:

1) можно для повышения защищённости каждый байт снабдить битом дополнения байта до нечетности (сумма 8 бит + бита дополнения д б нечётной). Тогда длина контрольного кода будет 128 бит или 16 байт, т е довольно большая. Однако при этом обнаруживаются только искажения нечётного количества бит, т е это – слабая защита;

2) иногда дополнительно суммируют все первые биты всех байтов, все вторые биты …. и т. д. до суммы всех восьмых битов. Контрольный код увеличится на 8 бит и составит 17 байтов. Длина кода большая, а защита слабая;

3) поэтому широкое применение нашёл метод защиты, при котором используется корректирующий циклический код – К (х), порождённый заранее определённым числом - производящим полиномом.

3.6.2. Принципы (основная идея) организации защиты циклическим кодом состоят в следующем:

1) пусть передаваемый кадр будет «делимое», т е передаваемые ДН рассматриваются в виде одного многоразрядного двоичного числа;

2) выберем другое число в двоичном коде, и пусть это будет «делитель». Обычно в качестве делителя выбирается 17- или 33-хразрядное число, чтобы остаток от деления имел длину 16 разрядов (2 байта) или 32 разряда (4 байта). Например, в протоколе HDLC в качестве делителя выбрано число из 17 разрядов ;

3) при подготовке кадра к выдаче над кадром производится некоторое преобразование, условно он «делится» на делитель, и определяются частное и остаток. в качестве контрольной информации рассматривается остаток. Вычисление контрольного кода (CRC) производится аппаратурой канального адаптера с использованием сдвиговых регистров и схем двоичной арифметики по модулю 2 (исключающее ИЛИ). Делитель одинаковый во всех элементах сети. Остаток должен быть хотя бы на 1 разряд короче делителя, т е для указанного делителя остаток будет состоять не более, чем из 16 разрядов (2 байта);

4) полученный делитель (контрольный код) приформировывается к кадру и выдаётся;

5) на приёмной стороне полученный блок данных делится на тот же делитель и если деление происходит нацело, то кадр принят правильно.

Данный метод обладает высокой вычислительной сложностью, но его диагностические высоки. Он обнаруживает ВСЕ ошибки в кадре, если длина пачки сбойных бит короче 17 бит! Обнаруживаются все комбинации сбоев отдельных бит в кадре! Незамеченной пройдёт только ошибка в кадре, в точности равная или кратная делителю.

3.6.3. В учебниках этот метод, как правило, рассматривается по другому (суть та же). Подход такой - метод связан с тем, что передаваемым в двоичном коде данным можно поставить в соответствие некоторый полином относительно формальной переменной – х. Удобно рассматривать биты передаваемых данных: последовательность 0 и 1, как коэффициенты полинома относительно формальной переменной – х. Так, например, сообщение 110101 можно представить полиномом В(х)=1х5+1х4+0х3+1х2+0х1+1х0 = х5+х4+х2+1. Затем к этим полиномам можно применять действия на основе арифметики по модулю 2. В частности их можно умножать и делить, складывать и вычитать.

Если рассматривать информационную часть кадра как некий полином М(х), то N(х) – информацию вместе с контрольным кодом (п разрядов) можно представить себе как сумму полинома М(х), сдвинутого на «п» разрядов влево с добавлением контрольного кода К(х).

N(х) = х(п)* М(х) + К(х)

Основная идея состоит в том, чтобы подобрать такое значение К(х), при котором вся передаваемая информация N(х) делится на стандартный порождающий полином G(x) нацело – без остатка!

Делитель G(x) выбирают заранее. Например, в протоколах МККТТ G(x) = х16+х12+х5+1. В качестве делителя G(x) выбрано 17 разрядное число, чтобы остаток от деления на него К(х) был 16-разрядным, т е занимал 2 байта. Неясно, почему выбраны 1 именно в этих разрядах, возможно, это как то связано со статистическим анализом ошибок в КСВ.

В СОД, которую мы используем в качестве прототипа, полином, например, 21-разрядный, т е остаток будет = 20 разрядам.

Наше правило формирования контрольного кода на передающей стороне можно представить как х(п)* М(х)/ G(x) = Рпер(х)+Rпер(х)/ G(x)

где Рпер(х) и Rпер(х) – частное и остаток от деления сдвинутого полинома х(п)*М(х) на производящий полином G(x). Принятое наименование «деление» является в данном случае условным. Реально процедура получения контрольного кода состоит в ряде последовательно выполняемых операций суммирования по модулю 2, выполняемых над полином М(х) и производящий полином G(x). При этом полином G(x) после каждого суммирования сдвигается таким образом, что в результате получается остаток длиною на 1 меньше, чем G(x). Этот остаток и прибавляется к М(х) для получения передаваемого кода N(х) (кадра). Наше правило проверки достоверности на стороне приёма запишем в виде

N(х)/ G(x) = (х(п)* М(х) + К(х))/ G(x)

После приёма кадра для него выполняется та же процедура получения К(х). Вычисленный код складывается по модулю 2 с кодом из состава кадра. В случае их совпадения должен быть получен 0. Отличие значения суммы от 0 означает, что кадр принят с ошибкой. В результате будут инициированы процедуры повторной передачи кадра. Отметим, что контрольный код занимает всего 2 байта, а вероятность обнаружения ошибок весьма высока.

8. Организация информационного обмена между КК и центральной ЭВМ

3.7. Организация информационного обмена между КК и центральной ЭВМ

3.7.1. Взаимодействие КК и ЦП в процессе приёма данных в режиме прерываний выполняется следующим образом:

1) в кольцевом буфере КК подготовлен ЛБ (или несколько блоков) для пересылки в ЦП;

2) КК посылает прерывание в ЦП;

3) программа диспетчера в ЦП прерывает работу некоторой задачи, обрабатывает прерывание, анализирует его причины и запускает задачу ПРИЁМ (физически в ОП центральной ЭВМ расположена программа, но, когда программа начинает выполняться центральным процессором, то её правильнее рассматривать как задачу, так как по определению «Задача (ЗДЧ) – это единица работы ЦП с позиции управления распределением времени ЦП, выполняемого специальной управляющей ПГ»);

4) ЗДЧ ПРИЁМ, используя средства управляющих программ, запрашивает в ОП место для приёма ЛБ;

5) далее ПРИЁМ, используя средства доступа к ОЗУ КК, через окно доступа считывает указатели кольцевого буфера, содержащие адрес начала ЛБ и его размер (или данные для нескольких ЛБ) и запускает драйвер обмена для физической переписи блока;

6) драйвер переписывает блок в ОП ЭВМ, корректирует указатели в кольцевом буфере и, через программу диспетчера возвращает управление ПРИЁМу для продолжения обработки ЛБ (проверка Ц№ и т. д.);

7) по окончании работы ПРИЁМа будет запущена прерванная ЗДЧ для продолжения работы.

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

3.7.2. Выдача БЛ выполняется в обратном порядке. ЗДЧ ВЫДАЧА (ВДЧ) после подготовки блока для выдачи в канал считывает через окно доступа из ОЗУ КК указатели записи и определяет, есть ли в кольцевом буфере место для записи. Если нет, то ВДЧ ставит его в очередь к данному НС. Если есть, то запускается драйвер обмена с указанием адреса записи в кольцевом буфере, и, при необходимости, длины ЛБ.

Драйвер обмена переписывает ЛБ в кольцевой буфер и анализирует наличие ОЧ на выдачу к данному каналу. Если ОЧ есть, то драйвер может продолжать перепись ЛБ, пока не закончится ОЧ или пока не заполнится буфер. По окончании или если не было ОЧ, управление возвращается задаче ВДЧ.

После записи хотя бы одного ЛБ в КК из ЦП выдаётся команда о необходимости вывода. Программа КК выполняет вывод БЛ (блоков) в канал и посылает об этом прерывание в ЦП. Диспетчер, получив прерывание, запускает ВДЧ, которая анализирует, появились ли блоки для выдачи. Если да, то процесс повторяется, если нет, то работа ВДЧ завершается до тех пор, пока ВДЧ не будет запущена по инициативе ЗДЧ ВЫБОР МАРШРУТА.

3.7.3. Таким образом, коммутация каждого ЛБ требует обработки двух прерываний в ЦП (по вводу и по выводу ЛБ). ЦП при этом приостанавливает выполнение текущей ЗДЧ и сам осуществляет перепись блока из памяти КК в свою память или в обратном направлении.

Возможны другие варианты организации обмена. Например, перепись может выполнять микропроцессор КК. При этом в процессе обмена ЦП может продолжать выполнение некоторой ЗДЧ. Но тогда в процессе считывания блока ЦП получает 2 прерывания: 1) в буфере есть ЛБ и 2) перепись ЛБ в ОП ЦП завершена.

Будем для определённости рассматривать 1-ый, рассмотренный выше вариант. Отметим в заключение очень важный вывод:

АЦКП ЕСТЬ СИСТЕМА, УПРАВЛЯЕМАЯ ПРЕРЫВАНИЯМИ!

9. Программное обеспечение канального контроллера. Проектирование структуры программного обеспечения АЦКП.

3.5. Программное обеспечение канального контроллера.

ПО КК состоит из следующих подсистем:

 

3.5.1. Операционная среда.

На плате нет возможности установить универсальную операци­онную систему: Windows или Unix. Прежде всего, это объяс­няется отсутствием на плате адаптера управления жестким диском. Диск недоступен, а стало быть, недоступны и традиционные ОС, без­относительно к тому хорошие они или плохие. Если же использовать адаптер жесткого диска центральной ЭВМ по принципу клиент-сервер, то не хватит пропускной способности шины.

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

Операционная среда, то есть комплекс управляющих программ КК имеет следующий состав:

1) ПГ начальной загрузки и инициализации;

2) мультизадачный диспетчер;

3) программа управления памятью;

4) драйвер канального адаптера;

5) драйвер обмена с ЦП (выполняется в центральной ЭВМ).

 

Рис.6. Структура комплекса управляющих программ КК

3.5.2. Подсистема коммутации состоит из ряда задач, реализующих обработку ДН по протоколу линейного уровня, а именно:

1) программный модуль протокола канального уровня;

2) управление трафиком, защита от перегрузки;

3) управление модемами;

4) управление канальным адаптером и ПДП;

5) сборка-разборка ЛБ ( кадров);

6) квитирование кадров, устранение сбоев;

7) приём и выдача данных:

- по синхронным каналам – аналоговым и цифровым;

- по старт-стопным каналам.

3.5.3. Подсистема административного управления и безопасности

В каждом АЦКП имеется программа-администратор, взаимодействующая с ПУ сети. Эта программа имеет подчинённые программы-администраторы на каждом протокольном уровне и, следовательно, на платах КК, реализующих линейный уровень. Указанная подсистема выполняет следующие задачи:

1) администратор канального уровня;

2) программа контроля целостности ПО.

3.5.4. Подсистема контроля и диагностики

В эту подсистему входит набор диагностических тестов и программа функционального контроля, которая запускает эти тесты в интервалах времени, когда микропроцессор КК свободен от основной работы по передаче ДН. Обычно эти тесты подключаются диспетчером на самом низком приоритете. В ряде случаев диагностические блоки включаются в функциональные задачи коммутации. Так, например, в случае отказа КСВ автоматически выполняется его тестирование, причем для проверки автоматически устанавливается шлейф на выходе канала. Шлейф сначала устанавливается на выходе КК, затем на выходе соответствующего модема, и далее м б установлен даже на уровне модема сопряжённого ЭС.

4. ПРОЕКТИРОВАНИЕ СТРУКТУРЫ ПО ЦЭВМ

4.1. Структура ПО КК была рассмотрена ранее. Рассмотрим теперь структуру ПО центральной ЭВМ. Функции этого ПО определяются следующими системными требованиями:

1) автоматически выполнять коммутацию ДТГ (а в ряде случаев и сообщений) в соответствии с сетевыми протоколами и заданными ВВХ;

2) хранить данные о структуре сети, адреса её элементов, привязки и параметры абонентов и корректировать эту базу данных при изменении структуры сети, добавлении абонентов, изменении адресов и т. п.;

3) обеспечивать административное управление в сети, передавать донесения на пункт управления (ПУ) и выполнять команды от ПУ;

4) выполнять требования по информационной безопасности и защите от несанкционированного доступа;

5) обеспечивать контроль аппаратных средств АЦКП, целостности ПО и повышение надёжности за счёт использования как аппаратных, так и программных средств».

Соответственно этим требованиям укрупнённая структура ПО м б построена, как набор соответствующих подсистем. Надо, конечно, ещё добавить подсистему управления вычислительным процессом.

В дальнейшем будем проектировать первые 3 подсистемы. Далее сформулируем требования к этим отдельным подсистемам и продолжим процесс структурного разбиения.

4.2. Так, например, подсистема коммутации должна обеспечить:

1) выполнение протокола 2-го (линейного, направления связи) уровня;

П р и м е ч а н и е. Часть функций данного протокола выполняется в КК;

2) выполнение протокола 3-го (сетевого) уровня;

3) необходимую регистрацию обработанных ДН;

4) организацию резервирования ДТГ в ЭВМР для исключения потерь ДТГ в случае отказа ЭВМО.

Двигаясь дальше «сверху-вниз» определим ориентировочную структуру модулей 2-го и 3-го уровней. К каждой новой компоненте предъявляются требования, которые, в сущности предопределяют её разбиение на более простые функциональные элементы.

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

4.3. Протокольный модуль 2-го уровня выполняет следующие функции:

1) реализует соглашение о циклических № ЛБ, организует фазирование НС. В процессе фазирования каждый АЦКП сообщает соединённым с ним элементам сети те Ц№ линейных блоков, с которых он будет начинать обмен в каждом НС и, соответственно, принимает начальные Ц№ от смежных НС;

2) принимает ЛБ, собирает ДТГ и контролирует некоторые её параметры;

3) формирует квитанции за принятые ЛБ. Квитанция содержит последний Ц№ из упорядоченной последовательности номеров ЛБ и категорию срочности для данной цепочки ЛБ;

4) организует выдачу ЛБ в НС;

5) организует проверку отказавших КСВ, выдавая специальные тестовые посылки. Инициирует программы реакции на отказы и восстановления КСВ, выполняющие регистрацию данных об этих событиях, выдачу сообщений операторам рабочих мест АЦКП и рабочих мест пункта управления СОД и т. д.

4.4. Протокольный модуль 3-го уровня выполняет следующие функции:

1) контроль корректности заголовка принятой ДТГ и отсутствия в нём параметров, свидетельствующих о попытках несанкционированного доступа;

2) обнаружение ДТГ, принятых повторно, и их ликвидация;

3) приём, обработка, формирование и выдача сетевой информации (СИ). СИ содержит данные о событиях в сети: отказы и восстановления КСВ и НС, изменения загрузки ЦЭВМ и длин очередей на выдачу в НС;

4) расчёт ведомости рассылки, используемой при выборе маршрута передачи ДТГ;

5) выбор маршрута передачи ДТГ;

6) принятие мер при возникновении перегрузок АЦКП, возникающих при чрезмерном увеличении входного трафика.

4.5. Некоторые сведения о структурном программировании

??? м б уже читали административное управление?

Из раздела 5 исплз. п. п. 5.1 и 5.2.

10. Назначение и основные функции комплекса управляющих программ. Общий алгоритм коммутации дейтаграмм средствами программного обеспечения в центральной ЭВМ

5. КОМПЛЕКС УПРАВЛЯЮЩИХ ПРОГРАММ

5.4. Состав комплекса УП

КУП может иметь примерно следующий состав программ, выполняющих функции:

1) инициализация жёсткого магнитного диска, инсталляция ПО и начальная загрузка ПО. Инициализация состоит в том, что в ЦЭВМ производится запись на диск программ предзагрузчика и загрузчика, обеспечивающие загрузку ПО при включении электропитания ЦЭВМ или при нажатии кнопки RESET. Инсталляция в основном заключается в переписи исполняемых программных модулей (обычно эти модули называются «имя. exe) с исходных носителей (например, на гибких магнитных дисках) на жёсткий диск. Дополнительно могут корректироваться дата и время, задаваться имя (№) ЭВМ.

Процесс загрузки в общих чертах может выглядеть следующим образом (на примере ОС WxVorks). После аппаратного (программного) сброса системы или включения питания управление передается на программу BIOS, которая считывает загрузочный сектор жесткого диска по фиксированному адресу памяти и передает туда управление. На резидентном? носителе в ИЛИ В считанном boot-секторе находится предзагрузчик, который, получив управление, ищет на диске файл с именем bootrom. sys, а, найдя, загружает и запускает его. Эта программа, основываясь на параметрах из строки загрузки по умолчанию (в предзаг-е?) (DEFAULT_BOOT_LINE), где в качестве устройства загрузки указано имя диска, а в поле имени загружаемого файла указано имя файла ПО, загружает этот файл по правилам операционной системы реального времени и передает управление в точку входа в ПО на предмет запуска управляющих программ;

2) диспетчер прерываний;

3) диспетчер задач;

4) диспетчер ввода-вывода, драйверы;

5) файловая система;

6) диспетчер ОП;

7) супервизор времени, таймеры;

8) динамическая загрузка, редактор связи;

9) управление режимами работы ВК;

10) контроль и восстановление;

11) организация резервирования;

12) системный журнал;

13) диалог с оператором.

……Вместе с диспетчером ввода-вывода они образуют подсистему ввода-вывода (Пояснить драйверы и ДВВ)

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4