Kermit (protocolo)
Kermit es un protocolo de gestión/transferencia de archivos informáticos 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 coherente para la transferencia de archivos, la emulación de terminales, la programación de scripts y la conversión de juegos de caracteres en muchas plataformas diferentes de sistemas operativos y hardware informático.
Técnico
El protocolo Kermit admite transferencias de archivos de texto y binarios en conexiones seriales de 8 y 7 bits de dúplex completo y dúplex medio de manera independiente del sistema y del medio, y se implementa en cientos de computadoras y sistemas operativos diferentes. plataformas del sistema. 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 turnos 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. En las conexiones a través de multiplexores estadísticos RS-232 donde no se pueden transmitir algunos caracteres de control, 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 se puede utilizar como un medio para iniciar 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 de binario a texto similar a BinHex. Por ejemplo, las computadoras compatibles con IBM PC y Apple con una tarjeta de compatibilidad instalada pueden conectarse a sistemas incompatibles, como una computadora central, para recibir MS-DOS Kermit en formato.boo. Luego, los usuarios pueden escribir un "bebé Kermit" en BASIC en sus computadoras personales que descarga Kermit y lo convierte en binario.
Del mismo modo, las máquinas CP/M usan muchos formatos diferentes de disquetes, lo que significa que una máquina a menudo no puede leer discos de otra máquina CP/M, y Kermit se usa como parte de un proceso para transferir aplicaciones y datos entre CP/M máquinas 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 está configurado para usar una tasa de baudios 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 de módem nulo, o en su defecto, una versión muy simple del protocolo Kermit se puede codificar a mano en binario en menos de 2K usando DDT, el CP/M Dynamic Herramienta de depuración. 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 para transferir cualquier aplicación o datos de CP/M.
Las versiones más recientes de Kermit incluían lenguaje de secuencias de comandos y automatización de comandos. El lenguaje de secuencias de comandos Kermit evolucionó a partir de su lenguaje de comandos inspirado en TOPS-20 EXEC y fue influenciado sintáctica y semánticamente por ALGOL 60, C, BLISS-10, PL/I, SNOBOL y LISP.
La corrección del protocolo Kermit se ha verificado con métodos formales.
Historia
A fines de la década de 1970, los usuarios de las computadoras centrales de la Universidad de Columbia tenían solo 35 kilobytes de almacenamiento por persona. Kermit se desarrolló en la universidad para que los estudiantes pudieran mover archivos entre ellos y disquetes en varias microcomputadoras del campus, como mainframes IBM o DEC DECSYSTEM-20 e Intertec Superbrains que ejecutan CP/M. Los mainframes de 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 integradas en Kermit. La primera transferencia de archivos con Kermit ocurrió en abril de 1981. El protocolo fue diseñado originalmente en 1981 por Frank da Cruz y Bill Catchings.
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 computadora 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 uso comercial; el proyecto era financieramente autosuficiente. Para uso no comercial, la Universidad de Columbia declaró que
Kermit es para que todos usen y compartan. Una vez que lo consigas, no dudes en pasarlo a tus amigos y colegas. Aunque está copyrighted y no en el dominio público, sólo pedimos que no intentes venderlo con fines de lucro, y que lo uses sólo con fines pacíficos y humanos.
Para 1988, Kermit estaba disponible en más de 300 computadoras y sistemas operativos. El protocolo se convirtió en un estándar de comunicación de datos de facto 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 tareas simples de estudiantes hasta resolver problemas de compatibilidad a bordo de la Estación Espacial Internacional. Fue portado a una amplia variedad de sistemas mainframe, minicomputadoras y microcomputadoras 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 TOPS-20 Kermit original. Las versiones posteriores de algunas implementaciones de Kermit también admiten conexiones en red y en serie.
Las implementaciones actualmente admitidas 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 quedan disponibles otras versiones.
A partir del 1 de julio de 2011, la Universidad de Columbia dejó de albergar este proyecto y lo lanzó al código abierto. En junio de 2011, el Proyecto Kermit lanzó una versión beta de C-Kermit v9.0 bajo una licencia BSD de 3 cláusulas revisada de código abierto.
Además de las implementaciones desarrolladas 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. El término "SuperKermit" fue acuñado por proveedores externos para referirse a implementaciones Kermit de mayor velocidad que ofrecen funciones como operación dúplex completa, ventanas deslizantes y paquetes largos; sin embargo, ese término fue desaprobado por el equipo original de Kermit en la Universidad de Columbia, quienes los vieron simplemente como características del protocolo central de Kermit.
Denominación y derechos de autor
Kermit lleva el nombre de Kermit the Frog de The Muppets, con permiso de Henson Associates. El icono del programa en la versión para Apple Macintosh era una representación de Kermit the Frog. No obstante, se creó un acrónimo, tal vez para evitar problemas de marca registrada, KL10 EFree Reciprocal Microprocessor I Intercambio sobre líneas TTY.
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. La página final de la licencia decía:
A partir de la versión 9.0 (a partir de la primera prueba de Beta), C-Kermit tiene una licencia de código abierto, la Licencia BSD revisada de 3 celdas. Todo el mundo puede utilizarlo como desee para cualquier propósito, incluyendo la redistribución y reventa. Puede ser incluido con cualquier sistema operativo donde funciona o puede ser hecho para trabajar, incluyendo versiones gratuitas y comerciales de Unix y Hewlett-Packard (antes DEC) VMS (OpenVMS). El apoyo técnico estará disponible en la Universidad de Columbia hasta el 30 de junio de 2011.
Contenido relacionado
RFA Sir Galahad (1966)
Volcado de memoria
Código Universal de Producto