stringtranslate.com

Кермит (протокол)

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

Технический

Протокол Kermit поддерживает передачу текстовых и двоичных файлов как по полнодуплексным, так и по полудуплексным 8-битным и 7-битным последовательным соединениям независимо от системы и среды и реализован на сотнях различных компьютерных и операционных системных платформ. В полнодуплексных соединениях используется протокол скользящего окна с выборочной повторной передачей, который обеспечивает превосходную производительность и характеристики устранения ошибок. В 7-битных соединениях блокирующие сдвиги обеспечивают эффективную передачу 8-битных данных. При правильной реализации, как в коллекции Kermit Software Колумбийского университета , ее авторы утверждают, что производительность равна или превосходит другие протоколы, такие как ZMODEM , YMODEM и XMODEM , особенно при плохом соединении. [1] При соединениях через статистические мультиплексоры RS-232 , где некоторые управляющие символы не могут быть переданы, Kermit можно настроить для работы, в отличие от таких протоколов, как XMODEM, которые требуют , чтобы соединение было прозрачным (т.е. все 256 возможных значений байта). быть передаваемым).

Kermit можно использовать как средство для загрузки другого программного обеспечения, даже самого себя. Для распространения Kermit через не 8-битные чистые сети Columbia разработала .boo , систему кодирования двоичного текста , аналогичную BinHex . Например, компьютеры, совместимые с IBM PC, и компьютеры Apple с установленной картой совместимости могут подключаться к несовместимым в противном случае системам, таким как мэйнфрейм, для получения MS-DOS Kermit в формате .boo. Затем пользователи могут ввести «малыш Кермит» на языке BASIC на своих персональных компьютерах, который загрузит Kermit и преобразует его в двоичный код. [2] [3]

Точно так же машины CP/M используют множество различных форматов гибких дисков , а это означает, что одна машина часто не может читать диски с другой машины CP/M, а Kermit используется как часть процесса передачи приложений и данных между машинами CP/M и другими машинами. машины с разными операционными системами. Программа копирования файлов CP/M PIP обычно имеет доступ к последовательному порту компьютера ( RS-232 ) и, если она настроена на использование очень низкой скорости передачи данных (поскольку она не имеет встроенной коррекции ошибок), может использоваться для передачи небольшого , простая версия Kermit с одной машины на другую по нуль-модемному кабелю, или, в случае неудачи, очень простая версия протокола Kermit может быть вручную закодирована в двоичном виде менее чем за 2 КБ с использованием DDT, инструмента динамической отладки CP/M. После этого простую версию Kermit можно будет использовать для загрузки полнофункциональной версии. Эту версию затем можно использовать для передачи любого приложения или данных CP/M. [4]

Новые версии Kermit включали язык сценариев и автоматизацию команд. [5] Язык сценариев Kermit произошел от командного языка, вдохновленного TOPS-20 EXEC [6] , и на него синтаксически и семантически повлияли ALGOL 60 , C , BLISS-10 , PL/I , SNOBOL и LISP . [7]

Корректность протокола Кермита проверена формальными методами. [8]

История

В конце 1970-х годов пользователи мэйнфреймов Колумбийского университета имели только 35 килобайт памяти на человека. Kermit был разработан в университете, чтобы студенты могли перемещать файлы между собой и дискетами на различных микрокомпьютерах по всему кампусу, [9] [10] [11] , таких как мэйнфреймы IBM или DEC DECSYSTEM-20 и Intertec Superbrains, работающие под управлением CP/M . Мэйнфреймы IBM использовали набор символов EBCDIC , а машины CP/M и DEC использовали ASCII , поэтому преобразование между двумя наборами символов было одной из первых функций, встроенных в Kermit. Первая передача файлов с помощью Кермита произошла в апреле 1981 года. Первоначально протокол был разработан в 1981 году Фрэнком да Крузом и Биллом Кэтчингсом. [12] [13]

Колумбийский университет координировал разработку версий Kermit для множества различных компьютеров в университете и других местах и ​​распространял программное обеспечение бесплатно; Кермит для нового персонального компьютера IBM стал особенно популярен. В 1986 году университет основал проект Кермит, который взял на себя разработку и начал взимать плату за коммерческое использование; проект был финансово самодостаточным. [11] Для некоммерческого использования Колумбийский университет заявил, что [14]

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

К 1988 году Кермит был доступен более чем на 300 компьютерах и операционных системах. [15] Протокол стал де-факто стандартом передачи данных [16] для передачи файлов между разнородными компьютерными системами, и к началу 1990-х годов он мог преобразовывать многоязычные кодировки символов . Программное обеспечение Kermit использовалось во многих странах для решения самых разных задач: от простых студенческих заданий до решения проблем совместимости на борту Международной космической станции . [11] Он был перенесен на широкий спектр мэйнфреймов, мини-компьютеров и микрокомпьютерных систем, вплоть до карманных компьютеров и электронных карманных калькуляторов. Большинство версий имели пользовательский интерфейс, основанный на оригинальном TOPS-20 Kermit. Более поздние версии некоторых реализаций Kermit также поддерживают как сетевые, так и последовательные соединения.

