's DeVice Independent output file format
contains low level
page formatting command
s 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
is also independent of the hardware characteristics of the particular computer
used to perform the translation (for instance, DVI
uses no floating point
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.