stringtranslate.com

Kermit (protocolo)

Kermit es un protocolo de transferencia y gestión de archivos de computadora y un conjunto de herramientas de software de comunicaciones utilizadas principalmente en los primeros años de la informática personal en la década de 1980. Proporciona un enfoque consistente para la transferencia de archivos, la emulación de terminal , la programación de scripts y la conversión de conjuntos de caracteres en muchas plataformas de sistemas operativos y hardware de computadora diferentes .

Técnico

El protocolo Kermit admite transferencias de archivos binarios y de texto en conexiones seriales de 8 y 7 bits tanto full-duplex como half-duplex de una manera independiente del sistema y del medio, y se implementa en cientos de plataformas de computadoras y sistemas operativos diferentes. En conexiones full-duplex, se utiliza un protocolo de ventana deslizante con retransmisión selectiva que proporciona excelentes características de rendimiento y recuperación de errores. En conexiones de 7 bits, los cambios de bloqueo proporcionan una transferencia eficiente de datos de 8 bits. Cuando se implementa correctamente, como en la colección de software Kermit de la Universidad de Columbia , sus autores afirman que el rendimiento es igual o mejor que otros protocolos como ZMODEM , YMODEM y XMODEM , especialmente en conexiones deficientes. [1] En conexiones a través de multiplexores estadísticos RS-232 donde algunos caracteres de control no se pueden transmitir, [ cita requerida ] Kermit se puede configurar para que funcione, a diferencia de protocolos como XMODEM que requieren que la conexión sea transparente (es decir, que los 256 valores posibles de un byte sean transferibles).

Kermit puede utilizarse como un medio para arrancar otro software, incluso a sí mismo. Para distribuir Kermit a través de redes que no sean de 8 bits, Columbia desarrolló .boo , un sistema de codificación de binario a texto similar a BinHex . Por ejemplo, los ordenadores compatibles con IBM PC y los ordenadores Apple con una tarjeta de compatibilidad instalada pueden conectarse a sistemas que de otro modo serían incompatibles, como un ordenador mainframe, para recibir Kermit MS-DOS en formato .boo. Los usuarios pueden entonces escribir un "bebé Kermit" en BASIC en sus ordenadores personales que descargue Kermit y lo convierta en binario. [2] [3]

De manera similar, las máquinas CP/M utilizan muchos formatos de disquete diferentes , lo que significa que una máquina a menudo no puede leer discos de otra máquina CP/M, y Kermit se utiliza como parte de un proceso para transferir aplicaciones y datos entre máquinas CP/M y otras máquinas con diferentes sistemas operativos. El programa de copia de archivos CP/M PIP generalmente puede acceder al puerto serie ( RS-232 ) de una computadora y, si se configura para usar una tasa de baudios muy baja (porque no tiene corrección de errores incorporada), se puede utilizar para transferir una versión pequeña y simple de Kermit de una máquina a otra a través de un cable de módem nulo o, en su defecto, se puede codificar manualmente una versión muy simple del protocolo Kermit en binario en menos de 2K utilizando DDT, la herramienta de depuración dinámica CP/M. Una vez hecho esto, se puede utilizar la versión simple de Kermit para descargar una versión completamente funcional. Esa versión se puede utilizar luego para transferir cualquier aplicación o dato CP/M. [4]

Las versiones más nuevas de Kermit incluían lenguaje de script y automatización de comandos. [5] El lenguaje de script Kermit evolucionó a partir de su lenguaje de comandos inspirado en TOPS-20 EXEC [6] y fue influenciado sintáctica y semánticamente por ALGOL 60 , C , BLISS-10 , PL/I , SNOBOL y LISP . [7]

La corrección del protocolo Kermit ha sido verificada con métodos formales. [8]

Historia

