УКНЦ Micronet

Материал из Emuverse
Данный материал защищён авторскими правами!

Использование материала заявлено как добросовестное, исключительно для образовательных некоммерческих целей.



 Московский ордена Трудового Красного Знамени

  Институт электронной техники









 Отраслевая научно-исследовательская лаборатория

			"ЭЛЕКТРОНИКА"















 Кольцевая  локальная  вычислительная  сеть  (КЛВС)

  для  ПЭВМ  ряда  "Электроника"





















    Москва  -  1988
�
 ОНИЛ "Электроника" Московского  Института  электронной  техники
предлагает вам кольцевую локальноую вычислительноую  сеть  с  маркерным
доступом "Micronet".  Сеть  предназначена  для  учебных  вычислительных
комплексов на базе УКНЦ с использованием  в  качестве  головной  машины
ДВК-3М2.    Программное    обеспечение    сети     позволяет        вам
обмениваться кадрами данных между  станциями  или,  при  использованиии
системы доступа к удаленным фаилам разделять  разделять  ресурсы  между
станциями подключенными к сети. Вы можете также использовать подсистему
удаленной загрузки операционной системы в бездисковой рабочей  станции, 
кроме того обеспечивается  автономная  работа  программ  написанных  на
языках FORTRAN-4 и PASCAL без операционной системы.

 Основные параметры сети:

Топология                              кольцевая
Метод доступа                          с передачей маркера
Число станций в сети                до 63
Физическая среда передачи              витая пара
Расстояние между станциями          до 50 м
Скорость передачи данных               57000 бит/с
Оборудование                           контроллер СА-1,СА-2 
ПЭВМ            ДВК,МС0511
Операционная система                   RT-11





 Для  получения  более  подробной    информации    просим    Вас
обращаться по адресу:
 103498 Москва, МИЭТ ОНИЛ "Электроника".

 Телефоны 532-98-40, 532-99-69

Начальник лаборатории доцент,к.т.н Волков Ю. И.
Начальник сектора математического обеспечения инженер Панкратов А. В.

  Краткое описание ПО ЛВС "Micronet".
  -------------------------------

  1. Введение

 ПО ЛВС "Micronet" рассчитано на  работу  с  сетевым  адаптером,
выполняющим  достаточно   мало    функций.    (прием-передачу    байта,
управление  коммутационным  реле).  Такое  построение  ЛВС    позволило
значительно упростить СА.
 Недостающие  фунции  СА  выполняет    специальная    программа,
которая  постоянно  находится  в  памяти  микро-ЭВМ.   Эта    программа
оформлена  в  виде  драйвера  MC.SYS  (MC  сокращение  от  "MaC  level"
семиуровневой модели открытых систем). Эта программа  организует  прием
и передачу пакетов (групп) данных между  узлами  ЛВС,  для  обеспечения
возможности работы в сети машин двух типов  (УКНЦ  и  ДВК),  оснащенных
различными адаптерами используется  два  варианта  драйвера  канального
протокола MC.SYS для работы в ДВК и MC.LDA для работы  в  УКНЦ,  причем
сетевой драйвер загружается в УКНЦ из головной машины.
 Для доступа из ЛВС к  ресурсам  центральной  ЭВМ  предназначена
программа FTSUK.SAV,  оформленная  в  виде  пользовательской  программы
ОС RT11. Из  сети  в  программу  FTSUK.SAV  могут  поступать  три  типа
запросов:  запрос  начальной  загрузки,  запрос  на  загрузку  файла  в
абсолютном двоичном формате и запрос доступа к дискам.
 Драйвер удаленного доступа VК.SYS позволяет загружать  ОС  RT11
в  удаленные  микро-ЭВМ  через  ЛВС.  Возможна  одновременная    работа
нескольких (до 60) пользователей.
�
 Загрузчик файлов  в  абсолютном  двоичном  формате  (BOTUK.SAV)
