Mishkin@YALE.ARPA (01/10/84)
From: Nathaniel Mishkin <Mishkin@YALE.ARPA> From: Vaughan Pratt <pratt@navajo> Subject: Mishkin on Unix I thought Henry Spencer's comeback to Nat Mishkin's latest round of criticisms of Unix [V4#2] very a propos: Unix is ubiquitous, standard, and good. I would add a fourth quality: Unix is adaptable. The longterm experience with Unix has been that it is possible for Unix to adapt to new technology. This has been demonstrated for >16-bit addressing, virtual memory, interactive graphics, laser printers, networking, and distributed file systems, to name a few items. The adaptation of Unix to most of these technologies has been a nontrivial effort, and in some cases, notably DFS, an ongoing effort that has resisted smooth exporting. However Unix has demonstrated beyond all question that it is not a static system, with respect to either porting to other machines (the source of its ubiquity) or its adaptability to new technology. I think portability and extensibility are being confused here. I will grant you that Unix has proven to be very portable. But that could simply be a result of it's simplicity. I'm not trying to argue that Unix is not simple. I would argue that that very few interesting extensions have been made to Unix. The virtual memory case seems to have been how little can we do to take minimal advantage of virtual memory hardware support. Unix doesn't support any interesting or useful virtual memory managment tools (unless the 4.2 mapping calls made it in -- my understanding is that they didn't). I don't know about interactive graphics, but I don't see anything terribly Unix-specific there. As for laser printers -- the Unix software we got to drive our Imagen Imprint-10 is certainly nothing to write home about (part of it was simply hashed "lpd" code which only reminds me about the lack of files locking primitive -- yes, I know, 4.2 finally is supposed to solve this); and the software in addition to the actual spooling software (e.g. DVI -> Impress converter) isn't very Unix-specific. The 4.2 networking support is perhaps the good example of extension -- but it seems to me like it's the first major one. Only time will tell whether it manages to break the pattern of Unix half-solutions to problems. Unix DFS's are still too early to judge. From: Mike Caplinger <mike@rice> Subject: Re: Unix & Workstations One major advantage to running 4.2 Unix on our Suns is that we are then compatible with all the software we develop on our VAX systems. This is a terribly important consideration if you want to easily develop a network composed of different machines, and yet have it appear homogeneous to the user. As more manufacturers announce "4.2 Unix" for their new machines, this will only get more important. (One can only hope that they will be compatible with each other. So far, SMI and Berkeley are.) Good criticism #1. To some extent I think the incompatibilities can be overcome. The question came up before: exactly what degree of compatibility does one need and to what extend are non-Unix emulations going to be significantly poorer than supposedly "standard" Unix's produced by different manufacturers? I'm sure that Aegis and other new operating systems approach networks and workstations more elegently that Unix does, but as a proprietary system it seems unlikely that Aegis will run on anything but Apollo machines. If that's all you have, fine, but many are not in that position. Good criticism #2. Buying Apollo does raise this risk. However, there is an upside: centralized, organized, consistent development. If you believe that the company of which you are a "captive" has a good engineering staff and is committed to quality software, you get the benefit that sane system development can occur. It's not clear to me what and who the driving forces in the Unix world are going to be. In using Unix I have many times been frustrated by the phenomenon that many things that one would rightly expect to be part of the exported, released, documented environment (e.g. filename wildcard expansion routines; string routines to convert a string to upper case) aren't there. And what's worse, in the name of portability, people include these routines and packages as part of a particular program rather than developing a general library because if they did develop such a library they would (heaven forbid) have to distribute that library when they distribute the program (BBN is the only exception to this pattern that I have seen). With centralized AND responsive control from a single manufacturer, order and consistency can be made of the various ideas and packages. The ideas and packages can be smoothed and polished and documented and become part of a real release procedure. From: Tague%pco@CISL-SERVICE-MULTICS.ARPA Subject: Unix & Workstations I agree with Randy Saunders' remarks about the Unix system and its becoming a standard. Unix is not a bad operating system. Perhaps its most remarkable feature is that there are so many other systems that are much worse. I guess since the chance of getting a system worse than Unix is still pretty high, to say that one has Unix is to say that one meets a certain minimum standard. I hate to sound idealistic, but I thought we (that's you and me -- the computing professionals) had some say in what becomes a standard. Sure, real world software is sometimes driven by things other than "quality" as determined by the "elite" of the profession. But let's not act as if we had no say in how the world turns out. -- Nat