Home      Discussion      Topics      Dictionary      Almanac
Signup       Login
Kermit (protocol)

Kermit (protocol)

Discussion
Ask a question about 'Kermit (protocol)'
Start a new discussion about 'Kermit (protocol)'
Answer questions from other users
Full Discussion Forum
 
Encyclopedia
Kermit is a computer file
Computer file
A computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable storage. A file is durable in the sense that it remains available for programs to use after the current program has finished...

 transfer/management protocol
Protocol (computing)
In computing, a protocol is a set of rules which is used by computers to communicate with each other across a network. A protocol is a convention or standard that controls or enables the connection, communication, and data transfer between computing endpoints...

 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
Terminal emulator
A terminal emulator, terminal application, term, or tty for short, is a program that emulates a "dumb" video terminal within some other display architecture....

, script
Scripting language
A scripting language, script language or extension language is a programming language that allows control of one or more software applications. "Scripts" are distinct from the core code of the application, which is usually written in a different language, and are often created or at least modified...

 programming, and character set conversion across many different computer hardware
Computer hardware
A personal computer is made up of multiple physical components of computer hardware, upon which can be installed an operating system and a multitude of software to perform the operator's desired functions.-Typical PC hardware:...

 and OS
Operating system
An operating system is an interface between hardware and user which is responsible for the management and coordination of activities and the sharing of the resources of the computer that acts as a host for computing applications run on the machine. As a host, one of the purposes of an operating...

 platforms.

Technical


The Kermit protocol supports text
Text file
A text file is a kind of computer file that is structured as a sequence of lines. A text file exists within a computer file system...

 and binary file
Binary file
A binary file is a computer file which may contain any type of data, encoded in binary form for computer storage and processing purposes; for example, computer document files containing formatted text...

 transfers on both full-duplex and half-duplex 8 bit and 7-bit serial
RS-232
In telecommunications, RS-232 is a standard for serial binary data signals connecting between a DTE and a DCE . It is commonly used in computer serial ports...

 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
Sliding Window Protocol
Sliding Window Protocol is a bi-directional data transmission protocol used in the data link layer as well as in TCP...

 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
Columbia University
Columbia University in the City of New York is a private university in the United States and a member of the Ivy League. Columbia's main campus lies in the Morningside Heights neighborhood in the borough of Manhattan, in New York City...

 Kermit Software collection, performance is equal to or better than other protocols such as ZMODEM
ZMODEM
ZMODEM is a file transfer protocol developed by Chuck Forsberg in 1986, in a project funded by Telenet in order to improve file transfers on their X.25 network...

, YMODEM
YMODEM
YMODEM is a protocol for file transfer used between modems. YMODEM was developed by Chuck Forsberg as the successor to XMODEM and MODEM7, and was first implemented in his CP/M YAM program...

, and XMODEM
XMODEM
XMODEM is a simple file transfer protocol developed as a quick hack by Ward Christensen for use in his 1977 MODEM.ASM terminal program. XMODEM became extremely popular in the early bulletin board system market, largely because it was so simple to implement...

, especially on poor connections.
On connections over RS-232
RS-232
In telecommunications, RS-232 is a standard for serial binary data signals connecting between a DTE and a DCE . It is commonly used in computer serial ports...

 Statistical Multiplexers
Statistical multiplexing
Statistical multiplexing is a type of communication link sharing, very similar to dynamic bandwidth allocation . In statistical multiplexing, a communication channel is divided into an arbitrary number of variable bit-rate digital channels or data streams. The link sharing is adapted to the...

 where some control characters don't transmit, Kermit can be configured to
work, unlike protocols like XMODEM that require all 256 bytes be transmitted.

History


Kermit was developed at Columbia University in 1981 to allow students to transfer files between IBM
IBM
International Business Machines Corporation, abbreviated IBM, is a multinational computer technology and IT consulting corporation headquartered in Armonk, Town of North Castle, New York, United States. The company is one of the few information technology companies with a continuous history dating...

 or DEC
Digital Equipment Corporation
Digital Equipment Corporation was a pioneering American company in the computer industry. It is often referred to within the computing industry as DEC...

 DECSYSTEM-20
DECSYSTEM-20
The DECSYSTEM-20 was a 36-bit Digital Equipment Corporation PDP-10 mainframe computer running the TOPS-20 operating system.PDP-10 computers running the TOPS-10 operating system were labeled DECsystem-10 as a way of differentiating them from the PDP-11...

 mainframe computer
Mainframe computer
Mainframes are computers used mainly by large organizations for critical applications, typically bulk data processing such as census, industry and consumer statistics, enterprise resource planning, and financial transaction processing.The term probably had originated from the early mainframes, as...

s and removable media
Removable media
In computer storage, removable media refers to storage media which is designed to be removed from the computer without powering the computer off.Some types of removable media are designed to be read by removable readers and drives...

 on microcomputer
Microcomputer
A microcomputer is a computer with a microprocessor as its central processing unit. Another general characteristic of these computers is that they occupy physically small amounts of space when compared to mainframe and minicomputers...