- это служебная программа загружаемая в периферийные машины по  запросу
начальной загрузки.
 Загрузчик  ОС  RT-11  (RTBOOT.SAV)  предназначен  для  загрузки
операционной системы в периферийные машины.

		2. Проверка работоспособности ЛВС.

 Для проверки работоспособности ЛВС  рекомендуется  пользоваться
встроенным тестом локальной сети. Для его вызова  необходимо  перевести
УКНЦ в режим отладки и нажать клавишу "Т". Это  необходимо  сделать  на
всех станциях, подключенных к сети. Затем переводят одну из машин УКНЦ,
для чего нажимают одновременно клавиши "СУ" и "С" и  в  ответ  на  знак
вопроса нажимают  клавишу  "А",  после  чего  любая  последовательность
символов, набираемая на клавиатуре активной машины отображается на всех
подлюченных к  сети  машинах  включая  центральную.  Кроме  того  можно
пользоваться тестовой программой М2 (если периферийные машины  оснащены
дисками).    Для    чего    необходимо    загрузить        операционную
систему, загрузить драйвер канального протокола МС.SYS командой LOAD MC
и  запустить  программу  тестирования  командой   R    M2.    Программа
тестирования имеет ряд команд для управления режимом ее работы, команды
выполняются при нажатии на соответствующие клавиши терминала:
W - разрешить передачу кадра
R - разрешить прием кадра
V - запретить передачу
P - запретить прием
Е - завершить работу
Нормальная работа теста обеспечивается при работе в сети не менее  двух
станции с программой тестирования. При разрешенных  приеме  и  передаче
признаком  нормального  функционирования  сети  является  появление  на
терминале ЭВМ картины состоящей из точек и  тире  ...-...-...-,  причем
данная картина должна быть регулярной и период повторения  должен  быть
равен числу проверяемых станций.

  3. Сетевой адрес

 Каждая  стнция  ЛВС  имеет  свой   адрес,    выставляемый    на
переключателях СА или задаваемый программно командой "SET MC  ADDR=XX",
где XX адрес в  восьмеричном  представлении.  Адрес,  установленный  на
переключателях СА, печатается в момент входа в тестовый режим(см. выше).
Если командой "SET MC .." установлен адрес 00, то реальный адрес  будет
взят с переключателей СА. Если адрес, заданный командой  "SET  MC  ..."
не равен 00, то он и будет реальным адресом, а состояние переключателей
будет игнорироваться. При этом следует учитывать что установка "SET MC ..."
производится на диске, а не в оперативной памяти. Поэтому после установки
нового адреса надо выгрузить (UNLOAD MC) и снова  загрузить  (LOAD  MC)
драйвер MC.SYS.  Для  нормальной  работы  MC.SYS  требуется  чтобы  ВСЕ
машины имели бы разные адреса.

  4. Драйвер удаленного доступа VК.SYS.

Драйвер VК.SYS осуществляет доступ к  дискам  центральной  машины  (или
любой другой, на которой запущена программа FTSUK.SAV). Драйвер  VК.SYS
передает запрос программе  MC.SYS,  оторая  связывается  через  сетевой
адаптер и линии связи с MC.SYS центральной  машины  и  через  программу
FTSUK.SAV - с диском этой машины.
 Естественно, что  в  VК.SYS  должна  содержаться  информация  о
том, на какой из машин запущена программа FTSUK.SAV. Адрес соответствующей
станции сети задается командой "SET VК HOST=XX", где XX - восьмеричный м
адрес.  Этот  адрес  должен  совпадать  с  адресом,  установленным   на
переключателях СА центральной машины.  Если  такого  соответствия  нет,
необходимо использовать команду "SET MC ..." на центральной машине. 
Неправильная установка HOST-параметра драйвера VК.SYS приводит 
зависанию на этапе загрузки.
�
  5. Процесс загрузки файла в абсолютном двоичном формате.

 Для  загрузки  файла  XXXXXX.SAV  на  системном  диске   должны
содержаться программы: FTSUK.SAV, MC.SYS, MC.LDA, BOTUK.SAV.
 Необходимо произвести следующие действия. 
