Personal Distributed Computing: The Alto and Ethernet Software



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

1.3.What was left out


A number of ideas that might have been incorporated into the Alto system did not find a place there. In some cases we made deliberate decisions not to pursue them, usually because we couldn’t see how to implement them on the Alto within an interactive application. Classical computer graphics, with viewports, transformations, clipping, 3-D projection and display lists, falls in this category; one implementation of a computer graphics package was done, but it didn’t get used be­cause it took up too much of the machine. High-quality typesetting (as in TeX [24]) is another; doing this interactively is still an unsolved problem. Linking together a large collection of documents so that the cross-references can be quickly and easily followed, as Engelbart did in NLS [13] is a third. Most of these ideas were incorporated into Cedar.

We also did very little with tightly linked distributed computing. The 150 Altos at PARC could have been used as a multi-processor, with several of them working on parts of the same problem. But except for the Worm programs described in section 3, this was never tried. And, as we have already seen, the Alto system gave little atten­tion to high-level programming by users.

Other things were tried, but without much success. We built two file servers that supported transactions, one low-level database sys­tem, and several applications that used databases. In spite of this work, by 1984 databases still did not play an important role in the Alto system or its successors. This appears to be because the data in our applications is not sufficiently well-structured to exploit the capabilities of a database system. Most Unix users apparently have had similar experiences.

We also tried to apply ideas from AI to office systems, in particular from natural language understanding and expert systems. But ten years of work did not yield systems based on these ideas that were useful enough to make up for their large size and slow speed. A full-scale Lisp system was built for the Alto, but the machine proved too small for it in spite of much effort; this system was later successful on larger machines.

One important idea that would have been a natural application for the Alto was simply overlooked: spreadsheets. Probably this hap­pened because except for the annual budget planning and keeping track of purchase orders, there were no applications for spreadsheets in the research laboratory.

1.4.Overview


The Alto system software was begun in the middle of 1973. In October 1976 the Alto User’s Handbook was published [25]. It describes a system that includes an operating system, a display-oriented editor, three il­lustrators, high-quality printing facilities, and shared file storage and electronic mail provided by local network communication with a time­sharing machine. There were also two programming languages and their associated environments. This was a complete personal distrib­uted computing system; it met nearly all of the computing and infor­mation-handling needs of CSL and LRG.

The rest of this paper tells the story of the Alto system from the bottom up, except for the hardware, which is described elsewhere [56]. Section 2 covers programming: operating systems, program­ming languages, and environments. Section 3 presents the ba­sic communication facilities: Internet protocols, remote procedure calls, file transfer, and remote terminals. Section 4 discusses the servers that provide shared resources: long-term storage, printing, naming and mail transport.

The last two sections deal with the parts of the system that interact with users, which after all is the purpose of the whole enterprise. Section 5 considers the user interfaces: how the screen is organized into windows, how images are made, and how user input is handled. Section 6 describes the major applications, programs the user invokes to do some job with results that are useful outside the com­puter system. In the Alto system these are text editors, illustrators, electronic mail, and computer-aided design programs.

The conclusion reflects on the future of personal distributed com­puting and the nature of computer systems research.

Throughout I describe the Alto system in some detail, especially the parts of it that have not been described elsewhere. I also sketch its evolution into the Dorado system and the Xerox 8000 products (usually called Star). The “Dorado system” actually runs on three machines: Dolphin, Dorado, and Dandelion. These have different microengines, but the same virtual memory structure, and all the major programming environments run on all three systems. They differ in performance and availability: the Dolphin, with about twice the power of the Alto and ten times the memory, first ran in 1978; the Dorado, ten times an Alto, in 1979; the Dandelion, three times an Alto, in 1980. Star runs on the Dandelion and was announced in 1981. A fourth member of the family, the Dicentra, was designed as a server and runs only the Mesa envi­ronment.

Readers may be surprised that so much of this paper deals with software that has little or nothing to do with the display, since “screen flash” is the most obvious and most immediately attractive property of the Alto system. They should remember that the Alto system put equal emphasis on personal and on distributed computing, on interacting with the computer and on communicating through it. It also seems im­portant to explain the programming environment that made it possible to develop the large quantity of software in the Alto system.


2. Programming Environments


The Alto system is programmed in a variety of languages: bcpl, Mesa, and Smalltalk (see section 2.1). Each language has its own instruction set and its own operating sys­tem. The entire system has in common only the file system format on the disk and the network protocols. These were established by the bcpl operating system and did not change after 1976; they constitute the interface between the various programming environments.

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ə