Kermit (protocol)

related topics
{system, computer, user}
{math, number, function}
{film, series, show}
{school, student, university}
{company, market, business}

Kermit is a computer file transfer/management protocol and a set of communications software tools primarily used in the early years of personal computing in the 1980s; it provides a consistent approach to file transfer, terminal emulation, script programming, and character set conversion across many different computer hardware and OS platforms.



The Kermit protocol supports text and binary file transfers on both full-duplex and half-duplex 8 bit and 7-bit serial connections in a system- and medium-independent fashion, and is implemented on hundreds of different computer and operating system platforms. On full-duplex connections, a Sliding Window Protocol is used with selective retransmission which provides excellent performance and error recovery characteristics. On 7-bit connections, locking shifts provide efficient transfer of 8-bit data. When properly implemented, as in the Columbia University Kermit Software collection, Columbia University's Kermit group claim performance is equal to or better than other protocols such as ZMODEM, YMODEM, and XMODEM, especially on poor connections.[1] On connections over RS-232 Statistical Multiplexers where some control characters do not transmit, Kermit can be configured to work, unlike protocols like XMODEM that require all 256 bytes be transmitted.


Kermit was developed at Columbia University in 1981 to allow students to transfer files between IBM or DEC DECSYSTEM-20 mainframe computers and removable media on microcomputers (initially Intertec Superbrains running CP/M). IBM mainframes used an EBCDIC character set and CP/M and DEC machines used ASCII, so conversion between the two character sets was one of the early functions built into Kermit.

Kermit can be used as a bootstrap. For example CP/M machines used many different floppy disk formats, which meant that one machine could not normally read disks from another CP/M machine, and Kermit was used as part of a process to enable the transfer of applications and data between CP/M machines and other machines with different operating systems. PIP with a very low baud rate (because it had no built-in error correction) could be used to transfer a small simple version of Kermit from one machine to another over a null modem cable, or failing that, a very very simple version of the Kermit protocol could be hand coded in binary in less than 2K using DDT, the CP/M Dynamic Debugging Tool. Once that was done the simple version of Kermit could be used to download a fully functional version. That version could then be used to transfer any CP/M application or data.[2]

Full article ▸

related documents
Video card
Desktop computer
Motorola 68060
IBM 7090
PA-RISC family
Datamax UV-1
Terminal emulator
Signalling (telecommunications)
Sequential logic
Interrupt latency
IEEE 802.2
Memory management
Classic (Mac OS X)
Digital-to-analog converter
Covert listening device
Motorola 68040
Frequency modulation synthesis
IEEE 802.3
Audio Interchange File Format
Television channel
Beowulf (computing)
Guru Meditation
Very high frequency