A finales de los años 70, los usuarios de los ordenadores centrales de la Universidad de Columbia tenían sólo 35 kilobytes de almacenamiento por persona. Kermit se desarrolló en la universidad para que los estudiantes pudieran mover archivos entre ellos y disquetes en varios microordenadores del campus, [9] [10] [11] como los mainframes IBM o DEC DECSYSTEM-20 y los Intertec Superbrains que ejecutaban CP/M . Los mainframes IBM utilizaban un conjunto de caracteres EBCDIC y las máquinas CP/M y DEC utilizaban ASCII , por lo que la conversión entre los dos conjuntos de caracteres fue una de las primeras funciones integradas en Kermit. La primera transferencia de archivos con Kermit se produjo en abril de 1981. El protocolo fue diseñado originalmente en 1981 por Frank da Cruz y Bill Catchings. [12] [13]

La Universidad de Columbia coordinó el desarrollo de versiones de Kermit para muchos ordenadores diferentes en la universidad y en otros lugares, y distribuyó el software de forma gratuita; Kermit para el nuevo ordenador personal de IBM se hizo especialmente popular. En 1986, la universidad fundó el Proyecto Kermit, que se hizo cargo del desarrollo y comenzó a cobrar tarifas por el uso comercial; el proyecto era autosuficiente financieramente. [11] Para el uso no comercial, la Universidad de Columbia declaró que [14]

Kermit es para que todos lo usen y compartan. Una vez que lo obtengas, no dudes en pasárselo a tus amigos y colegas. Aunque está protegido por derechos de autor y no es de dominio público, solo te pedimos que no intentes venderlo con fines lucrativos y que lo uses solo con fines pacíficos y humanitarios.

En 1988, Kermit estaba disponible en más de 300 computadoras y sistemas operativos. [15] El protocolo se convirtió en un estándar de facto para las comunicaciones de datos [16] para transferir archivos entre sistemas informáticos diferentes y, a principios de los años 1990, podía convertir codificaciones de caracteres multilingües . El software Kermit se ha utilizado en muchos países para tareas que van desde tareas sencillas para estudiantes hasta la solución de problemas de compatibilidad a bordo de la Estación Espacial Internacional . [11] Se adaptó a una amplia variedad de sistemas mainframe, minicomputadoras y microcomputadoras, hasta computadoras portátiles y calculadoras electrónicas de bolsillo. La mayoría de las versiones tenían una interfaz de usuario basada en el Kermit TOPS-20 original. Las versiones posteriores de algunas implementaciones de Kermit también admiten conexiones en red y en serie .

Las implementaciones que actualmente son compatibles incluyen C -Kermit (para Unix y OpenVMS ) y Kermit 95 (para versiones de Microsoft Windows desde Windows 95 en adelante y OS/2 ), pero otras versiones también siguen estando disponibles.

A partir del 1 de julio de 2011, la Universidad de Columbia dejó de albergar este proyecto y lo lanzó como código abierto . En junio de 2011, el Proyecto Kermit lanzó una versión beta de C-Kermit v9.0 bajo la Licencia BSD Revisada de 3 Cláusulas . [17]

Además de las implementaciones desarrolladas y/o distribuidas por la Universidad de Columbia, el protocolo Kermit se implementó en varios paquetes de software de comunicaciones de terceros, entre otros ProComm y ProComm Plus . [18] [19] [20] [21] [22] El término "SuperKermit" fue acuñado por proveedores externos para referirse a implementaciones de Kermit de mayor velocidad que ofrecen características como operación dúplex completa, [23] ventanas deslizantes, [24] [25] [26] [27] [ 28] [29] y paquetes largos; sin embargo, ese término fue desestimado por el equipo original de Kermit en la Universidad de Columbia, que los vio simplemente como características del protocolo Kermit central. [30]

Nombre y derechos de autor

Kermit recibió su nombre de la Rana Gustavo de Los Teleñecos , con permiso de Henson Associates . [31] El icono del programa en la versión de Apple Macintosh era una representación de la Rana Gustavo. No obstante, se creó un acrónimo , tal vez para evitar problemas de marca registrada, K L10 Error -Free R eciprocal M icroprocessor Interchange over T TY lines. [32]

