Masters Theses

Date of Award

3-1984

Degree Type

Thesis

Degree Name

Master of Science

Major

Computer Science

Major Professor

Kenneth R. Kimble

Committee Members

Terry Feagin, David Straight

Abstract

The TEX document compiler produces a binary output file giving device independent instructions for typesetting the input text. For each output device to be interfaced to TEX, there exists a need for additional software to analyze the opcodes contained in the device independent (DVI) file, obtain raster information for the fonts given in the DVI file, typeset the page, and,finally, give device specific instructions that will output the typeset page to the specified de vice. Based on this need, such an interface has been developed between TEX and a Versatec plotter for the VAX-11/780.

The first area of investigation is the optimization of LVSPOOL, an interface (or spooler) between TEX80 (the predecessor of TEX82) and the Versatec plotter. Analysis of the program reveals that the processor spends a vast amount of time setting up I/O operations for reading numerous raster files. The VAX-11 has facilities available for mapping, instead of reading, disk files into the virtual memory of a process. Usage of these mapping facilities significantly reduces the buffered I/O count, CPU time, and elapsed time involved in the LVSPOOL process. Increasing the size of the output buffer and implementing a double buffering scheme further increases the efficiency of the program by reducing the direct I/O count and processor time for the process.

The second area of study is the development of software which interfaces TEX82 to the Versatec plotter. The program is designed to handle the expanded set of opcodes produced by TEX82, as well as the new format of the DVI and raster files. The code allows output to be placed vertically or horizontally on the page. Maximum I/O efficiency is obtained by mapping the raster files into virtual mem ory and by double buffering the output.

The third area of research is the design of a user interface to the TEX82 spooler which provides various modes of output. The interface is created by modifying the Digital command language via the Command Definition Utility. A program is developed which uses VAX-11 system service routines to create a command file that runs the spooler with the specified options. The spooler uses additional system ser vices to obtain the output parameters.

The thesis concludes with recommendations for future enhancements to the TEX82 spooler. Areas of code modification for interfacing to a laser printer, the Xerox 2700, are highlighted. Implementation of the spooler on the Motorola 68000 microprocessor is discussed. And, finally, suggestions are given for adding plotting capability.

Files over 3MB may be slow to open. For best results, right-click and select "save as..."

Share

COinS