1. Установить нулевой адрес. (Допускается  устанавливать  любой  другой
адрес,  но  только  не  совпадающий  с  адресом  периферийной  машины.)
(SET MC ADDR=00)
 2. Загрузить драйвер MC.SYS (LOAD MC)
 3.  Установить  системное  устройство   устройством    по    умолчанию
(ASS SY: SYS:).
 4. Запустить программу FTSUK.SAV и в  ответ  на  запрос  имени  файла
(SAV FILE NAME>) набрать  имя  XXXXXX.  Расширение  .SAV  указывать  не
обязательно т.к. оно берется "по  умолчанию".  Файл  должен  находиться
на устроустве с логическим именем SYS: (в данном случае оно совпадает 
с системным устройством).
 5. На периферийной машине установить режим загрузки из сети.
 При этом начальный загрузчик периферийной  машины  будет 
переписан в ОЗУ и запущен. Он выдаст запрос начальной загрузки, который
воспримет программа FTSUK.SAV на центральной машине.  При  этом  в  ОЗУ
центральной машины считываются BOTUK.SAV и MC.LDA,  которые  передаются
в периферийную машину и размещается с  адреса  50000:  сначала  BOTUK,
затем MC. Управление получает программа BOTDVK. Она перемещает себя и MC
в адреса 150000 и настраивает вектор прерывания в MC. После этого через
драйвер MC выдается запрос  на  загрузку  файла.  Программма  FTSUK.SAV
воспринимает этот запрос и передает содержимое файла программе BOTUK  в
периферийную машину. BOTUK размащает файл  с  адреса  000000,  сохраняя
ыектор прерывания MC драйвера. После  настройки  стека  по  содержимому
42 ячейки управление передается по  адресу,  указанному  в  ячейке  40.
Программа БОТUK кроме функции загрузки  также  обеспечивает  нормальную
работу исполняющих систем FORTRAN-4 и PASCAL, что  позволяет  выполнять
программы  написанные  на  этих  языках  и  не    требующие    операций
ввода/вывода  (  кроме  работы  с  терминалом  )  без  загрузки  ОС  на
периферийные машины.

  6. Процесс загрузки ОС RT-11.

 Для загрузки ОС на периферийные машины необходимо:

	1. Наличие на диске монитора операционной системы RT11JJ.SYS  и
драйвера удаленного доступа VK.SYS.
	2. Установить адрес станции главной машины командой SET VM HOST=XX.
Назначить лоагические имена  устройствам  (ASS  SY  SYS,  ASS  SY  SY0,
ASS DK SY1). При этом следует иметь в виду,  что  операционная  система
будет загружаться с устройства с именем SY0,  следовательно  необходимо
наличие на этом устройстве программ, необходимых для работы  ОС  RT-11.
	3. Запустить программу FTSUK.SAV на главной машине. В ответ  на
запрос SAV  FILE  NAME>  ввести  имя  файла  загрузчика  ОС  RTBOOT.SAV
(предполагается, что файл загрузчика находится на устройстве  с  именем
SYS:).
	4. Перевести периферийные ЭВМ в режим загрузки.

 Абсолютный загрузчик определит, что начинается процесс загрузки 
ОС и выдает сообщение ?BOOT-I-RT-11 bootstrap  process.  Файл  монитора
операционной системы должен находиться на устройстве  SY0:  под  именем
RT11JJ.SYS. Следует отметить, что этот монитор отличается  от  обычного
�
SJ монитора тем, что в нем установлена новая граница поиска конца памяти 
(150000 вместо 160000) и в карте защиты памяти запрещена запись в ячейки
360...366. После загрузки монитора на периферийной  машине  запускается
командный фаил STARTS.COM, который ДОЛЖЕН СОДЕРЖАТЬ КАК МИНИМУМ СЛЕДУЮЩИЕ
КОМАНДЫ:
	SET USR NOSWAP
	SET EXIT NOSWAP
	SET TT SCOPE
