From: utzoo!decvax!harpo!npois!jmn
Newsgroups: net.unix-wizards
Title: Whither-goest-UNIX?
Article-I.D.: npois.1401
Posted: Fri Jun 25 17:04:45 1982
Received: Mon Jun 28 06:11:20 1982

       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 Nervik