base di conoscenza
CTRL+F per cercare la tua parola chiave

Kermit (protocollo)

Kermit è un protocollo di trasferimento / gestione di file informatici e una serie di strumenti software di comunicazione utilizzati principalmente nei primi anni del personal computing negli anni '80. Fornisce un approccio coerente al trasferimento di file, all'emulazione terminale, alla programmazione di script e alla conversione di set di caratteri su diverse piattaforme hardware e di sistemi operativi.

Tecnico

Il protocollo Kermit supporta il trasferimento di file di testo e binari su connessioni seriali full-duplex e half-duplex a 8 bit e 7 bit in modo indipendente dal sistema e dal mezzo ed è implementato su centinaia di piattaforme di computer e sistemi operativi diversi. Su connessioni full duplex, viene utilizzato un protocollo a finestra scorrevole con ritrasmissione selettiva che offre prestazioni eccellenti e caratteristiche di recupero degli errori. Su connessioni a 7 bit, i turni di blocco forniscono un trasferimento efficiente dei dati a 8 bit. Se correttamente implementato, come nella collezione Kermit Software della Columbia University, i suoi autori affermano che le prestazioni sono uguali o migliori di altri protocolli come ZMODEM, YMODEM e XMODEM, specialmente su connessioni scadenti. Su connessioni tramite multiplexer statistici RS-232 in cui alcuni caratteri di controllo non possono essere trasmessi, Kermit può essere configurato per funzionare, a differenza di protocolli come XMODEM che richiedono che la connessione sia trasparente (ovvero che tutti i 256 valori possibili di un byte siano trasferibili).

Kermit può essere usato come mezzo per avviare altri software, anche se stesso. Per distribuire Kermit attraverso reti pulite non a 8 bit, Columbia ha sviluppato .boo , un sistema di codifica da binario a testo simile a BinHex. Dopo che un computer mainframe riceve Kermit MS-DOS in formato .boo, gli utenti possono digitare un "baby Kermit" in BASIC sul proprio computer che scarica Kermit e lo converte in binario.

Allo stesso modo, le macchine CP / M usano molti formati diversi di floppy disk, il che significa che una macchina spesso non può leggere i dischi da un'altra macchina CP / M e Kermit viene usato come parte di un processo per trasferire applicazioni e dati tra macchine CP / M e altri macchine con diversi sistemi operativi. Il programma PIP di copia file CP / M di solito può accedere alla porta seriale (RS-232) di un computer e, se configurato per utilizzare una velocità di trasmissione molto bassa (perché non ha una correzione errori integrata), può essere utilizzato per trasferire un piccolo , versione semplice di Kermit da una macchina all'altra tramite un cavo null modem, o, in mancanza, una versione molto semplice del protocollo Kermit può essere codificata manualmente in binario in meno di 2K usando DDT, lo strumento di debugging dinamico CP / M. Una volta fatto, la semplice versione di Kermit può essere utilizzata per scaricare una versione completamente funzionale. Tale versione può quindi essere utilizzata per trasferire qualsiasi applicazione o dato CP / M. Le versioni più recenti di Kermit includevano il linguaggio di scripting e l'automazione dei comandi.

La correttezza del protocollo Kermit è stata verificata con metodi formali.

Storia

Alla fine degli anni '70, gli utenti dei computer mainframe della Columbia University avevano solo 35 kilobyte di spazio di archiviazione a persona. Kermit è stato sviluppato all'università in modo che gli studenti potessero spostare file tra loro e floppy disk in vari microcomputer nel campus, come i mainframe IBM o DEC DECSYSTEM-20 e Intertec Superbrains che eseguono CP / M. I mainframe IBM utilizzavano un set di caratteri EBCDIC e le macchine CP / M e DEC utilizzavano ASCII, quindi la conversione tra i due set di caratteri era una delle prime funzioni integrate in Kermit. Il primo trasferimento di file con Kermit avvenne nell'aprile del 1981. Il protocollo fu originariamente progettato nel 1981 da Frank da Cruz e Bill Catchings.