В настоящее время поддерживаются реализации C -Kermit (для Unix и OpenVMS ) и Kermit 95 (для версий Microsoft Windows , начиная с Windows 95 и OS/2 ), но доступны и другие версии.

С 1 июля 2011 года Колумбийский университет прекратил хостинг этого проекта и выпустил его с открытым исходным кодом . В июне 2011 года проект Kermit Project выпустил бета-версию C-Kermit v9.0 под пересмотренной лицензией BSD из 3 пунктов . [17]

Помимо реализаций, разработанных и/или распространяемых Колумбийским университетом, протокол Kermit был реализован в ряде сторонних пакетов коммуникационного программного обеспечения, в том числе в ProComm и ProComm Plus . [18] [19] [20] [21] [22] Термин «SuperKermit» был придуман сторонними поставщиками для обозначения более высокоскоростных реализаций Kermit, предлагающих такие функции, как полнодуплексный режим, [23] раздвижные окна, [24] ] [25] [26] [27] [28] [29] и длинные пакеты; однако этот термин был отвергнут первоначальной командой Кермита в Колумбийском университете, которая считала это просто особенностями основного протокола Кермита. [30]

Именование и авторские права

Кермит был назван в честь лягушки Кермита из «Маппет-шоу» с разрешения Henson Associates . [31] Иконка программы в версии для Apple Macintosh представляла собой изображение лягушки Кермита. Тем не менее , был создан бэкроним, возможно, чтобы избежать проблем с товарными знаками: K L10 Error - Free Reciprocal Microprocessor Interchange по линиям T TY . [32]

Kermit — это открытый протокол: каждый может создать на его основе свою собственную программу, однако авторские права на некоторые программы и исходный код Kermit принадлежат Колумбийскому университету. [33] [34] На последней странице лицензии было написано: [35]

Начиная с версии 9.0 (начиная с первого бета-тестирования), C-Kermit имеет лицензию с открытым исходным кодом, пересмотренную лицензию BSD из 3 пунктов. Каждый может использовать его по своему усмотрению для любых целей, включая перераспределение и перепродажу. Он может быть включен в любую операционную систему, в которой он работает, или может быть настроен для работы, включая как бесплатные, так и коммерческие версии Unix и Hewlett-Packard (ранее DEC) VMS (OpenVMS). Техническая поддержка будет доступна со стороны Колумбийского университета только до 30 июня 2011 года.

Смотрите также

