Kermit (protocolo)


Kermit es un protocolo de transferencia / gestión de archivos informáticos y un conjunto de herramientas de software de comunicaciones que se utilizan 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 de sistemas operativos y hardware informático diferentes .

El protocolo Kermit admite transferencias de archivos de texto y binarios en conexiones seriales de 8 y 7 bits de dúplex completo y semidúplex de forma independiente del sistema y del medio, y se implementa en cientos de plataformas informáticas y de sistemas operativos diferentes. En conexiones full-duplex, 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 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 sobre 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, los 256 valores posibles de un byte ser transferible).

Kermit se puede utilizar como un medio para arrancar otro software, incluso él 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 las computadoras Apple con una tarjeta de compatibilidad instalada pueden conectarse a sistemas que de otro modo serían incompatibles, como una computadora central, para recibir MS-DOS Kermit en formato .boo. Los usuarios pueden escribir un "Kermit bebé" en BASIC en sus computadoras personales que descarga Kermit y lo convierte en binario.[2] [3]

De manera similar, las máquinas CP / M usan 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 usa 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 serial de una computadora ( RS-232 ), y si está configurado para usar una velocidad de transmisión muy baja (porque no tiene corrección de errores incorporada) se puede usar para transferir una pequeña , versión simple de Kermit de una máquina a otra a través de un módem nulocable, o en su defecto, una versión muy simple del protocolo Kermit se puede codificar manualmente en binario en menos de 2K usando DDT, la herramienta de depuración dinámica 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 utilizar para transferir cualquier aplicación o datos de CP / M. [4]

Las versiones más recientes de Kermit incluyen lenguaje de programación y automatización de comandos. [5] El lenguaje de scripting Kermit evolucionó a partir de su lenguaje de comando inspirado en TOPS-20 EXEC [6] y fue influenciado sintácticamente y semánticamente por ALGOL 60 , C , BLISS-10 , PL / I , SNOBOL y LISP . [7]

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 fue desarrollado en la universidad para que los estudiantes podrían mover archivos entre ellos y los disquetes en varios microordenadores alrededor del campus, [9] [10] [11] tales como IBM o DEC DECSYSTEM-20 ordenadores centrales y Intertec supercerebros correr CP / M . Los mainframes de IBM usaban un juego 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. [12] [13]