Personal Distributed Computing: The Alto and Ethernet Software



Yüklə 130,31 Kb.
səhifə7/11
tarix17.10.2017
ölçüsü130,31 Kb.
#5459
1   2   3   4   5   6   7   8   9   10   11

4. Servers


The main use of distributed computing in the Alto system is to provide various shared services to the personal computers. This is done by means of servers, machines often equipped with special input-output devices and programmed to supply a particular service such as print­ing or file storage. Although there is no fundamental reason why a single machine could not provide several services, in fact nearly all the servers are Altos, and have no room for more than one server program.

4.1.Printing


Printing is the most complex and most interesting service in the Alto system. A considerable amount of research had to be done to build practical printers that can make high-quality hard copies of the arbi­trary images the Alto screen can display. The end product of this work at PARC was a printing system that stores many thousands of typeset pages, and can print them at about 40 pages per minute. The quality is fairly close to a xerographic copy of a professionally typeset version. All the documentation of the Alto system and all the technical papers, reports and memos written in the computer research laboratories were stored in the system and printed on demand.

There are several aspects of a printing service. First, there must be a printing interface, a way to describe the sequence of pages to be printed by specifying the image desired on each page as well as the number of copies and other details. Second, there must be a spooler that accepts documents to be printed and queues them. Third, there must be an imager that converts the image descriptions into the raster of bits on the page and sends the bits to the printing hardware at the right speed.

The spooler is fairly straightforward: Nearly all the printers in­clude a disk, accept files using a standard file transfer protocol, and save them in the OS file system on the disk for printing. Since imaging consumes the entire machine, it is necessary to interrupt printing to accept a new file, but file transfers are fast, so this is not a problem. The interfaces and the imagers are worth describing in more detail.

The main point of a printing interface is to decouple creators of documents from printers, so that they can develop independently. Four printing interfaces were developed for the Alto and Dorado sys­tems, each providing more powerful image description and greater in­dependence from the details of printer and fonts. The first, devised for the XGP printer by Peter Deutsch, is rather similar to the interfaces used to control plotters and dot-matrix printers nearly 15 years later: it consists of the ASCII characters to be printed, interspersed with con­trol character sequences to change the font, start a new line or a new page, justify a line, set the margins, draw a vector, and the like. The graphics capabilities are quite limited, and the printer is responsible for some of the formatting (e.g., keeping text within margins).

This interface, with its lack of distinction between formatting a text document and printing, proved quite unsatisfactory; there was constant demand to extend the formatting capability. All the later inter­faces take no responsibility for formatting, but require everything to be specified completely in the document. Thus line and page breaks, the position of each line on the page, and all other details are deter­mined before the document is sent to the printer. This clear separation of responsibilities proved to be crucial in building both good printers and good document formatters.

The second printing interface was designed by Ron Rider for use with the ears printer, the first raster printer capable of high-quality printing. The graphics capability of the ears printer is limited, and as a consequence the ears interface can only specify the printing of rectangles; usually these are horizontal or vertical lines. It does, how­ever, allow and indeed require the document to include the bitmaps for all the fonts to be used in printing it. Thus font management is entirely decoupled from printing in ears, and made the responsibility of the document creator. The great strength of this interface is the com­plete control it provides over the positioning of every character on the page, and the absence of restrictions on the size or form of characters; arbitrary bitmap images can be used to define characters. Font libraries were developed for logic symbols so that logic drawings could be printed, and other programs generate new fonts automatically for drawing curves.

After several years of experience with ears, the advent of two new printers stimulated the development of a new, printer-indepen­dent interface called Press, designed by William Newman and Bob Sproull. Its main features are a systematic imaging model, arbitrary graphics, and a systematic scheme for naming fonts rather than includ­ing them in the document, since font management proved to be too hard for document creators. Thus the printer is responsible for storing fonts, and for drawing lines and spline curves specified in the docu­ment. The device-independence of Press makes it possible to display Press documents as well as print them.

