- Kermit (protocol)
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, andcharacter set conversion across many differentcomputer hardware and OS platforms.Technical
The Kermit protocol allows for transferring text and binary files 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, performance is equal to or better than other protocols such asZMODEM ,YMODEM , andXMODEM , especially on poor connections. On connections overRS-232 Statistical Multiplexers where some control characters don't transmit, Kermit can be configured towork, unlike protocols like XMODEM that require all 256 bytes be transmitted.History
Kermit was developed at Columbia University in
1981 to allow students to useremovable media onmicrocomputer s (initiallyIntertec Superbrain s runningCP/M ) to hold files fromIBM mainframes and DECDECSYSTEM-20 machines running theTOPS-20 operating system. IBM mainframes used anEBCDIC character set and CP/M and DEC machines usedASCII so conversion between the two character sets was one of the early functions built into Kermit.CP/M machines used many different
floppy disk formats, which meant that one machine could not normally read disks from another CP/M machine. PIP with a very lowbaud rate (because it had no built-in error correction) was used to transfer a small simple version of Kermit from one machine to another over anull 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.Over the more than 20 years since its inception, the Kermit protocol has evolved into a worldwide
de facto data communications standard, and the software has been used for tasks ranging from simple student assignments to solvingcompatibility problems aboard theInternational Space Station . [http://www.spacedaily.com/news/iss-03zq.html "International Space Station Incorporates Kermit"] (December 2003)] It has been ported to a wide variety of mainframe,minicomputer and microcomputer systems (some even say that C-Kermit is the second most portable program in the world, afterhello world program s); [ [http://www.info-zip.org/pub/infozip/UnZip.html#Footnote C-Kermit may be the second most portable program in the world] ] most versions had a user interface based on the original TOPS-20 Kermit. TheMS-DOS version of Kermit was developed in1983 . Later versions of some Kermit implementations also support network as well as serial connections.Implementations that are presently supported include C-Kermit (for
Unix andOpenVMS ) and Kermit 95 (for versions ofMicrosoft Windows fromWindows 95 onwards andOS/2 ), but other versions remain available as well. The Kermit protocol can still be used as a bootstrap and there is an apocryphal story about its legendary portability: "If your toaster has a microchip in it, someone somewhere has probably ported Kermit to it".Kermit was initially developed by and distributed for free by the Columbia University, until
1986 when Columbia founded the Kermit Project which took over development and started charging fees for commercial use. The project is self-sufficient.Muppets and copyright
Kermit was named after
Kermit the Frog from theMuppets . ["Kermit - What is it?" The Kermit Project. 26 Oct 2006. Columbia University. 11 Jul 2007 http://www.columbia.edu/kermit/kermit.html.] The program's icon in theApple Macintosh version was a depiction of Kermit the Frog. Abackronym was nevertheless created, perhaps to avoid trademark issues, "KL10 Error-Free Reciprocal Microprocessor Interchange over TTY lines."Kermit is an open protocol - anybody can base their own program on it, but some Kermit software and source code is copyright by Columbia University. ["Frequently Asked Questions." The Kermit Project. Columbia University. 11 Jul 2007 http://www.columbia.edu/kermit/faq.html#license.]
References
External links
* [http://www.columbia.edu/kermit/ Kermit project at Columbia University]
* [http://www.columbia.edu/kermit/dec20.html#kermit The DECSYSTEM-20 at Columbia University: Kermit]
Wikimedia Foundation. 2010.