Этот файл должен находиться на устройстве SY0:.

 После  завершения  процесса  загрузки  с  периферийной   машины
доступны диски главной машины. Именам устройств  VКn:  на  периферийной
машине соответствуют имена SYn: на главной машине.


 Программная реализация доступа к среде 

        передачи в ЛВС Micronet (МАС-уровень).

  1. Введение.

 Ниже описан метод  доступа  к  сетевому  драйверу  из  программ
пользователя, если он не хочет использовать средства файлового  обмена,
предоставляемые  сетевым  програмным   обеспечением    ЛВС    Micronet.

    На  программы  МАС-уровня  в  ЛВС  Micronet  возлагаются    функции
безошибочного  приема    и    передачи    кадров    и    восстановление
целостности  сети  при  сбоях  в  среде  передачи  и    реконфигурации.

    На  станции,  подключенной  к    кольцу,    программы    МАС-уровня
должны  постоянно  находиться  в   памяти.    Поскольку    они    могут
использоваться    различными    программами     их        целесообразно
оформить  в  виде  драйвера  МС  в  операционной  системе  RT-11   (или
совместимой  с  ней  ОС).  Для  использования    программ    МАС-уровня
драйвер  должен  быть   загружен    с    помощью    команды    монитора

                LOAD MC ,

при работе в режиме удаленной загрузки нет необходимости явно загружать 
драйвер  канального  протокола,  так-как   он    является    системным.
Для    осуществления    доступа    к    среде    передачи    необходимо
обращаться  к  подпрограммам  входящим  в  состав    этого    драйвера.


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

		2. Интерфейс сетевого драйвера.

Схема построения интерфейсной части МС драйвера:
         . . .
        .WORD   SUBR.N - INTRPT
         . . .
        .WORD   SUBR.2 - INTRPT
        .WORD   SUBR.1 - INTRPT
�INTRPT:
         . . .
        RTI
SUBR.1:
         . . .
        RTS     PC
         . . .
SUBR.N:
         . . .
        RTS     PC
         . . .

    Для  вызова  подпрограммы  с  номером  N   можно    воспользоваться
макрокомандой  CALLMC:

.MACRO  CALLMC  N

        MOV     @#360, R1
        ADD     -2*N(R1), R1
        JSR     PC, (R1)

.ENDM   CALLMC

    Здесь  360  -  адрес  вектора  прерывания  связанный   с    сетевым
адаптером, а N - номер попрограммы.

    Примеры обращения к макрокоманде CALLMC:

        CALLMC  1

        CALLMC  3

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

        MOV     @#360, R0
        MOV     R0, R1
        MOV     #S.1, R2
        MOV     #K, R3
1$:
        MOV     R0, (R2)
        ADD     -(R1), (R2)+
        SOB     R3, 1$
         . . .

S.1:    .WORD   0
S.2:    .WORD   0
         . . .
S.K:    .WORD   0

    И обращаться к ним таким образом:

        JSR     PC, @S.1

        JSR     PC, @S.4

    Здесь К - общее число подпрограмм (в нашем случае 6).


�
  3. Описание подпрограмм.

    Для  передачи  информации  в    подпрограммы    используется    R0.
В  случае  неправильного  обращения  к  ним  устанавливается  бит  С  и
в R0 возвращается код ошибки.


Подпрограмма:   NETON
Номер:          1
Функция:        Подключение станции к сети.
Вход:           нет
Выход:          R0 - сетевой адрес станции.
Ошибки:         нет

Подпрограмма:   NETOFF
Номер:          2
Функция:        Отключение станции от сети.
Вход:           нет
Выход:          нет
Ошибки:         нет
Подпрограмма:   RFRAME
Номер:          3
Функция:        Запрос на прием кадра.
Вход:           R0 - адрес управляющего блока запроса.
Выход:          нет
Ошибки:         бит С установлен,
                R0=0 - такой запрос уже есть.
                R0=1 - ошибка в параметрах.