Press served well for about six years. In 1980, however, the devel­opment of general-purpose raster printing products motivated yet another interface design, this time called Interpress; it was done by Bob Sproull and Butler Lampson, with assistance from John Warnock [44]. The biggest innovation is the introduction of a stack-based pro­gramming language, which contains commands to draw a line or curve, show a character, and the like, as well as to manipulate the stack and call procedures. The document is a program in this language, which is executed to generate the image. This design provides great power for describing complex images, without complicating the inter­face. Interpress also has extensive provisions to improve device independence, based on experience in implementing Press for a vari­ety of printers. It handles textures and color systematically.

Imagers evolved roughly in parallel with interfaces. The task of generating the 10-25 million bits required to define a full-page raster at 300-500 bits/inch is not simple, especially when the printer can gen­erate a page a second, as most of those in the Alto system can. Further­more, the fonts pose a significant data-management problem, since a single typeface requires about 30 KBytes of bitmap, and every size and style is a different typeface. Thus one serif, one sans-serif and one fixed-pitch font, in roman, italic, bold, and bold italic, and in 6, 7, 8, 9, 101 12, 14, 18 and 24 point sizes, results in 108 typefaces; actually the system uses many more.

The first imager, written by Peter Deutsch, drove the Xerox Graph­ics Printer. This machine is slow (five pages/minute) and low resolu­tion (200 dots/inch); it is also asynchronous, so the imager can take as long as it likes to generate each line of the raster. Only crude imaging software was developed for it, together with a few fonts. Raster fonts were unheard of at the time, except in 5 X 7 and 7 x 9 resolution for terminals, or at very high resolution for expensive photo-typesetters. The XGP fonts were developed entirely manually, using an editor that allows the operator to turn individual dots in the roughly 20 x 20 ma­trix on and off. They had to be new designs, since it is impractical to faithfully copy a printer’s font at such low resolution. These XGP fonts were later widely used in universities.

The second imager drives ears, a 500 dot/inch, 1 page/second xerographic printer based on a Xerox 3600 copier engine and a raster output scanner developed at PARC by Gary Starkweather. ears is controlled by an Alto, but there is a substantial amount of special-purpose hardware, about three times the size of the Alto itself, to store font bitmaps and generate a 25 MHz video signal to control the printer. Both the imager and the hardware were developed by Ron Rider, with design assistance from Butler Lampson. This machine revolutionized our attitude to printing. The image quality is as good as a xerographic copy of a book, and it can print 80 pages an hour for each member of a 40-person laboratory (of course we never used more than a fraction of its capacity). A second copy of ears served as the prototype for the Xerox 9700 computer printer, a very successful product. Fonts for ears were produced using the Fred spline font editor described in section 6.

As Alto systems spread, there was demand for a cheaper and more easily reproduced printing server. This required a new printing engine, new imaging hardware, and a new imager. The engine was the Dover, also based on the 3600 copier, but at 384 dots/inch; its devel­opment was managed by John Ellenby. Bob Sproull and Severo Ornstein developed the Orbit imaging electronics based on a design by Butler Lampson; this is about half the size of the Alto that drove it, a better balance. Sproull and Dan Swinehart wrote the Spruce imager to accept Press files and drive the Dover and Orbit. About 50 copies of this system were made and distributed widely within Xerox and else­where. It was cheap enough that every group could have its own printer. Spruce includes the font management required by Press, and is normally configured with an 80 MByte disk for font storage and spooling. Although Press can specify arbitrary graphics, Spruce han­dles only lines, and it can be overloaded by a page with too many lines or small characters. These limitations are the result of the fact that Or­bit has no full-page image buffer; hence Spruce must keep up with the printer, and may be unable to do so if the image is too complex.

Another Press imager, confusingly also called Press, was built by Bob Sproull and Patrick Baudelaire to drive two slower printing en­gines, both at 384 dots/inch, and one able to print four colors. This imager constructs the entire 15 MBit raster on a disk, and then plays it out to the printer; this is possible because the engines are so much slower. It was the first Press imager, and the only one able to handle arbitrary images, by virtue of its complete raster store. Among other things, Press produced some spectacular color halftones.

The first Interpress imager was developed by Bob Ayers of SDD for the 8044 printer, part of the Xerox 8000 network product family. Subsequently Interpress imagers have been built for several other en­gines.



Yüklə 130,31 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   10   11




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə