Kermit es un protocolo de transferencia y gestión de archivos informáticos , así como un conjunto de herramientas de software de comunicación, utilizado principalmente en los inicios de la informática personal en la década de 1980. Proporciona un enfoque coherente para la transferencia de archivos, la emulación de terminales , la programación de scripts y la conversión de conjuntos de caracteres en diversas plataformas de hardware y sistemas operativos .
Técnico
El protocolo Kermit admite transferencias de archivos de texto y binarios en conexiones seriales de 8 y 7 bits, tanto dúplex completo como semidúplex, de forma independiente del sistema y del medio, y está implementado en cientos de plataformas de computadoras y sistemas operativos diferentes. En conexiones dúplex completo, se utiliza un protocolo de ventana deslizante con retransmisión selectiva que proporciona un excelente rendimiento y características de recuperación de errores. En conexiones de 7 bits, los desplazamientos 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 superior al de 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, [ 2 ] Kermit se puede configurar para funcionar, a diferencia de protocolos como XMODEM que requieren que la conexión sea transparente (es decir, que se puedan transferir los 256 valores posibles de un byte).
Kermit puede utilizarse como medio para arrancar otro software, incluso a sí mismo. Para distribuir Kermit a través de redes limpias que no sean de 8 bits, Columbia desarrolló .boo , un sistema de codificación 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 central, para recibir Kermit MS-DOS en formato .boo. Los usuarios pueden entonces escribir un "baby Kermit" en BASIC en sus ordenadores personales que descarga Kermit y lo convierte a binario. [ 3 ] [ 4 ]
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 sistemas operativos diferentes. El programa de copia de archivos de CP/M, PIP, generalmente puede acceder al puerto serie ( RS-232 ) de una computadora, y si se configura para usar una velocidad de transmisión muy baja (porque no tiene corrección de errores incorporada) se puede usar para transferir una versión pequeña y simple de Kermit de una máquina a otra a través de un cable módem nulo , o en su defecto, una versión muy simple del protocolo Kermit se puede codificar manualmente en binario en menos de 2 KB usando DDT, la herramienta de depuración dinámica de CP/M. Una vez hecho esto, la versión simple de Kermit se puede usar para descargar una versión completamente funcional. Esa versión se puede usar luego para transferir cualquier aplicación o dato de CP/M. [ 5 ]
Las versiones más recientes de Kermit incluían lenguaje de scripting y automatización de comandos. [ 6 ] El lenguaje de scripting de Kermit evolucionó a partir de su lenguaje de comandos inspirado en TOPS-20 EXEC [ 7 ] y fue influenciado sintáctica y semánticamente por ALGOL 60 , C , BLISS-10 , PL/I , SNOBOL y LISP . [ 8 ]
La corrección del protocolo Kermit ha sido verificada con métodos formales. [ 9 ]
Historia
A finales de la década de 1970, la mayoría de las computadoras centrales de la Universidad de Columbia tenían ≤ 64 kilobytes de memoria total para trabajar. Kermit se desarrolló en la universidad para que los estudiantes pudieran transferir archivos entre ellas y disquetes en varias microcomputadoras del campus, [ 10 ] [ 11 ] [ 12 ] como las computadoras centrales IBM o DEC DECSYSTEM-20 e Intertec Superbrains que ejecutaban CP/M . Las computadoras centrales IBM usaban un conjunto de caracteres EBCDIC y las máquinas CP/M y DEC usaban ASCII , por lo que la conversión entre los dos conjuntos de caracteres fue una de las primeras funciones incorporadas en Kermit.
El protocolo fue diseñado originalmente en 1981 por Frank da Cruz y Bill Catchings. [ 13 ] [ 14 ] La primera transferencia de archivos con Kermit ocurrió en abril de 1981.
La Universidad de Columbia coordinó el desarrollo de versiones de Kermit para muchas computadoras diferentes en la universidad y en otros lugares, y distribuyó el software de forma gratuita; Kermit para la nueva IBM Personal Computer 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 financieramente autosuficiente. [ 12 ] Para el uso no comercial, la Universidad de Columbia declaró que [ 15 ]
Kermit es para que todos lo usen y compartan. Una vez que lo obtengas, puedes compartirlo con tus amigos y colegas. Aunque tiene derechos de autor y no es de dominio público, solo te pedimos que no intentes venderlo con fines de lucro y que lo uses únicamente con fines pacíficos y humanitarios.
Para 1988, Kermit estaba disponible en más de 300 computadoras y sistemas operativos. [ 16 ] El protocolo se convirtió en un estándar de facto de comunicaciones de datos [ 17 ] para transferir archivos entre sistemas informáticos diferentes, y a principios de la década de 1990 podía convertir codificaciones de caracteres multilingües . El software Kermit se ha utilizado en muchos países, para tareas que van desde simples tareas estudiantiles hasta la resolución de problemas de compatibilidad a bordo de la Estación Espacial Internacional . [ 12 ] Se portó a una amplia variedad de sistemas mainframe, minicomputadora y microcomputadora, hasta dispositivos 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 de red además de conexiones seriales .
Las implementaciones que actualmente son compatibles incluyen C -Kermit (para Unix y OpenVMS ) y Kermit 95 (para versiones de Microsoft Windows a partir de Windows 95 y OS/2 ), pero también hay otras versiones disponibles.
A partir del 1 de julio de 2011, la Universidad de Columbia dejó de alojar este proyecto y lo publicó como código abierto . En junio de 2011, el Proyecto Kermit publicó una versión beta de C-Kermit v9.0 bajo la Licencia BSD revisada de 3 cláusulas . [ 18 ]
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 ellos ProComm y ProComm Plus . [ 19 ] [ 20 ] [ 21 ] [ 22 ] [ 23 ] El término "SuperKermit" fue acuñado por proveedores de terceros para referirse a implementaciones de Kermit de mayor velocidad que ofrecían características como operación dúplex completa, [ 24 ] ventanas deslizantes, [ 25 ] [ 26 ] [ 27 ] [ 28 ] [ 29 ] [ 30 ] y paquetes largos; sin embargo, ese término fue descontinuado por el equipo original de Kermit en la Universidad de Columbia, quienes consideraban que estas eran simplemente características del protocolo Kermit central. [ 31 ]
Nombres y derechos de autor
Kermit recibió su nombre de la rana Kermit de Los Muppets , con permiso de Henson Associates . [ 32 ] El icono del programa en la versión para Apple Macintosh era una representación de la rana Kermit. Se creó un acrónimo inverso , quizás para evitar problemas de marca registrada, K L10 Error -Free R eciprocal Microprocessor I nterchange over T TY lines, [ 33 ] pero los desarrolladores dejaron de usar el acrónimo inverso después de obtener el permiso. [ 34 ]
Kermit es un protocolo abierto; cualquiera puede basar su propio programa en él, pero parte del software y el código fuente de Kermit tienen derechos de autor de la Universidad de Columbia. [ 35 ] [ 36 ] La página de licencia final decía: [ 37 ]
A partir de la versión 9.0 (que incluye la primera prueba beta), C-Kermit cuenta con una licencia de código abierto, la Licencia BSD Revisada de 3 Cláusulas. Cualquiera puede usarlo libremente para cualquier propósito, incluyendo su redistribución y reventa. Puede incluirse en cualquier sistema operativo compatible o adaptable, incluyendo versiones gratuitas y comerciales de Unix y Hewlett-Packard (anteriormente DEC) VMS (OpenVMS). El soporte técnico estará disponible únicamente a través de la Universidad de Columbia hasta el 30 de junio de 2011.
Véase también
Referencias
- ↑ Algunas de las frases de la sección Técnica se basan en texto copiado, el 30 de octubre de 2004, del Diccionario en línea gratuito de informática , que está bajo la licencia GFDL .
- ↑ Cruz, Frank da (febrero de 1985). Kermit, A File Transfer Protocol (PDF) (edición del manuscrito original ). Digital Press. pág. 102. ISBN 0-932976-88-6Consultado el 16 de diciembre de 2025 .
{{cite book}}: Valor de comprobación|isbn=: suma de comprobación ( ayuda ) - ↑ 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 . Recuperado el 1 de marzo de 2016 .
- ↑ Fuller, Bill; da Cruz, Frank (11 de octubre de 1989). "Kermit Bootstrapping" . Info-Kermit Digest (Lista de correo). Proyecto Kermit, Universidad de Columbia . Recuperado el 5 de marzo de 2016 .
- ↑ 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.Véase la "Figura 1-1: Programa de arranque para Kermit-80 y CP/M versión 2.2".
- ↑ columbia.edu Kermit 95
- ↑ "Tutorial y biblioteca de scripting para C-Kermit / Kermit 95" .
- ↑ "Tutorial y biblioteca de scripting para C-Kermit / Kermit 95" .
- ↑ 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.
- ↑ 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ág. 251. Consultado el 23 de octubre de 2013 .
- ↑ 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ág. 141. Consultado el 23 de octubre de 2013 .
- 1 2 3 La Estación Espacial Internacional incorpora a Kermit (diciembre de 2003)
- ↑ Ying Bai (19 de noviembre de 2004). Manual de programación de puertos serie de Windows . CRC Press. pág. 65. ISBN 978-0-203-34196-4.
- ↑ 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.
- ^ 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 .
- ↑ da Cruz, Frank (29 de julio de 1988). "Se necesitan kermits" . Info-Kermit Digest (lista de correo). Proyecto Kermit, Universidad de Columbia . Recuperado el 3 de marzo de 2016 .
- ↑ Good, Robin (23 de diciembre de 2003). "Estándares: ¿Realmente los necesitamos?" . masternewmedia.org . Consultado el 27 de abril de 2009 .
- ↑ "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 .
- ↑ Michele Woggon (1 de enero de 1995). Telecomunicaciones con ProComm y ProComm Plus: una solución sencilla . Prentice Hall. págs. 30-31 . ISBN 978-0-13-148412-2.
- ↑ 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.
- ↑ Joanne Krause (1991). ProComm Plus 2.0 en acción . Addison-Wesley Longman, Incorporated. págs. 109, 205. ISBN 978-0-201-57789-1.
- ↑ Wally Wang (1994). ProComm plus 2 para Windows para principiantes . IDG Books. pág. 127. ISBN 9781568842196.
- ↑ Mike Callahan; Nick Anis (1990). Guía del Dr. File Finder para el software compartido . Osborne McGraw-Hill. pág. 386. ISBN 978-0-07-881646-8.
- ↑ Diccionario de términos informáticos e internet: 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.
- ↑ Johnston, Christopher (28 de octubre de 1986). "Kermit" . PC Magazine . 5 (18). Ziff Davis, Inc.: 132. ISSN 0888-8507 .
- ↑ Mike Callahan; Nick Anis (1990), Dr. File Finder's Guide to Shareware , Osborne McGraw-Hill, pág. 235, ISBN 978-0-07-881646-8
- ↑ SA Fist (6 de diciembre de 2012), The Informatics Handbook: A guide to multimedia communications and broadcasting , Springer Science & Business Media, p. 372, ISBN 978-1-4615-2093-1
- ↑ Dana Blankenhorn; Kimberly Maxwell (1992), Technology edge: a guide to field computing , New Riders Publishing, p. 286, ISBN 978-1-56205-091-7
- ↑ Philip L. Becker (septiembre de 1991). Introducción a las comunicaciones de PC . Que. pág. 69. ISBN 978-0-88022-747-6.
- ↑ Alfred Glossbrenner (31 de marzo de 1993). Power DOS!: aprenda a manejar su PC como un maestro . Random House Information Group. pág. 368. ISBN 978-0-679-73924-1.
- ↑ "Preguntas frecuentes sobre Kermit: ¿Qué es SuperKermit?" . www.columbia.edu . Consultado el 16 de agosto de 2019 .
- ↑ da Cruz, Frank (15 de febrero de 2025). "Acerca de Kermit" . El Proyecto Kermit . Recuperado el 8 de abril de 2025 .
- ↑ "Sistema informático de vídeo Superbrain" . www.staff.ncl.ac.uk . Archivado del original el 15 de febrero de 2017. Consultado el 24 de febrero de 2017 .
- ↑ da Cruz, Frank (septiembre de 2011). "Archivo de código fuente del software Kermit" . Proyecto Kermit . Recuperado el 8 de abril de 2025 .
- ↑ "Software Kermit: Preguntas frecuentes" . Universidad de Columbia . Archivado del original el 23 de mayo de 2023.
- ↑ La oración anterior se basa en un texto copiado, el 30 de octubre de 2004, del Free On-line Dictionary of Computing , que está bajo la licencia GFDL .
- ↑ "C-Kermit 8.0 - Comunicación interactiva, transferencia de archivos y scripting a través de puertos serie, módems, Telnet seguro, Secure Shell (SSH), FTP y HTTP para Unix, VMS, QNX,..." Universidad de Columbia . Archivado del original el 16 de marzo de 2023.
Lecturas adicionales
- da Cruz, Frank (1987). Kermit: Un protocolo de transferencia de archivos . Bedford: Digital Press . ISBN 0-932376-88-6OCLC 751527576
- Panel de historia oral de Kermit . Museo de Historia de la Computación . 6 de abril de 2012.
- da Cruz, Frank (1983). Registros de Frank da Cruz Kermit . Museo de Historia de la Computación.
- Doupnik, Joe (13 de julio de 2012). "Historia oral de Joe Doupnik" . Museo de Historia de la Computación (Entrevista). Entrevistado por Alex Bochannek.
Enlaces externos
- Software de 1981
- protocolos de transferencia de archivos BBS
- Software de comunicación
- protocolos de transferencia de archivos
- emuladores de terminal
- Universidad de Columbia