Применение пакета файлового обмена KERMIT для взаимодействия традиционных систем автоматизации на базе разнородной вычислительной техники

Автор: Брусиловский Л.И., Отливанчик Е.А., Отливанчик М.А., Равдин В.В., Сагателян Д.М., Самойлова С.А., Скляров В.В., Твердов В.В.

Журнал: Компьютерная оптика @computer-optics

Статья в выпуске: 2, 1987 года.

Бесплатный доступ

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

Короткий адрес: https://sciup.org/14058117

IDR: 14058117

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

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

Так, в отделе обработки сигналов ИОФАН, традиционно занимающемся задачами автоматизации на уровне института, в настоящее время сложились следующие функционально независимые системы автоматизации:

  • —    система автоматизации общих служб института (отдел снабжения, плановый отдел, отдел кадров и т.п.) на базе ЭВМ Eclipse S/200 и Nova 3 фирмы Data General Corp.;

  • —    многотерминальные системы общего пользования на базе ЭВМ Eclipse М/600 и СМ-1600;

  • —    система автоматизации физического эксперимента на базе ЭВМ Nova 4 и MicroNova и персональных измерительно-вычислительных комплексов (ПИВК);

  • —    инструментальная система автоматизации и графическая станция на базе ЭВМ LSI-11/23 Plus;

  • —    инструментальные системы на базе персональных компьютеров;

  • —    распределенная система персональных рабочих мест на базе ЭВМ типа ”Правец-82”.

В этих условиях важной становится задача организации взаимодействия перечисленных систем для надежного хранения данных и прикладных программ, коллективного использования дефицитной периферии, коллективного сбора и обработки информации. Традиционно для решения подобных задач используются разнородные локальные сети. Однако известные в настоящее время сетевые пакеты (например, сети DECnet, Ethernet, Internet [2, 3]) характеризуются хотя бы одним из недостатков:

  • —    избыточностью;

  • —    часто неудобным для пользователя интерфейсом;

  • —    необходимостью использовать специальную аппаратуру;

  • —    ограниченными возможностями при работе с разнородной техникой.

Поэтому большой интерес вызвало появление пакета KERMIT [4], обеспечивающего простыми средствами обмен файлами между разнородными ЭВМ. Применение этого пакета в ИОФАН позволило организовать хранение данных, подготовленных на ПИВК, ЭВМ Eclipse М/600. и решить проблему подготовки текстов и документации в рамках существующих систем автоматизации.

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

ОСНОВНЫЕ ХАРАКТЕРИСТИКИ ПАКЕТА

Протокол KERMIT разработали и реализовали в Columbia University Center for Computing Activities (CUCCA) в 1981 — 1982 rr. Bill Catching и Frank da Cruz [4]. Идея протокола заключается в том, что две машины связываются через свои терминальные порты, причем одна из них (или обе) эмулирует терминал другой. Это легко осуществить, так как практически для любой ЭВМ связь с терминалом реализована стандартным образом как аппаратно (разъем и сигналы по стандарту EIA RS-232), так и программно (обмен ASCII кодами). В этом случае на обоих концах линии могут быть запущены программы KERMIT, поддерживающие протокол обмена.

ПРОТОКОЛ ОБМЕНА

Протокол обмена обеспечивает:

  • —    взаимную конфигурацию системы, согласующую параметры линии с обеих сторон;

  • —    передачу пакетов данных с подтверждениями;

  • —    обнаружение ошибок и помех в линии связи.

Для надежности передачи файлов по линии связанные компьютеры упаковывают данные в пакеты, содержащие контрольную информацию: маркер синхронизации, номер пакета для восстановления его в случае неисправности линии, индикатор длины пакета, контрольную сумму и т.д. (в зависимости от типа пакета). При потере пакета на линии осуществляется повторная передача, дублированные пакеты отбрасываются. Обмен осуществляется в полудуплексном режиме. Активной стороной выступает передатчик. Приемник в ответ на любой пакет передатчика посылает положительное ("Аск”) или отрицательное ("Nak") подтверждение.

РЕЖИМЫ РАБОТЫ

В протоколе KERMIT определены два режима работы: локальный и удаленный. Локальный режим работы позволяет программе KERMIT распоряжаться всеми ресурсами локального компьютера (обычно это микро- или персональный компьютер — ПК).

Ресурсы удаленного компьютера становятся доступными в удаленном режиме работы, в который управляющая программа переходит по команде CONNECT. переводящей локальный компьютер в режим виртуального терминала удаленной машины. При этом весь обмен между локальным терминалом и удаленной машиной "прозрачен” для локальной машины (кроме специальной последовательности выхода, возвращающей локальный режим).

Для передачи файлов требуется запустить программу KERMIT с обеих сторон и выполнить с одной стороны команду SEND, а с другой - RECEIVE (или наоборот).

Для того чтобы в любой момент идентифицировать режим работы, в KERMIT принята система подсказок — строк символов, указывающих, в какой операционной системе идет работа. Так, например, для PC DOS подсказка KERMIT-86), а для RSX-11 подсказка KERMIT-11).

РЕЖИМ SERVER

В настоящее время для различных ЭВМ и операционных систем существует ряд реализаций протокола KERMIT. Помимо базовых возможностей удобным расширением является понятие SERVER. Это программа, которая взаимодействует не с удаленным пользователем, а с другой программой KERMIT. В данном случае весь диалог с удаленным компьютером можно вести со своего локального узла в локальном режиме, один раз запустив SERVER на удаленном компьютере. С помощью SERVER можно неоднократно передавать и принимать файлы без процедуры перехода в режим виртуального терминала и возвращения обратно. Кроме этого, он позволяет получать каталог диска удаленной машины, стирать файлы, определять наличие свободного места на диске и т.п. Вместо команд SEND/RECEI-VE при работе в режиме SERVER используются команды СЕТ и RECEIVE.