Kermit es un protocolo abierto: cualquiera puede basar su propio programa en él, pero parte del software y el código fuente de Kermit están protegidos por derechos de autor de la Universidad de Columbia. [33] [34] La página final de la licencia decía: [35]

A partir de la versión 9.0 (a partir de la primera prueba Beta), C-Kermit tiene una licencia de código abierto, la Licencia BSD revisada de 3 cláusulas. Todo el mundo puede utilizarlo como desee para cualquier propósito, incluida la redistribución y la reventa. Puede incluirse en cualquier sistema operativo en el que funcione o se pueda hacer que funcione, incluidas las versiones gratuitas y comerciales de Unix y Hewlett-Packard (anteriormente DEC) VMS (OpenVMS). El soporte técnico estará disponible en la Universidad de Columbia únicamente hasta el 30 de junio de 2011.

Véase también

Referencias

  1. ^ Algunas de las frases de la sección Técnica están basadas en texto copiado, el 30 de octubre de 2004, del Diccionario gratuito en línea de informática , que se encuentra bajo licencia GFDL .
  2. ^ da Cruz, Frank (20 de marzo de 1986). "Re: Codificaciones imprimibles para archivos binarios". Info-Kermit Digest (lista de correo). Proyecto Kermit, Universidad de Columbia . Consultado el 1 de marzo de 2016 .
  3. ^ Fuller, Bill; da Cruz, Frank (11 de octubre de 1989). "Kermit Bootstrapping". Info-Kermit Digest (lista de correo). Kermit Project, Universidad de Columbia . Consultado el 5 de marzo de 2016 .
  4. ^ Gianone, C. (23 de abril de 1991). "GUÍA DEL USUARIO DE CP/M-80 KERMIT VERSIÓN 4.11". Nueva York: Centro de Actividades Informáticas de la Universidad de Columbia.Consulte la "Figura 1-1: Programa Bootstrap para Kermit-80 y CP/M versión 2.2"
  5. ^ columbia.edu Kermit 95
  6. ^ "Tutorial y biblioteca de scripts de C-Kermit / Kermit 95".
  7. ^ "Tutorial y biblioteca de scripts de C-Kermit / Kermit 95".
  8. ^ Huggins, James K. (1995). "Kermit: especificación y verificación" (PDF) . En Börger, Egon (ed.). Métodos de especificación y validación . Nueva York: Oxford University Press. pp. 247–293. ISBN. 0-19-853854-5.
  9. ^ da Cruz, Frank; Catchings, Bill (junio de 1984). "Kermit: Un protocolo de transferencia de archivos para universidades / Parte 1: Consideraciones de diseño y especificaciones". BYTE . p. 251 . Consultado el 23 de octubre de 2013 .
  10. ^ da Cruz, Frank; Catchings, Bill (julio de 1984). "Kermit: Un protocolo de transferencia de archivos para universidades / Parte 2: Estados y transiciones, reglas heurísticas y ejemplos". BYTE . p. 141 . Consultado el 23 de octubre de 2013 .
  11. ^ abc La Estación Espacial Internacional incorpora a Kermit (diciembre de 2003)
  12. ^ Ying Bai (19 de noviembre de 2004). Manual de programación del puerto serie de Windows. CRC Press. pág. 65. ISBN 978-0-203-34196-4.
  13. ^ Christopher J. Rawlings; S. Rawlings (11 de noviembre de 1986). Directorio de software para biología molecular. Macmillan International Higher Education. pág. 20. ISBN 978-1-349-08234-6.
  14. ^ Doupnik, Joe; da Cruz, Frank (11 de enero de 1988). "Anuncio de MS-DOS Kermit 2.30". Info-Kermit Digest (lista de correo). Proyecto Kermit, Universidad de Columbia . Consultado el 3 de marzo de 2016 .
  15. ^ da Cruz, Frank (29 de julio de 1988). "Kermits Needed". Info-Kermit Digest (lista de correo). Kermit Project, Universidad de Columbia . Consultado el 3 de marzo de 2016 .
  16. ^ Good, Robin (23 de diciembre de 2003). "Estándares: ¿realmente los necesitamos?". masternewmedia.org . Consultado el 27 de abril de 2009 .
  17. ^ "Prueba beta de C-Kermit 9.0". Proyecto Kermit de la Universidad de Columbia. 21 de junio de 2011. Consultado el 22 de junio de 2011 .
  18. ^ Michele Woggon (1 de enero de 1995). Telecomunicaciones con ProComm y ProComm Plus simplificadas . Prentice Hall. págs. 30-31. ISBN 978-0-13-148412-2.
  19. ^ Walter R. Bruce; Alan C. Elliott (1 de abril de 1991). Uso de Procomm Plus . Que Corp., págs. 139-143. ISBN 978-0-88022-704-9.
  20. ^ Joanne Krause (1991). ProComm Plus 2.0 en acción . Addison-Wesley Longman, Incorporated. Págs. 109, 205. ISBN. 978-0-201-57789-1.
  21. ^ Wally Wang (1994). ProComm plus 2 para Windows para principiantes. IDG Books. pág. 127. ISBN 9781568842196.
  22. ^ Mike Callahan; Nick Anis (1990). Guía del Dr. File Finder para el shareware . Osborne McGraw-Hill. pág. 386. ISBN 978-0-07-881646-8.
  23. ^ Diccionario de términos informáticos e Internet: una guía de la A a la Z sobre hardware, software y ciberespacio . Houghton Mifflin Harcourt. 2001. pág. 150. ISBN 0-618-10137-3.
  24. ^ Johnston, Christopher (28 de octubre de 1986). "Kermit". Revista PC . 5 (18). Ziff Davis, Inc.: 132. ISSN  0888-8507.
  25. ^ Mike Callahan; Nick Anis (1990), Guía del Dr. File Finder para shareware , Osborne McGraw-Hill, pág. 235, ISBN 978-0-07-881646-8
  26. ^ SA Fist (6 de diciembre de 2012), The Informatics Handbook: A guide to multimedia communications and broadcasting, Springer Science & Business Media, pág. 372, ISBN 978-1-4615-2093-1
  27. ^ Dana Blankenhorn; Kimberly Maxwell (1992), Tecnología de vanguardia: una guía para la informática de campo , New Riders Publishing, pág. 286, ISBN 978-1-56205-091-7
  28. ^ Philip L. Becker (septiembre de 1991). Introducción a las comunicaciones por PC . Que. p. 69. ISBN 978-0-88022-747-6.
  29. ^ Alfred Glossbrenner (31 de marzo de 1993). Power DOS!: aprenda a manejar su PC como un maestro. Random House Information Group. p. 368. ISBN 978-0-679-73924-1.
  30. ^ "Preguntas frecuentes sobre Kermit: ¿Qué es SuperKermit?". www.columbia.edu . Consultado el 16 de agosto de 2019 .
  31. ^ "Kermit - ¿Qué es?" The Kermit Project. 26 de octubre de 2006. Universidad de Columbia. 11 de julio de 2007 http://www.columbia.edu/kermit/kermit.html.
  32. ^ "Sistema informático de vídeo Superbrain". www.staff.ncl.ac.uk .
  33. ^ "Software Kermit: Preguntas frecuentes". Universidad de Columbia . Archivado desde el original el 23 de mayo de 2023.
  34. ^ La frase anterior se basa en un texto copiado, el 30 de octubre de 2004, del Diccionario gratuito en línea de informática , que se encuentra bajo licencia GFDL .
  35. ^ "C-Kermit 8.0 - Comunicación interactiva, transferencia de archivos y secuencias de comandos a través de puertos serie, módems, Telnet seguro, Secure Shell (SSH), FTP y HTTP para Unix, VMS, QNX, ..." Universidad de Columbia . Archivado desde el original el 16 de marzo de 2023.

Lectura adicional

Enlaces externos