Рекомендации

  1. ^ Некоторые предложения в Техническом разделе основаны на тексте, скопированном 30 октября 2004 г. из Бесплатного онлайн-словаря по информатике , который распространяется под лицензией GFDL .
  2. да Круз, Фрэнк (20 марта 1986 г.). «Re: Кодировки двоичных файлов для печати». Инфо-Кермит Дайджест (список рассылки). Проект Кермита, Колумбийский университет . Проверено 1 марта 2016 г.
  3. ^ Фуллер, Билл; да Круз, Франк (11 октября 1989 г.). «Кермит Бутстрэппинг». Инфо-Кермит Дайджест (список рассылки). Проект Кермита, Колумбийский университет . Проверено 5 марта 2016 г.
  4. ^ Джаноне, К. (23 апреля 1991 г.). «CP / M-80 КЕРМИТ ВЕРСИЯ 4.11 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ». Нью-Йорк: Центр вычислительной деятельности Колумбийского университета.См. «Рисунок 1-1: Программа начальной загрузки для Kermit-80 и CP/M версии 2.2».
  5. ^ columbia.edu Кермит 95
  6. ^ «Учебное пособие и библиотека по написанию сценариев C-Kermit / Kermit 95» .
  7. ^ «Учебное пособие и библиотека по написанию сценариев C-Kermit / Kermit 95» .
  8. ^ Хаггинс, Джеймс К. (1995). «Кермит: спецификация и проверка» (PDF) . В Бёргере, Эгон (ред.). Методы спецификации и проверки . Нью-Йорк: Издательство Оксфордского университета. стр. 247–293. ISBN 0-19-853854-5.
  9. ^ да Круз, Фрэнк; Кэтчингс, Билл (июнь 1984 г.). «Кермит: протокол передачи файлов для университетов / Часть 1: Особенности проектирования и технические характеристики». БАЙТ . п. 251 . Проверено 23 октября 2013 г.
  10. ^ да Круз, Фрэнк; Кэтчингс, Билл (июль 1984 г.). «Кермит: протокол передачи файлов для университетов / Часть 2: состояния и переходы, эвристические правила и примеры». БАЙТ . п. 141 . Проверено 23 октября 2013 г.
  11. ^ abc Международная космическая станция включает Кермита (декабрь 2003 г.)
  12. Ин Бай (19 ноября 2004 г.). Руководство по программированию последовательного порта Windows. ЦРК Пресс. п. 65. ИСБН 978-0-203-34196-4.
  13. ^ Кристофер Дж. Роулингс; С. Роулингс (11 ноября 1986 г.). Каталог программного обеспечения для молекулярной биологии. Международное высшее образование Макмиллана. п. 20. ISBN 978-1-349-08234-6.
  14. ^ Дупник, Джо; да Круз, Франк (11 января 1988 г.). «Анонсируем MS-DOS Kermit 2.30». Инфо-Кермит Дайджест (список рассылки). Проект Кермита, Колумбийский университет . Проверено 3 марта 2016 г.
  15. да Круз, Фрэнк (29 июля 1988 г.). «Требуются Кермиты». Инфо-Кермит Дайджест (список рассылки). Проект Кермита, Колумбийский университет . Проверено 3 марта 2016 г.
  16. Хорошо, Робин (23 декабря 2003 г.). «Стандарты: действительно ли они нам нужны?». masternewmedia.org . Проверено 27 апреля 2009 г.
  17. ^ "Бета-тест C-Kermit 9.0" . Проект Кермита Колумбийского университета. 21 июня 2011 года . Проверено 22 июня 2011 г.
  18. ^ Мишель Воггон (1 января 1995 г.). Телекоммуникации с использованием ProComm и ProComm Plus стали проще . Прентис Холл. стр. 30–31. ISBN 978-0-13-148412-2.
  19. ^ Уолтер Р. Брюс; Алан К. Эллиотт (1 апреля 1991 г.). Использование Прокомм Плюс . Que Corp., стр. 139–143. ISBN 978-0-88022-704-9.
  20. ^ Джоан Краузе (1991). ProComm Plus 2.0 в действии . Аддисон-Уэсли Лонгман, Инкорпорейтед. стр. 109, 205. ISBN. 978-0-201-57789-1.
  21. ^ Уолли Ван (1994). ProComm plus 2 для Windows для чайников. Книги ИДГ. п. 127. ИСБН 9781568842196.
  22. ^ Майк Каллахан; Ник Анис (1990). Руководство Dr. File Finder по условно-бесплатному ПО . Осборн МакГроу-Хилл. п. 386. ИСБН 978-0-07-881646-8.
  23. ^ Словарь компьютерных и интернет-слов: Путеводитель от А до Я по оборудованию, программному обеспечению и киберпространству . Хоутон Миффлин Харкорт. 2001. с. 150. ИСБН 0-618-10137-3.
  24. Джонстон, Кристофер (28 октября 1986 г.). «Кермит». Журнал ПК . Ziff Davis, Inc. 5 (18): 132. ISSN  0888-8507.
  25. ^ Майк Каллахан; Ник Анис (1990), Руководство Dr. File Finder по условно-бесплатному ПО , Осборн МакГроу-Хилл, стр. 235, ISBN 978-0-07-881646-8
  26. ^ SA Fist (6 декабря 2012 г.), Справочник по информатике: Руководство по мультимедийным коммуникациям и радиовещанию, Springer Science & Business Media, стр. 372, ИСБН 978-1-4615-2093-1
  27. ^ Дана Бланкенхорн; Кимберли Максвелл (1992), «Преимущества технологий: руководство по полевым вычислениям» , New Riders Publishing, стр. 286, ISBN 978-1-56205-091-7
  28. ^ Филип Л. Беккер (сентябрь 1991 г.). Введение в связь с ПК . Que. п. 69. ИСБН 978-0-88022-747-6.
  29. Альфред Глоссбреннер (31 марта 1993 г.). Power DOS!: научитесь управлять своим компьютером как мастер. Информационная группа Random House. п. 368. ИСБН 978-0-679-73924-1.
  30. ^ «Часто задаваемые вопросы о Кермите - Что такое SuperKermit?». www.columbia.edu . Проверено 16 августа 2019 г.
  31. ^ "Кермит - Что это?" Проект Кермит. 26 октября 2006 г. Колумбийский университет. 11 июля 2007 г. http://www.columbia.edu/kermit/kermit.html.
  32. ^ "Видеокомпьютерная система Superbrain" . www.staff.ncl.ac.uk .
  33. ^ «Программное обеспечение Kermit: Часто задаваемые вопросы» . Колумбийский университет . Архивировано из оригинала 23 мая 2023 года.
  34. ^ Предыдущее предложение основано на тексте, скопированном 30 октября 2004 г. из Бесплатного онлайн-словаря по информатике , который распространяется под лицензией GFDL .
  35. ^ «C-Kermit 8.0 — интерактивное общение, передача файлов и выполнение сценариев через последовательные порты, модемы, Secure Telnet, Secure Shell (SSH), FTP и HTTP для Unix, VMS, QNX, ...» Колумбийский университет . Архивировано из оригинала 16 марта 2023 года.

дальнейшее чтение

Внешние ссылки