La Columbia University ha coordinato lo sviluppo di versioni di Kermit per molti computer diversi all'università e altrove e ha distribuito il software gratuitamente; Kermit per il nuovo IBM Personal Computer è diventato particolarmente popolare. Nel 1986 l'università ha fondato il progetto Kermit, che ha assunto lo sviluppo e ha iniziato a far pagare tasse per uso commerciale; il progetto era finanziariamente autosufficiente. Per uso non commerciale, la Columbia University ha dichiarato che

Kermit è per tutti da usare e condividere. Una volta ricevuto, sentiti libero di trasmetterlo ai tuoi amici e colleghi. Sebbene sia protetto da copyright e non di dominio pubblico, ti chiediamo solo di non tentare di venderlo a scopo di lucro e di utilizzarlo solo per scopi pacifici e umani.

Nel 1988 Kermit era disponibile su oltre 300 computer e sistemi operativi. Il protocollo divenne di fatto uno standard di comunicazione dei dati per il trasferimento di file tra sistemi di computer diversi e all'inizio degli anni '90 poteva convertire codifiche di caratteri multilingue. Il software Kermit è stato utilizzato in molti paesi, per compiti che vanno dai semplici compiti degli studenti alla risoluzione dei problemi di compatibilità a bordo della Stazione Spaziale Internazionale. È stato portato su una vasta gamma di sistemi mainframe, minicomputer e microcomputer fino a palmari e calcolatrici tascabili elettroniche. La maggior parte delle versioni aveva un'interfaccia utente basata sull'originale TOPS-20 Kermit. Le versioni successive di alcune implementazioni di Kermit supportano anche connessioni di rete e seriali.

Le implementazioni attualmente supportate includono C-Kermit (per Unix e OpenVMS) e Kermit 95 (per versioni di Microsoft Windows da Windows 95 in poi e OS / 2), ma restano disponibili anche altre versioni.

Dal 1 ° luglio 2011, la Columbia University ha cessato di ospitare questo progetto e lo ha rilasciato all'open source. Nel giugno 2011, il progetto Kermit ha rilasciato una versione beta di C-Kermit v9.0 con una licenza BSD 3-Clause rivista Open Source.

Oltre alle implementazioni sviluppate e / o distribuite dalla Columbia University, il protocollo Kermit è stato implementato in numerosi pacchetti software di comunicazione di terze parti, tra cui ProComm e ProComm Plus. Il termine "SuperKermit" è stato coniato dai fornitori di terze parti per fare riferimento alle implementazioni Kermit ad alta velocità che offrono funzionalità come operazioni full duplex, finestre scorrevoli e pacchetti lunghi; tuttavia, quel termine è stato deprecato dal team Kermit originale alla Columbia University, che li vedeva semplicemente come caratteristiche del protocollo Kermit di base.

Denominazione e copyright

Kermit prende il nome da Kermit the Frog di The Muppets, con il permesso di Henson Associates. L'icona del programma nella versione Apple Macintosh era una rappresentazione di Kermit the Frog. Tuttavia, è stato creato un backronym, forse per evitare problemi di marchio, K L10 E rror-Free R eciprocal M icroprocessor I nterchange over the T TY lines.

Kermit è un protocollo aperto: chiunque può basare il proprio programma su di esso, ma alcuni software e codice sorgente Kermit sono copyright della Columbia University. A partire dalla versione 9.0 (a partire dalla prima versione di prova dopo Alpha.09), C-Kermit ha una licenza Open Source, la Licenza BSD revisionata a 3 clausole. Tutti possono usarlo come desiderano per qualsiasi scopo, compresi la ridistribuzione e la rivendita. Può essere incluso con qualsiasi sistema operativo in cui funziona o può essere fatto funzionare, comprese le versioni gratuite e commerciali di Unix e Hewlett-Packard (precedentemente DEC) VMS (OpenVMS). Il supporto tecnico è stato disponibile dalla Columbia University fino al 30 giugno 2011.