(La)TeX's
DeVice Independent output file format.
DVI contains
low level page formatting
commands which let a
program describe a page accurately. The description is
independent of the particular characteristics of the
output device used to
render the
DVI file.
Output is also independent of the hardware characteristics of the particular
computer used to perform the translation (for instance,
DVI uses no
floating point math).
DVI output looks "the same" on all devices.
DVI predates PostScript. However, there are also some important differences between the two. PostScript is a complete page description language; it is a Turing complete programming language. This means that there is no good way of determining characteristics of the output (e.g. pages and page numbers) by examining the file, except by running it. For this reason almost all generated PostScript follows the Adobe Document Structuring Conventions, which supply such "meta-information" inside PostScript comments. DVI is a much weaker language; it encodes no formatting decisions, so it is very easy for a program to count pages and perform similar operations.
DVI also has a facility for encoding device dependent "specials". Some devices have features not available on other devices. For instance, while including an EPS file is trivial on a PostScript output device, it is not possible to do so on other devices (save by running a PostScript interpreter like GhostScript in the translation program). Thus, TeX packages allow inclusion of EPS files via the use of appropriate specials. Of course, the translation program must be aware of the special, in order to render it correctly on the output device.