jmn (06/26/82)
Dave Ihnat made some comparisons of the size of the
source code listings of the UNIX kernel (small) with
the source code listings of the traditional operating
systems of Honeywell (G.E.), Univac, and IBM (large to
very large).
The model that Dave Ignat has advanced is that the
"traditional operating systems" have gotten to their current
state of feature fullness (call this ballooning of features
if you want to color it black) by a process of creeping
featurism ("this would be neat.....") carried out over many
years. Partly right. Mostly wrong.
The skeleton for IBM's OS/360, G.E.'s GECOS, UNIVAC's Exec8
were cast in the mid-60's. Then, as now, there were a
zillion features that users/customers wanted/required. It
was the hayday of the Multics and TSS projects, and these
projects sold lots of machines. Promises were made, with
contracts, to supply everything to everybody. (I was at the
SHARE meeting (1966?) where IBM formally decommitted on the
delivery of TSS. About 200 360/67 machines had been sold,
many to universities. What a wake........)
The OS/360, GECOS, Exec8 were much less "a promised land"
than MULTICS or TSS, but the functions were not skimpy.
Initial deliveries were a little bit raw, to say the least.
In time, the respective skeletons were fleshed out.
The original skeleton can be very much recognized in the
implementations being used today. Of course, features have
been added, machinery changed two or three times, and I
suspect that every piece of code has been rewritten at least
once. However, these systems were "born" feature full, and
have not changed much, expecially when these changes are
compared to the magnitude of changes in the computer
hardware.
(I am omitting from this discussion the transaction
processing features that have been added to the original
IBM, G.E., and Univac skeletons. These are sizable, with
the bulk of it implemented in common libraries, or utilities
that operate in a mode between that of UNIX kernel space,
and UNIX user space. The VAX hardware contains support for
kernel, executive, supervisor, and user modes and other
vendors have implemented similar hardware capabilities.)
(Why doesn't UNIX use these?)
The origins of UNIX are different. In the ashes of MULTICS
and TSS, UNIX started small, very small. It has evolved by
what was described to me as a survival of the fittest
mechanism. (Put a bunch of hackers in a pen, close door.
Once a year or two, open door, gather up any code that is
being used by 10 or more hackers, package it up and call it
a UNIX release.)
I do not regard UNIX as an operatong system for mini-
computers. A VAX with 4 Mbytes of memory on it is
comparable to, or bigger than the IBM 360/65, or G. E. 635,
or Univac 1108 which were the target machines for the
design of the "traditional operating systems" in the 60's.
The view advanced here of the evolution of the "traditional
operating systems" casts a different light on the question
of "whither goest UNIX". Rather than the viewpoint advanced
by Dave Ignat of
"Resist all feature changes to UNIX, least it grow
to the complexity of .........."
it becomes
"given that UNIX started as a small system and has
already grown considerably, is it feasible to
continue to add the necessary/desired features"
Of course, this leaves begging the question of whether or
not there are additional features that are necessary. I
believe that there are.
John M Nervikignatz (06/26/82)
John Nervik recently submitted a response to my query, "Whither- goest-UNIX?", which was an intelligent, informative, and welcome response. However, I will take minor exception with his position that the dinosaur execs I used as examples were, essentially, created with the whistles-and- bells already installed. This is, of course, very much true in most cases; esp. for the G. E. GECOS exec. But I will staunchly maintain that there is a continual tendency to load more and more functions into an exec, usually centering in expanding the file system capabilities. I will offer only one concrete example, as this is the one I am most recently intimately familiar with (I hate to admit it...): Honeywell's Level 6 GCOS. Note that this is NOT the original G. E. GCOS (originally GECOS..); it was redesigned and rewritten in the late '70s (I believe...it was before my involvment) by HISI (a bane on their house...) for the new, fantastic, modular Level 6. It was, in concept, very much a dinosaur-type exec, with strong Multics influence. Most particularly, the exec was intended to offer a very detailed and powerful file system, with sequential, direct-access, indexed, etc. files; intelligent comm protocol handlers; and a sophisticated set of exec services, access control, and a shell-like (but much more restricted) command interpreter. How close HISI came to this ideal (or, more accurately, how far they fell short) is a matter best discussed over many bheers; just look at where the Level 6 lives in the latest Datamation survey of micros. Many of the subsequent releases of GCOS 6 were to fix glitches and scrups. But, nevertheless, they are also packing even more into the exec. Specifically, a database (IDS II) has been grafted into the file system format; partitioned disks for the SMs; more exec calls. They intend--if they can remain solvent-- to pack even more into it in the future. Note that all of this is in the exec--to us, the kernel. Thus, while it is true that there were lots'n'lots of whistles in the original, there is also quite a trend to continue to pack it in later. And many of the suggestions for UNIX show a similar, if possibly unconscious, tendency to assume this is the way to go. Call my nattering a cautionary tale... Incidentally, UNIX wasn't a "shut 10 programmers in a room and take what results...". According to Ritchie and Thompson (Bell System Technical Journal, July-August 1978, Vol. 57, No. 6, Part 2, "The UNIX Time-Sharing System"), UNIX was "...not designed to meet any predefined objectives. The first version was written when one of us (Thompson), dissatisfied with the available computer facilities, discovered a little-used PDP-7 and set out to create a more hospitable environment." They go on to relate how others got interested and began to help. But it is, essentially, the brain- child of one man. I might suggest--probably superfluously, considering the audience--that the quoted issue of the BSTJ is a classic, and should be owned, and well-thumbed, by anyone who claims to be a unix-wizard/guru/user. Dave Ihnat Analysts International Corporation (contracted at) Bell Telephone Labs, Naperville (Indian Hill)
ignatz (06/26/82)
Apologies. Where I said, "...look where the Level 6 lives in the latest Datamation survey of micros...", I glipped. The Level 6 is a MINI, not a micro.... Dave Ihnat