Kermit (protocollo) - Kermit (protocol)

Kermit
Protocollo di comunicazione
Scopo Trasferimento di file
Sviluppatore/i Università della Columbia
Introdotto 1981 ; 40 anni fa ( 1981 )
Sito web www .kermitproject .org

Kermit è un protocollo di trasferimento/gestione di file per computer e un insieme di strumenti software di comunicazione utilizzati principalmente nei primi anni dell'informatica personale negli anni '80. Fornisce un approccio coerente al trasferimento di file, all'emulazione di terminale , alla programmazione di script e alla conversione di set di caratteri su molti hardware diversi e piattaforme di sistemi operativi .

Tecnico

Il protocollo Kermit supporta i trasferimenti 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 diverse piattaforme di computer e sistemi operativi. Sulle connessioni full-duplex, viene utilizzato uno Sliding Window Protocol con ritrasmissione selettiva che fornisce prestazioni eccellenti e caratteristiche di ripristino degli errori. Sulle connessioni a 7 bit, gli shift di blocco forniscono un trasferimento efficiente di dati a 8 bit. Se implementato correttamente, 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. Sulle connessioni su multiplexer statistici RS-232 dove 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 tutti i 256 possibili valori di un byte per essere trasferibili).

Kermit può essere utilizzato come mezzo per avviare altri software, anche se stesso. Per distribuire Kermit attraverso reti non pulite a 8 bit , Columbia ha sviluppato .boo , un sistema di codifica da binario a testo simile a BinHex . Ad esempio, i PC IBM compatibili e i computer Apple con una scheda di compatibilità installata possono connettersi a sistemi altrimenti incompatibili come un computer mainframe per ricevere MS-DOS Kermit in formato .boo. Gli utenti possono quindi digitare un "baby Kermit" in BASIC sui loro personal computer che scarica Kermit e lo converte in binario.

Allo stesso modo, le macchine CP/M utilizzano molti formati di floppy disk diversi, il che significa che una macchina spesso non è in grado di leggere i dischi da un'altra macchina CP/M e Kermit viene utilizzato come parte di un processo per trasferire applicazioni e dati tra macchine CP/M e altre macchine con diversi sistemi operativi. Il programma di copia file CP/M PIP 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 degli errori incorporata), 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 utilizzando DDT, il CP/M Dynamic Debugging Tool. Una volta fatto, la versione semplice di Kermit può essere utilizzata per scaricare una versione completamente funzionante. Tale versione può quindi essere utilizzata per trasferire qualsiasi applicazione o dati CP/M.

Le versioni più recenti di Kermit includevano il linguaggio di scripting e l'automazione dei comandi. Il linguaggio di scripting Kermit si è evoluto dal suo linguaggio di comando ispirato a TOPS-20 EXEC ed è stato influenzato sintatticamente e semanticamente da ALGOL 60 , C , BLISS-10 , PL/I , SNOBOL e LISP .

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 di loro e floppy disk su vari microcomputer nel campus, come i mainframe IBM o DEC DECSYSTEM-20 e Intertec Superbrains con 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 è stata una delle prime funzioni integrate in Kermit. Il primo trasferimento di file con Kermit è avvenuto nell'aprile 1981. Il protocollo è stato originariamente progettato nel 1981 da Frank da Cruz e Bill Catchings.

La Columbia University ha coordinato lo sviluppo delle versioni di Kermit per molti computer diversi all'università e altrove e ha distribuito il software gratuitamente; Kermit per il nuovo Personal Computer IBM è diventato particolarmente popolare. Nel 1986 l'università ha fondato il Kermit Project, che ha rilevato lo sviluppo e ha iniziato a far pagare le tasse per l'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 ottenuto, sentiti libero di passarlo ai tuoi amici e colleghi. Sebbene sia protetto da copyright e non di pubblico dominio, 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 più di 300 computer e sistemi operativi. Il protocollo è diventato uno standard di comunicazione di dati de facto per il trasferimento di file tra sistemi di computer dissimili e all'inizio degli anni '90 è stato in grado di convertire codifiche di caratteri multilingue . Il software Kermit è stato utilizzato in molti paesi, per compiti che vanno dai semplici compiti degli studenti alla risoluzione di problemi di compatibilità a bordo della Stazione Spaziale Internazionale . È stato portato su un'ampia varietà 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 le 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 rimangono disponibili anche altre versioni.

A partire dal 1 luglio 2011, la Columbia University ha cessato di ospitare questo progetto e lo ha rilasciato come open source. Nel giugno 2011, il progetto Kermit ha rilasciato una versione beta di C-Kermit v9.0 con una licenza BSD a 3 clausole 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 gli altri ProComm e ProComm Plus . Il termine "SuperKermit" è stato coniato da fornitori di terze parti per riferirsi a implementazioni Kermit ad alta velocità che offrono funzionalità come il funzionamento full duplex, finestre scorrevoli e pacchetti lunghi; tuttavia, quel termine è stato deprecato dal team Kermit originale della Columbia University, che li ha visti semplicemente come caratteristiche del protocollo Kermit principale.

Denominazione e copyright

Kermit prende il nome da Kermit la rana dei Muppets , con il permesso della Henson Associates . L' icona del programma nella versione Apple Macintosh era una rappresentazione di Kermit la rana. Un backronym è stato comunque creato, forse per evitare problemi legati al marchio, K L10 E rror-Free R eciprocal M icroprocessor ho nterchange sopra T linee TY.

Kermit è un protocollo aperto: chiunque può basare il proprio programma su di esso, ma alcuni software e codice sorgente Kermit sono protetti da 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 Revised 3-Clause BSD License. Tutti possono usarlo come desiderano per qualsiasi scopo, inclusa la ridistribuzione e la rivendita. Può essere incluso con qualsiasi sistema operativo in cui funziona o può essere fatto funzionare, incluse le versioni gratuite e commerciali di Unix e Hewlett-Packard (ex DEC) VMS (OpenVMS). Il supporto tecnico era disponibile dalla Columbia University fino al 30 giugno 2011.

Guarda anche

Riferimenti

Ulteriori letture

link esterno