On Wed, May 11, 2022 at 10:45 AM Paul Winalski wrote: > On 5/10/22, Clem Cole wrote: > > a couple of small additions/corrections .... > > > > Ultrix was the formal > > name of DEC's first UNIX a product. > > Before that, Bill and Armando's engineering group was part of DEC's > Telephone Industry Group (TIG) marketing organization. Their charter > was to see that Unix and other AT&T software ran well on DEC hardware. > Mainly they did device drivers and some kernel mods. DEC was getting > increasing demand from those outside Telco who were running Unix to > get a DEC-supported Unix on the VAX. And so TIG engineering was split > off and did a full port and the result was called Ultrix. This > started in 1982 IIRC. > > > Famously, Bill Munson announced Ultrix at an early 1980s USENIX, > > reminding everyone that it meant Fortran, Cobol and the like would be > > coming too. Paul W and his mates in the Languages group had to do all > > sorts of stuff to make that so. I believe Paul has previously extolled > us > > with moving the VMS linker over to the Unix to support at least Fortran. > > FYI, Sun does not yet exist (Shannon is still working for Munson in NH). > > That was a very nasty bit of DEC internal politics. As soon as we in > DEC's software development tools departments (Technical Languages, > Commercial Languages, Methods & Tools) heard about the creation of > Ultrix, we began planning ports of the VAX/VMS compilers and other > pieces of the tool chain to Ultrix. We got immediate and fierce > push-back from the Ultrix engineering group. TIG had had a deeply > ingrained culture of resisting innovation. Their job was to make sure > Unix ran on DEC hardware, not to enhance Unix. Many of the Ultrix > engineers had a religious belief in keeping Unix pure and > platform-independent. Things available on only one hardware platform > were perceived as "vendor traps" and to be avoided. > That's kinda ironic. One of the biggest ticket items in the AUUG newsletters from the early days was how you can get FORTRAN, BASIC or MACRO-11 running under V6 or V7. There were several compatibility shims for RT-11 to accomplish this in a number of different ways. It was a big deal for many folks that needed to run their FORTRAN programs from a DEC OS, but wanted / needed to run Unix.... > The biggest fight was over Fortran. VAX Fortran was seen as the gold > standard in Fortran compilers by the Fortran R&D community and there > was a lot of demand for DEC to make it available on Ultrix. f77, the > Unix alternative, was, by comparison, considered a toy that lacked key > features. By careful cherry-picking the compiler people in the Ultrix > group managed to put together a suite of Fortran benchmarks that hit > all the glass jaws in the VAX Fortran optimizer. They claimed that > this showed that f77 produced code at least as good, if not better, > than VAX Fortran did. The VMS development tools group had better > things to do than argue with the Ultrix group, so the whole idea of > porting VAX/VMS tools to Ultrix was dropped. > It's clea*r* they'd forgotten the PDP-11 experience... > Many of the non-standard innovations in VAX Fortran were adopted by > IBM and other vendors under pressure from the Fortran community. By > 1985 DEC was losing sales to other vendors in the HPTC world due to > lack of VAX Fortran features in f77. The Fortran team in Technical > Languages and Environments had to do a rush-rush port of VAX Fortran > and its runtime library to Ultrix. We were rather teed off since we'd > proposed the same thing three years before and now it was a "we need > it yesterday" crash project. It was decided that it would take too > much time to teach the VAX Fortran code generator to produce a.out > object files and so instead we ported the VMS linker to Ultrix and > taught it to read and write a.out as well as VMS object files. The > result was called lk. As the developer in the software tools > organization who best understood linkers and object files (I'd written > a link editor in grad school when interning at IBM) I was put in > charge of the linker port. I've told that story already here in TUHS. > The macro-11 that was in 2BSD had its own companion linker that was basically the same. It could link in .OBJ files from other DEC tools as well... History repeated itself, eh? Warner > > It's about the time of the original Ultrix work is when I stopped paying > > attention to the PDP-11s, so there are gaps in my knowledge. Ultrix > > definitely was released as a binary product for the 11. My >>memory<< is > > the first version for the Vax was 4.1 based with some new defined support > > and languages, but that version may not have gone too far outside of DEC > > and until the 4.2BSD version was the first one for revenue. The first > > Ultrix-11 was V7+some set of BSDisms. I know Shannon's overlay code > went > > to UCB, but I'm not so sure when the BSD 11 changes came back to DEC. > > IIRC the 4.1 version of VAX Ultrix was their prototype. I think > PDP-11 Ultrix was just one of the existing Unix variants for the > PDP-11 with the "Ultrix" marketing label slapped on. We can't have > vendor traps, you know.... > > By the late 1980s the PDP-11/VAX style of CISC architecture had fallen > way behind RISC in terms of performance. Alpha wasn't ready yet. To > keep a toehold in the Unix marketplace, Ultrix was ported to the MIPS > architecture and a MIPS code generator was implemented for the GEM > back end so that DEC Fortran would be available. > > Unix was easier to port to Alpha than VMS was. Score one for writing > in a HLL and maintaining platform neutrality. Clem has told that > story here. Most of the VMS OS code was in assembler. A VAX MACRO > compiler front end had to be written that read VAX assembly code and > produced GEM intermediate language. To this day most of OpenVMS is > still in VAX MACRO. > > -Paul W. >