СТАНДАРТНЫЕ ТИПЫ СВЯЗИ

Протокол KERMIT обеспечивает двухточечное соединение компьютеров. В то же время можно выделить три типа связи, характеризующихся рядом особенностей (как это принято, многотерминальную систему мы будем называть хост-системой [2]).

Хост - ПК. Это традиционный тип связи, поддерживаемый протоколом. Со стороны многотерминальной хост-системы один из портов выделяется для связи с ПК, причем номер терминальной линии должен быть заранее определен для операционной системы хост (как правило, на этапе ее генерации). Со стороны ПК требуется только наличие связного интерфейса.

Хост — хост. В этом случае для каждой из систем нужно определить связные терминальные линии. Причем организовать файловый обмен можно двумя способами:

  • 1.    Через промежуточный ПК, сведя этот тип связи к предыдущему.

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

ПК — ПК. ПК характеризуется часто тем, что принимает команды только со своей клавиатуры и не может иметь второго терминала. Тем не менее и в этом случае пакет KERMIT может быть использован для обмена файлами, однако работу приходится вести параллельно на двух машинах, например, выполняя на одной из них команду SEND, а на другой - RECEIVE.

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

ТИПЫ ПЕРЕДАВАЕМЫХ ДАННЫХ

Хотя в базовой реализации протокола KERMIT предусмотрен обмен только символьными файлами, большой интерес представляет возможность передачи двоичных файлов. Однако некоторые терминальные интерфейсы и операционные системы не поддерживают 8-битовую передачу по терминальным линиям связи. Тем не менее для большинства широко распространенных типов машин такая возможность имеется (например, для PDP-11. IBM 370, IBM PC). В ряде случаев (например, для ЭВМ фирмы Data General) двоичный обмен можно получить сравнительно простым изменением в исходном коде программы KERMIT.

СЦЕНАРИЙ СЕАНСА СВЯЗИ

Типичный сценарий сеанса связи мы рассмотрим для соединения типа хост — ПК. Ряд конкретных случаев (соединение компьютеров IBM PC с Eclipse М/600 и микроЭВМ, совместимых с "Электроникой-60”) рассмотрен в других работах [5, 6].

Прежде всего пользователь ПК должен войти в операционную систему своей машины и запустить у себя программу KERMIT в локальном режиме. Задав, если нужно, с помощью специальных команд параметры линии связи, ПК по команде CONNECT становится виртуальным терминалом хост-машины. После этого пользователь ПК может зарегистрироваться для работы в хост-системе. Естественно, что получаемые в его распоряжение ресурсы лежат в пределах установленных привилегий. Для организации файлового обмена пользователь должен запустить на хост-системе программу KERMIT. Пусть требуется передать файл с хост-машины на ПК. В этом случае пользователь выполняет на хост команду SEND с указанием имени передаваемого файла, например SEND *. FOR, для передачи всех файлов с расширением имени FOR После этого через последовательность выхода следует вернуться в локальный KERMIT и выполнить команду RECEIVE. Процесс передачи пакетов сопровождается индикацией на терминале с указанием имени передающегося файла, номера передающегося пакета и количества повторов в случае ошибочной передачи пакета. По завершении передачи файла выдается соответствующее сообщение.

Для передачи файла с ПК на хост нужно на хост выполнить команду RECEIVE, вернуться через последовательность выхода в ПК и дать команду SEND (имя файла).

ВВОД В ЭКСПЛУАТАЦИЮ ПАКЕТА

В настоящее время пакет KERMIT реализован практически для всех типов ЭВМ и операционных систем. В дистрибутивный набор входят исходные тексты, что позволяет модифицировать программы и переносить их на новые машины. В состав документации входит руководство пользователя и описание протокола [4,7]. В таблице приведена информация о дистрибутивном наборе для 5-й редакции.

ЭВМ

Операционная система                  Язык реализации

IBM серии 370, EC ЭВМ IBM серии 370, EC ЭВМ CDC Cyber 170 Sperry/Univac-1100 Honeywell

DEC VAX-11, CM-1700, Электроника-82

DEC PDP-11, CM ЭВМ, Электроника-60

VAX, PDP-11, CM ЭВМ, Электроника

DEC PRO-300 SERIES Электроника-85

PRIME

HP-1000

HP-3000, Univac Data General Data General

8080, 8085, Z80 8086,8088

8086, 8088 Apple 2 6502 ATARI Home Computer

VM/CMS, MVS/TSO                  IBM Assembler

MTS                             Паскаль

NOS                              Фортран-77

EXEC                        EXEC ASSEMBLER

Multics                                   PL/1

VMS                             BLISS-32, MACRO-32

RT, RSX, RSTS, MUMPS             MACRO-11

UNIX                         C

P/OS                                BLISS-16, MAC RO-11

PRIMOS                          PL/P

RTE                             Фортран

Software Tools                         Ратфор

AOS                             Ратфор

RDOS                          Фортран

CP/M-80                         DR ASM

PC—DOS, MS-DOS                MS MASM-86

CP/M-86                         DR ASM86

Apple DOS                         DEC-10/20 CROSS

DOS                                Разрабатывается

Статья научная