This article includes alist of references,related reading,orexternal links,but its sources remain unclear because it lacksinline citations.(November 2023) |
This articlerelies largely or entirely on asingle source.(March 2024) |
In computer terminology, afill characteris acharactertransmitted solely for the purpose of consuming time. It does this by filling a timeslot on a data transmission line which would otherwise be forced to be idle (empty). In this way, fill characters provide a simple way of timing required idle times.
Fill characters are usually used in response to some real-world limitation. For example, mechanical computer printers such as the earliestdot matrix printersmay have been able to print 30 characters per second, but when a "carriage return" character was received and the printhead began returning to the left margin, there was a noticeable delay before the printing of the next line could begin. Unlike modern printers, these early printers contained essentially nobuffering,nor did they do anyhandshaking,so there would be no place to store the characters which would be received while the printhead was in the process of returning to the left margin, nor any way to tell the sender to temporarily stop transmitting characters. Instead, one or more fill characters would be transmitted to cover this time.
In its strictest definition, fill characters cause no action to be performed at all; they simply consume time. TheASCII"null" character is commonly used for this purpose. In actual practice with printers, though, one of the time slots that would otherwise contain a fill character was usually used to contain the "line-feed" character that caused the paper to advance by one line. For some printers (such asteleprinters), this was all the "filling" that was needed.
In some situations, the transmission delay that a fill character would provide could also be provided by using a useful but non-printing character. It is for this reason thatteleprinters(teletypes) sent their newline sequence as a Carriage-Return character followed by Line-Feed character rather than the other way around. Returning the printing mechanism to the left margin required up to about two character times and the reception of the Line-Feed character covered the additional delay time required. In addition, the teleprinter could act on the Line-Feed while the printing mechanism was still moving leftwards, optimizing the use of the data line.
As described above, printers commonly required fill characters when the carriage was returned to the left margin. With other equipment, fill characters were occasionally required in other circumstances. For example theVT05video terminal sometimes required fill characters when a "scroll up" operation was performed; the process of shuffling data in theshift registermemory of the VT05 was slow.
In a similar fashion, communications protocols often require fill characters at points when processing must be performed.
References
edit- van Dam, Andries (1 January 2003). "Justification".Encyclopedia of Computer Science.John Wiley and Sons Ltd. p. 944.ISBN978-0-470-86412-8.Retrieved29 November2023.