stringtranslate.com

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

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

Технический

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

Kermit можно использовать как средство для загрузки другого программного обеспечения, даже самого себя. Для распространения Kermit через не- 8-битные чистые сети Columbia разработала .boo , систему кодирования двоичного кода в текст, похожую на BinHex . Например, совместимые с IBM PC и компьютеры Apple с установленной картой совместимости могут подключаться к несовместимым системам, таким как мэйнфрейм, для получения MS-DOS Kermit в формате .boo. Затем пользователи могут ввести «baby Kermit» в 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] .

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

История

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

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

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

К 1988 году Kermit был доступен на более чем 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 выпустил бета-версию C-Kermit v9.0 под пересмотренной 3-пунктной лицензией BSD . [17]

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

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

Кермит был назван в честь лягушонка Кермита из Маппет-шоу с разрешения Henson Associates . [31] Значок программы в версии для Apple Macintosh был изображением лягушонка Кермита. Тем не менее, был создан бэкроним , возможно, чтобы избежать проблем с торговой маркой, K L10 E rror-Free Reciprocal Microprocessor I nterchange over T TY lines. [ 32]

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

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

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

Ссылки

  1. ^ Некоторые предложения в техническом разделе основаны на тексте, скопированном 30 октября 2004 года из Free On-line Dictionary of Computing , который лицензирован в соответствии с GFDL .
  2. ^ da Cruz, Frank (20 марта 1986 г.). "Re: Печатные кодировки для двоичных файлов". Info-Kermit Digest (список рассылки). Проект Kermit, Колумбийский университет . Получено 1 марта 2016 г.
  3. ^ Фуллер, Билл; да Круз, Фрэнк (11 октября 1989 г.). «Kermit Bootstrapping». Info-Kermit Digest (список рассылки). Kermit Project, Колумбийский университет . Получено 5 марта 2016 г.
  4. ^ Джаноне, К. (23 апреля 1991 г.). «CP/M-80 KERMIT VERSION 4.11 USER GUIDE». Нью-Йорк: Колумбийский университет, Центр вычислительной деятельности.См. «Рисунок 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) . В Börger, Egon (ред.). Методы спецификации и проверки . Нью-Йорк: Oxford University Press. С. 247–293. ISBN 0-19-853854-5.
  9. ^ da Cruz, Frank; Catchings, Bill (июнь 1984). "Kermit: протокол передачи файлов для университетов / Часть 1: вопросы проектирования и спецификации". BYTE . стр. 251 . Получено 23 октября 2013 г. .
  10. ^ da Cruz, Frank; Catchings, Bill (июль 1984 г.). «Kermit: протокол передачи файлов для университетов / Часть 2: состояния и переходы, эвристические правила и примеры». BYTE . стр. 141 . Получено 23 октября 2013 г. .
  11. ^ abc Международная космическая станция объединяет Кермит (декабрь 2003 г.)
  12. ^ Ин Бай (19 ноября 2004 г.). Справочник по программированию последовательного порта Windows. CRC Press. стр. 65. ISBN 978-0-203-34196-4.
  13. ^ Кристофер Дж. Роулингс; С. Роулингс (11 ноября 1986 г.). Каталог программного обеспечения для молекулярной биологии. Macmillan International Higher Education. стр. 20. ISBN 978-1-349-08234-6.
  14. ^ Дупник, Джо; да Круз, Франк (11 января 1988 г.). «Анонсируем MS-DOS Kermit 2.30». Инфо-Кермит Дайджест (список рассылки). Проект Кермит, Колумбийский университет . Проверено 3 марта 2016 г.
  15. ^ da Cruz, Frank (29 июля 1988 г.). «Kermits Needed». Info-Kermit Digest (список рассылки). Kermit Project, Columbia University . Получено 3 марта 2016 г.
  16. Хорошо, Робин (23 декабря 2003 г.). «Стандарты: действительно ли они нам нужны?». masternewmedia.org . Получено 27 апреля 2009 г.
  17. ^ "C-Kermit 9.0 Beta Test". Проект Kermit Колумбийского университета. 21 июня 2011 г. Получено 22 июня 2011 г.
  18. Мишель Воггон (1 января 1995 г.). Телекоммуникации с использованием ProComm и ProComm Plus стали проще . Prentice Hall. стр. 30–31. ISBN 978-0-13-148412-2.
  19. ^ Уолтер Р. Брюс; Алан С. Эллиотт (1 апреля 1991 г.). Использование Procomm Plus . Que Corp. стр. 139–143. ISBN 978-0-88022-704-9.
  20. ^ Джоан Краузе (1991). ProComm Plus 2.0 в работе . Addison-Wesley Longman, Incorporated. стр. 109, 205. ISBN 978-0-201-57789-1.
  21. ^ Уолли Ванг (1994). ProComm plus 2 для Windows для чайников. IDG Books. стр. 127. ISBN 9781568842196.
  22. ^ Майк Каллахан; Ник Анис (1990). Руководство доктора Файла Finder по Shareware . Osborne McGraw-Hill. стр. 386. ISBN 978-0-07-881646-8.
  23. ^ Словарь компьютерных и интернет-слов: руководство от А до Я по оборудованию, программному обеспечению и киберпространству . Houghton Mifflin Harcourt. 2001. стр. 150. ISBN 0-618-10137-3.
  24. Джонстон, Кристофер (28 октября 1986 г.). «Кермит». PC Magazine . 5 (18). Ziff Davis, Inc.: 132. ISSN  0888-8507.
  25. ^ Майк Каллахан; Ник Анис (1990), Руководство доктора Файла Finder по Shareware , Osborne McGraw-Hill, стр. 235, ISBN 978-0-07-881646-8
  26. ^ SA Fist (6 декабря 2012 г.), Справочник по информатике: руководство по мультимедийным коммуникациям и вещанию, Springer Science & Business Media, стр. 372, ISBN 978-1-4615-2093-1
  27. ^ Дэна Бланкенхорн; Кимберли Максвелл (1992), Technology edge: a guide to field computing , New Riders Publishing, стр. 286, ISBN 978-1-56205-091-7
  28. ^ Филип Л. Беккер (сентябрь 1991 г.). Введение в компьютерные коммуникации . Вопрос. стр. 69. ISBN 978-0-88022-747-6.
  29. Альфред Глоссбреннер (31 марта 1993 г.). Power DOS!: научитесь управлять своим ПК как мастером. Random House Information Group. стр. 368. ISBN 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 г. из Free On-line Dictionary of Computing , лицензированного по лицензии GFDL .
  35. ^ "C-Kermit 8.0 - Интерактивная связь, передача файлов и скриптинг через последовательные порты, модемы, защищенный Telnet, защищенную оболочку (SSH), FTP и HTTP для Unix, VMS, QNX, ..." Колумбийский университет . Архивировано из оригинала 16 марта 2023 г.

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

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