s (initially Intertec Superbrain
Intertec Superbrain
The Intertec Superbrain was an all-in-one commercial microcomputer first sold by Intertec in 1979. The machine ran the operating system CP/M and was somewhat unusual in that it used dual Z80 CPUs, the second being used as a disk controller...

s running CP/M
CP/M
CP/M is an operating system originally created for Intel 8080/85 based microcomputers by Gary Kildall of Digital Research, Inc...

). IBM mainframes used an EBCDIC
EBCDIC
Extended Binary Coded Decimal Interchange Code is an 8-bit character encoding used on IBM mainframe operating systems such as z/OS, OS/390, VM and VSE, as well as IBM midrange computer operating systems such as OS/400 and i5/OS...

 character set and CP/M and DEC machines used ASCII
ASCII
The American Standard Code for Information Interchange is a character-encoding scheme based on the ordering of the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that use text...

, so conversion between the two character sets was one of the early functions built into Kermit.

CP/M machines used many different floppy disk
Floppy disk
A floppy disk is a data storage medium that is composed of a disk of thin, flexible magnetic storage medium encased in a square or rectangular plastic shell. Floppy disks are read and written by a floppy disk drive or FDD, the initials of which should not be confused with "fixed disk drive," which...

 formats, which meant that one machine could not normally read disks from another CP/M machine. PIP
Peripheral Interchange Program
Peripheral Interchange Program was a utility to transfer files on and between devices on Digital Equipment Corporation's computers. It was first implemented on the PDP-6 architecture by Harrison "Dit" Morse early in the 1960s...

 with a very low baud
Baud
In telecommunications and electronics, baud is synonymous to symbols per second or pulses per second. It is the unit of symbol rate, also known as baud rate or modulation rate; the number of distinct symbol changes made to the transmission medium per second in a digitally modulated signal or a...

 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
Null modem
Null modem is a communication method to connect two DTEs directly using a RS-232 serial cable. The RS-232 standard is asymmetrical as to the definitions of the two ends of the communications link so it assumes that one end is a DTE and the other is a DCE e.g. a modem. With a null modem connection...

 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.

The Kermit protocol evolved through the 1980s into a de facto
De facto
De facto is a Latin expression that means "by [the] fact". In law, it is meant to mean "in practice but not necessarily ordained by law" or "in practice or actuality, but without being officially established"...

 data communications standard for transferring files between dissimilar computer systems. Kermit software has been used for tasks ranging from simple student assignments to solving compatibility
Compatibility
The term compatibility may refer to:* In biology:** Blood type compatibility* In computing:** Pin-compatibility** Computer compatibility*** Backward compatibility*** Forward compatibility* It may also refer to:** Astrological compatibility...

 problems aboard the International Space Station
International Space Station
The International Space Station is an internationally developed research facility currently being assembled in Low Earth Orbit. On-orbit construction of the station began in 1998 and is scheduled to be completed by 2011, with operations continuing until at least 2015...

. It was ported to a wide variety of mainframe, minicomputer
Minicomputer
A minicomputer is a class of multi-user computers that lies in the middle range of the computing spectrum, in between the largest multi-user systems and the smallest single-user systems...

 and microcomputer systems. Most versions had a user interface based on the original TOPS-20 Kermit. The MS-DOS
MS-DOS
MS-DOS is an operating system developed by Microsoft. It was the most commonly used member of the DOS family of operating systems and was the main operating system for personal computers during the 1980s. It was preceded by M-DOS , designed and copyrighted by Microsoft in 1979...

 version of Kermit was developed in 1983. Later versions of some Kermit implementations also support network as well as serial
Serial port
In computing, a serial port is a serial communication physical interface through which information transfers in or out one bit at a time...

 connections.

Implementations that are presently supported include C
C (programming language)
C is a general-purpose computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

-Kermit
(for Unix
Unix
Unix is a computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

 and OpenVMS
OpenVMS
OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is the name of a high-end computer server operating system that runs on VAX, Alpha and Itanium-based families of computers...

) and Kermit 95 (for versions of Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces...

 from Windows 95
Windows 95
Windows 95 is a consumer-oriented graphical user interface-based operating system. It was released on August 24, 1995 by Microsoft, and was a significant progression from the company's previous Windows products...

 onwards and OS/2
OS/2
OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal...

), but other versions remain available as well. The Kermit protocol can still be used as a bootstrap.

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.

Naming and copyright


Kermit was named after Kermit the Frog
Kermit the Frog
Kermit the Frog is one of puppeteer Jim Henson's most famous Muppet creations, first introduced in 1955. Kermit was performed by Henson until his death in 1990. Since then he has been performed by Steve Whitmire. He was voiced by Frank Welker in Muppet Babies and occasionally in animation...

 from The Muppets
The Muppets
The Muppets are a group of puppet characters created by Jim Henson. Individually, a Muppet is one of the puppets made by Jim Henson or his company's workshop...

. The program's icon
Icon (computing)
On computer displays, a computer icon is a small pictogram. Icons have been used to supplement the normal alphanumerics of the computer...

 in the Apple Macintosh version was a depiction of Kermit the Frog. A backronym
Backronym
A backronym or bacronym is a phrase constructed after the fact to make an existing word or words into an acronym. Backronyms may be invented with serious or humorous intent, or may be a type of false or folk etymology....

 was nevertheless created, perhaps to avoid trademark issues, KL10
PDP-10
The PDP-10 was a mainframe computer manufactured by Digital Equipment Corporation from the late 1960s on; the name stands for "Programmed Data Processor model 10"...

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.

External links