[TUHS] PWB vs Unix/TS
imp at bsdimp.com
Wed Sep 11 13:53:19 AEST 2019
On Tue, Sep 10, 2019 at 9:17 AM Clem Cole <clemc at ccc.com> wrote:
> Below ... from memory - Someone like APS was a little closer to some of
> this than I was, so I might have a few things wrong. I don't think so, but
> it's been quite a few beers
> On Mon, Sep 9, 2019 at 2:26 AM Warner Losh <imp at bsdimp.com> wrote:
>> OK. I'm totally confused, and I see contradictory information around. So
>> I thought I'd ask here.
>> PWB was started to support unix time sharing at bell labs in 1973 (around
>> V4 time).
> No... that is not quite right. PWB was Mashey's project to build an RJE
> system to front end SW development for the IBM systems, which AT&T had a
> number [IIRC Call Accounting and lot of the 'business' part of the Bell
> System was mainframe based]. I think Dick Haight was also involved. I've
> forgotten the site there were at. It might have been Holmdel or Whippany.
> But it was not MH or Summit.
"The Programmer's Workbench was started in 1973,
<https://en.wikipedia.org/wiki/PWB/UNIX#cite_note-Mashey-2> by Evan Ivie
and Rudd Canaday to support a computer center for a 1000-employee Bell Labs
division" is what wikipedia says, though that reference is in a acm queue
article by Mashey...
PWB 1.0 was released just after V6 "based on" it.
> Well not so much "right after", but it was based on V6. There are
> differences. IIRC this was the first attempt at redoing how groups
> worked. The biggest additions were an IBM RJE support, SCCS and a
> different set of backup utilities; including some disk to disk (volcpy) and
> the original binary formatted program for 9-tracks (cpio) to replace
> Ken's assembler based tp.
Yes. PWB had their own collection of add-ons. I believe, but can't find the
reference, that there were frequent imports of Research Unix into PWB as I
saw references to UNIX/TS and CB-UNIX never getting too far away from
Research Unix, so that's kinda speculative... I imagine that SCCS was a
boon for keeping it all straight, but I've never actually used SCCS.
> SCCS was important and the RJE support was important because that was the
> system being used and it made a huge impression on AT&T staff. A terminal
> to a UNIX box was way cheaper and to the IBM and people were so much more
> Also remember, that tp(1) was written in assembler had been originally
> targeted to DECtape in a very early version of Research UNIX. The DECtape
> nature is why the directory was on the front of the tape. Ken moved it
> 9-track but used the same tape format. I don't remember who wrote stp
> (super-tp - in C), [?? Harvard ?? it's on the Harvard tape and is how I got
> it]. But better peripheral support was really important in Mashey's
> setting. In that world, the production computer system was being put in
> the raised floor computer rooms next to a mainframe and they had
> 'operators' so John and team started to think more about what was needed to
> admin the system. IMHO: this was the first heavy use of shell scripts,
> while I saw them in MH, it was Mashey's guys that cause me personally to
> have an ah-ha moment about them.
> Interestingly enough, and I have talked to Bourne and Mashey about it,
> John's use of the V6 was definitely one of the groups that were asking for
> a new shell, which Bourne set out to solve; but that is not yet available.
> At some point (and here is where we need Steve Johnson, aps, and I wish
> the late Ted Kowalski) to fill in details I can not. USG/Summit was
> chartered to "support UNIX for the Bell System." As I understand it, the
> genesis for their system was a kernel from MH that was moving towards V7s
> but not there yet, the 'Typesetter C' and a bunch of other utilities that
> Summit had collected/developed, but which I do not know. I think fsdb was
> around by that time. The new Bourne Shell and adb were being developed
> although how complete I'm not sure.
> But accept for the new shell and updated compiler, I remember the system
> 'felt' like V6 (Thompson shell) and thinking how much 'better' different v7
> (Bourne Shell was) when we finally got it. This earlier system is the one
> Ted brought to CMU in the fall 1977 (I think that is the right date) to
> update the V6 system were then running. Anyway, Ted always referred to
> this as a UNIX/TS kernel.
> Another thing we did not have SCCS or the RJE stuff. What I'm not sure
> of is if there was a formally release of what ted had. So it may have
> been that TS had them and sent the release to Mashey, although I don't
> think there were such releases originally in TS. FWIW: I believe that in
> our (CMU) case,Ted would just grab things as they appeared that he
> thought we needed at CMU and he pushed things back (like CMU's fsck as he
> found things we had that he thought we would like). Interestingly
> enough, RJE and SCCS was needed for the IBM support and while Ted (and his
> undergrad roommate, Bill Joy) had worked on the MTS system on the IBM's at
> UMich, I always felt like Ted looked down on the mainframes (which was were
> I had also emerged but from CMU's TSS team).
> Also, Ted was a die-hard original cpio user and I liked the user
> interface to stp, which I remember was a difference/source of argument.
> Tar did not yet exist. TS had some of the PWB tools like volcpy; but we
> were using DOS-11's similar but different backup scheme (I've forgotten
> the name of the format; but the tapes were boot-able, which volcpy tapes
> were not).
> FWIW: cu(1) did not yet exist. I wrote a program (that I tended to
> prefer in some ways for many years) called connect(1cmu) that did the same
> thing. We used it to download images to the Microprocessors like the
> KIM-1. It was originally written with the v6 portable C library, which is
> also what the original fsck used (it's what we had on v6). Ted introduced
> me to what would become stdio and one of my first tasks was using it with
> connect(1cmu). The other thing I remember about that program is it was the
> first time I wrote something that used two separate processes on a UNIX
> system that cooperated with each other and found it so much easier than on
> the PDP-10.
> Also, Dennis' stand-alone system for V7 was not yet available BTW. If I
> think of anything else about that system I can remember, I'll send an update
> PWB 2.0 was released just after V7, also "based on it".
> I think the confusion is that TS and V7 were done sort of at the same time
> and while the folks working on them talked to each other, it has never been
> clear to me who was behind TS. For instance, I would learn that Bourne was
> the 'project leader' for Seventh, in that he was the person that collected
> everything for it. I never heard of someone having the same role for TS,
> which is why I sometimes think it was a name inside of Summit, but never
> actually saw the light of day as a formal release. I really am not sure
> and would love to learn more details (I wish Ted were still alive to fill
> us in).
Several timelines have, without references, Unix/TS or some variant of that
going back to the V4 time frame. It's at best murky. There's some
references in https://wiki.tuhs.org/doku.php?id=misc:snippets:mert1 including
the post by Dan DeJegar which I had trouble parsing the ins and outs of.
> As for V7 itself, Ken wrote tar(1) in response to cpio (preferring an
> ASCII based header, but 'threading' it like cpio did, but keeping the user
> interface that tp/stp had). As I understand it, Dennis built up did the
> standalone toolkit stuff. Ken changed groups and messed with the file system
> in the kernel. Lots of new peripheral support, which is why he also
> added lseek() as disks overflowed a 16-bit integer for the seek position.
> Plus there were a number of other small changes between v6 and v7. Some of
> this stuff from PWB and Summit went back to MH (fsck as an example), but
> not everything (like cpio/volcpy/SCCS). I kind of think of the kernel and
> Typesetter C going from MH to Summit and the PWB teams.
> @Steve Johnson, I need your help here.... at some point PCC was created in
> MH (along with lint). Didn't that start on V6 but was not complete until
> V7? And when did you move to Summit to lead the compiler effort there? My
> impressions that was yet to happen, but I'm fuzzy on dates.
> Remember, there are a number of teams at BTL hacking on UNIX by then.
> Dale's team in Columbus, the crew in Indiana Hill, folks at Western
> Electric (the Teletype folks ported the Ritchie C to the Z80 at some point
> for instance), *etc.*
Yea, the Columbus crew added a lot to the different versions, and merged
from them, according to the above link and a few other sources.
> Again, I don't remember the politics but like any big company, you can
> imagine it was not all that clean and crisp. PWB 2.0 & 3.0 definitely
> picked up features from other UNIX systems. As I remember, Dale's shared
> memory hacks would beget System V Shared Mem, Semaphores and IPC (they are
> different, but they started in Columbus).
This jives with other information that says the basis of system V share
memory, semaphores and ipc were derived from CB-Unix...
> The other thing I'm not clear on is when the PWB team was folded into USG (Unix
> Support Group) in Summit. *I believe* that was after PWB 2.0 was
> released. But at some point, Mashey's team and the USG got interwoven.
> I really don't know/remember many of those details as I watched them from
> the outside and only knew the results. The key point is the PWB 2.0 would
> eventually be released as the internal, but official UNIX for the Bell
> System. It was supposed to bring together the needed from the different
> labs; but it was not >>officially<< released *outside of the Bell System*
> (it was an internal product, remember at this point, AT&T is not allowed to
> have computer products, etc...)
Yes. There's some confusion as PWB and UNIX/TS become a USG thing that
turns into System III and then the influx of CB-UNIX that's added before
System V. How all that relates to USG, I'm quite unclear on still...
> So PWB 2.0 is basically internal, and a melding of V7, TS, PWB 1.0 and
> starting to take things from different labs with in BTL -- different from
> all of them but mostly a superset.
>> Later Unix TS 3.0 would become System III.
> No --I do not think this is a true statement... not sure where you got
> that, more in a minute
>From the above recollection of Dan DeJAger...
> We know there was no System I or System II.
> But was there a Unix TS 1.0 and 2.0?
> This is where it gets sticky. I don't think so. TS was the original
> work by USG. What I do not know is if it ever was 'packaged' as PWB had
> been. *I do not believe it was*. I think a little like the way Research
> 'bled' out a little a time, pieces of TS made their way to MIT, CMU, *etc*.
> but never as a formal release.
I've seen lots of references to UNIX/TS, but no versions, so this makes
some sense... And it appears they go back further than V6...
> And were they the same thing as PWB 1.0 and 2.0, or somehow just closely
> See above... I'll explain how PWB 3.0 became System III in a minute.
>> And I've seen both Unix/TS and Unix TS. Is there a preferred spelling?
> Don't know. I remember Ted always called it UNIX/TS all caps.
> The thing you left out is how PWB 3.0 became System III.
> Two important issues. First with V7, AT&T (Al Arms) wrote the first
> binary system redistribution license. The commercial folks were happy to
> have a redistribution license, but the terms were not what they really
> needed. Much of the issue was that AT&T was not the computer hardware or
> software business and really did not understand the issues that the vendors
> had. Professor Dennis Allison of Stanford, was consulting for almost all
> of us in the computer industry at the time (for those that don't know
> Dennis, around the same time he founded what is now called the Asilomar
> Microprocessor Workshop (check out:
> Dennis arranged for a big meeting at Ricki's Hyatt in Palo Alto and
> invited Al Arms and team, plus a representatives from his clients. I was
> the techie with a lawyer from Tektronix in the room (as I have said in
> other emails this it is only time I have been in a meeting with Bill
> Gates). The folks I remember who were there: was Bill Munson and team from
> DEC; Fred Clegg and Team from HP; Bob MetCalfe from 3Com; Gates and the
> MSFT crew; folks from SCO and DG. There were some others, about 10 firms
> in total; although I think if remember correctly, IBM was not among them
> [This is the meeting where Gates famously exclaimed: "*You guys don't get
> it. The only thing that matters in the software industry is volume*."].
> BTW: The bits we were discussing was the upcoming release from USG, to be
> called PWB 3.0 and they were for the PDP-11 only (which was fine, that was
> what we all had been licensing already. We could still use things from
> other places, because that is what those other places were all licensed to
> have -- all was good in UNIX-land).
> Thus began a series of negotiations for a new license agreement that would
> allow the HW vendors to better ship UNIX as a binary product: FWIW: Gates
> wanted to pay $25/copy. The DEC, HP and DG folks laughed. $1K/copy was
> fine by them, since their HW was typically $50-150K/system.
> Either shortly after or maybe during the negotiations time, Judge Green
> ruled and AT&T got broken up. One of the things that occured is that AT&T
> was now allowed to sell SW and more importantly their new 3B20 as a product
> (against IBM and DEC). From a SW standpoint, AT&T Marketing did not like
> the 'Programmers' moniker, feeling that it would limit who they could sell
> too. So they rebranded the new software product 'System III.'
> Note the printing of the manuals had already begun, which is why the cover
> of the manuals say System III, but the title pages say PWB 3.0.
> As other have said a few years later, another PWB release came out for the
> Bell System, *a.k.a.* PWB 4.0; but this was not licensed outside.
> At some point later, negotiations had restarted on yet another license
> with the System III licensees and AT&T. By the time that completed, yet
> another release had been finished by USG. The biggest change was the
> addition support for HW besides the PDP-11. In particular, the official USG
> support for the VAX and the 3B20. What I forget, but I think in that
> license you had to declare a system type and most licensees picked the VAX.
> By the time of release and finalization of the license, AT&T Marketing
> which had already started the '*Consider it Standard*' campaign, called
> the new release "System V."
> AT&T Marketing would stay with System V moniker from then on and we know
> have SVR2, SVR3, SVR4, SVR5 in later years.
Yea, the detailed part of my history ends with the progeny of V7 (and I
only have room for some, I've found maybe 3 dozen different systems that
started out with V7 and then merge in System III or System V code for later
versions or some variation on this theme).
>> Thanks for all your help with this topic and sorting things out. It's
>> been quite helpful for my talk in a few weeks.
>> P.S. Would it be inappropriate to solicit feedback on an early version of
>> my talk from this group?
> I would suggest sending a pointer to this group to the slides and ask for
> people to send you comments privately.
Works for me. Let me update based on this and Steve's email.
>> I'm sure they would be rather keener on catching errors in my
>> understanding of Unix history than just about any other forum...
> Indeed - happy to help.
I am so very grateful for the help.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the TUHS