Some of those had really well established purposes, such as NUL (blank paper tape leader for threading, gaps, and splices), DEL ("crossed out" characters on paper tape indicated by punching all seven holes), BEL (ding!), CR, LF, and TAB.
#WHAT HAPPENS WHEN YOU HIT CTRL U CODE#
The 7-bit ASCII code has 33 code points devoted to control characters (0 to 31 and 127). So some convention was needed to signal that the sending end should pause to let the reader catch up. But as soon as CRT based terminals were possible, the problem arose that only about 25 lines fit on the CRT, and 25 lines of 80 characters represented enough RAM that no one thought seriously about providing more RAM for characters that had scrolled off the top of the screen. As long as the characters arrived no faster than the print head could type them, at least. The earliest terminals kept a printed record of every character received. By the time Unix was developing, the ASCII code was already well established (although the competing EBCDIC code from IBM was still a force to be reckoned with).
I thought I'd toss in a little history of this that is too long to fit in the margins of ak2's correct answer.īack in the dark ages, a terminal was a large piece of equipment that connected to a remote device (originally another terminal because teletypes were so much easier to learn to operate than a telegraph key) over a long wire or via phone lines with modems.