[TUHS] Earliest UNIX Workstations?

Warner Losh imp at bsdimp.com
Sun Jan 29 01:38:55 AEST 2023


On Sat, Jan 28, 2023, 4:05 AM Paul Ruizendaal <pnr at planet.nl> wrote:

>
> > On 28 Jan 2023, at 10:14, Lars Brinkhoff <lars at nocrew.org> wrote:
> >
> > Warner Losh wrote:
> >> Rich Salz wrote:
> >>> I'd like to know what the first versions of X were written in
> >>
> >> Without the earlier versions' source, it's hard to answer this
> question...
> >
> > V source code exists, right?  It seems likely W would have been written
> > in the same language as W.  And that early X would also be the same.
> > Another source of information would be to ask Bob Scheifler and Jim
> > Gettys.
>
> Whilst that is a reasonable assumption, I’m not sure it is true in this
> case. Bob Scheifler writes in 1986:
>
> "We acquired a UNIX-based version of W for the VSlOO (with synchronous
> communication over TCP [24] produced by Asente and Chris Kent at Digital’s
> Western Research Laboratory.”
>
> It does not say “C based”, but it is quite possible that the Unix port
> also meant moving to C.
>
> Also, the work started in June 1984 and had gone to version 10, release 3
> by February 1986. That is 12 versions in 20 months. Most likely X1-X10R2
> are all snapshots done in rapid succession.


X11 is the 11th version of the wire protocol. They bumped that number each
time there was a protocol change. It's not clear that all the early
versions were distributed beyond the local network. The Xlib book stated
something along these lines, but I can't find my copy to quote it or
refresh my recollection.


The change notes for X10R3 read as describing a work still in progress:
>
> http://www.retro11.de/ouxr/43bsd/usr/src/new/X/CHANGES
>
> That “work-in-progress” feel also shows in the Xterm README:
>
> "Xterm is in a reasonably usable state.  We are sick and tired of working
> on it, but there are clearly major areas of improvement possible.  Do
> not look to us to do more than integration work on other people's
> improvement.  About 50% of it is the oldest existing code in the package
> and needing major rewrite.  Our thanks to Bob McNamara for the 50% which
> is solid."
>

Rolling releases were quite common. They went out of style for a while, but
are back in vouge with CI....

The README for the X server itself (written in August 1985 it seems,
> http://www.retro11.de/ouxr/43bsd/usr/src/new/X/X/README) says:
>
> "The server has been completely rewritten several times now, and I am
> reasonably
> happy with it.  I have fine-tuned it specifically for the current
> (sub-optimal)
> VAX compiler.  For other machines, faster code may be obtained in some
> cases
> by changing sizes (e.g., to avoid indexing shifts on the 68000) or register
> declarations.  Attempts to parameterize along these lines have only been
> made
> for the byte-swapping code.”
>
> So there were several rewrites from Summer 1984 till Summer 1985. In case
> the first version was in CLU, it would seem that the change-over to C
> happened in the very first months of the code base’s lifespan.
>

Most likely the CLU library bindings in X10R3 are a hold over from other
software other departments were still using given the fast pace here...

The next paragraph as to the state of the code base at this time is
> revealing:
>
> Unfortunately, a great many invariants are not written down.  Hopefully you
> will spend a few weeks understanding the code before you muck with it.  If
> something seems easy to add or change, you probably forgot something
> important.
> Almost everything depends on everything else.  It is almost impossible to
> devise rigorous test cases.  Innocuous looking changes can have large
> performance effects, so watch out.  If you muck with fundamental window
> components, a good cross-check is to see how quickly you can manipulate a
> window with, say, 100 non-adjacent subwindows.
>
> After reading the above, Jon Steinhart’s post from 5 years ago about X is
> all the more interesting:
> https://minnie.tuhs.org/pipermail/tuhs/2017-September/012089.html


I'd forgotten about that...

Warner

>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20230128/4653a8c3/attachment-0001.htm>


More information about the TUHS mailing list