Подпрограмма:   WFRAME
Номер:          4
Функция:        Запрос на передачу кадра.
Вход:           R0 - адрес управляющего блока запроса.
Выход:          нет
Ошибки:         бит С установлен,
                R0=0 - такой запрос уже есть.
                R0=1 - ошибка в параметрах.

Подпрограмма:   RCANCL
Номер:          5
Функция:        Запрос на отмену приема кадра.
Вход:           нет
Выход:          нет
Ошибки:         бит С установлен,
                R0=0 - нет соответствующего запроса.

Подпрограмма:   WCANCL
Номер:          6
Функция:        Запрос на отмену передачи кадра.
Вход:           нет
Выход:          нет
Ошибки:         бит С установлен,
                R0=0 - нет соответствующего запроса.

    МАС-уровень  может  одновременно  обрабатывать  не  более    одного
запроса на передачу и на прием кадров.

�
    При выдаче запроса на передачу или на прием через R0
передается адрес управляющего блока.


Управляющий блок при            Управляющий блок при
    приеме кадра:                  передаче кадра:

---------------------           --------------------
! FSB     1! FCB   0!           ! FSB    1! FCB   0!
---------------------           --------------------
! FADR    3! RADR  2!           ! RETRY  3! RADR  2!
---------------------           --------------------
! BUFFER   .       4!           ! BUFFER  .       4!
---------------------           --------------------
! RSIZE    .       6!           ! RSIZE   .       6!
---------------------           --------------------
! FSIZE    .      10!
---------------------
    Назначение отдельных полей управляющих блоков:

                               7   6   5   4   3   2   1   0
F C B -                      ---------------------------------
    Frame Control Byte -     !  Р    Е    З     Е    Р    В  !
    байт управления.         !   .   .   .   .   .   .   .   !
                             ---------------------------------

                               7   6   5   4   3   2   1   0
F S B -                      ---------------------------------
    Frame Status Byte -      !RDY!  Б И Т Ы     О Ш И Б О К  !
    байт состояния           !   !   .   .   .   .   .   .   !
                             ---------------------------------

        RDY - бит готовности, который устанавливается после
        отработки запроса. Если запрос не может быть выполнен,
        то кроме бита RDY, устанавливаются биты ошибок.


R A D R - при приеме кадра    - адрес станции-отправителя,
                                или 377 при приеме "ото всех".

        - при передаче кадра  - адрес станции-получателя,
                                или 0 при передаче "всем".


F A D R - при приеме кадра    - адрес станции-отправителя
                                принятого кадра (фактический).

R E T R Y -при передаче кадра - число повторов при неудачной
                                передаче. При RETRY=0 берется
                                число повторов определенное
                                в МАС-уровне.

B U F F E R - адрес области памяти с передаваемой/принимаемой
              информацией.


�
R S I Z E -при приеме кадра   - максимальный размер принимаемого
                                кадра.

          -при передаче кадра - размер передаваемого кадра.


F S I Z E -при приеме кадра   - фактический размер принятого
                                кадра.


    Для  того,  чтобы  передаваемый  кадр  был  принят,  должны    быть
выполнены следующие условия:

    - станция-получатель  присутствует  в  сети  и  подключена  к  ней.

    - станция-получатель  имеет  запрос  на  прием  кадра  от  станции-
      отправителя или "ото всех".

    -  размер  передаваемого  кадра  не    превосходит    максимального
      размера кадра указанного в запросе.

    - при приеме кадра  не  обнаруженно  ошибок  в  контрольной  сумме.

При нарушении  хотя  бы  одного  из  этих  условий  передача  считается
неудачной.

    Запрос  на  прием  или  передачу  кадров  может  быть    отвергнут,
если за заданное число  попыток  не  удалось  восстановить  целостность
кольца.

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

    Запрос на отмену  приема  или  передачи  отрабатывается  не  сразу,
поэтому после  него  также  необходимо  дождаться  появления  бита  RDY
в байте FSB управляющего блока запроса.