15

According to https://en.wikipedia.org/wiki/Xenix by the beginning of the nineties, SCO was selling 32-bit 386 versions of both Xenix and Unix. According to https://news.ycombinator.com/item?id=12235900 their Unix cost $1000, and I have an unsourced figure of $500 for Xenix. From the above Wikipedia article

SCO released its SCO UNIX as a higher-end product, based on System V R3 and offering a number of technical advances over XENIX; XENIX remained in the product line.

What exactly were the technical advantages that made their Unix worth more than Xenix?

rwallace
  • 60,953
  • 17
  • 229
  • 552
  • 6
    One starting point: Xenix was a port of UNIX system III, where SCO UNIX was a port of UNIX System V. – Jerry Coffin Feb 25 '21 at 04:25
  • 1
    @Jerry according to Wikipedia (I haven’t checked elsewhere), the last release of the 386 version of Xenix was based on SVR2. – Stephen Kitt Feb 25 '21 at 05:59
  • 3
    But I gather that the question is asking about the differences between Xenix and SCO UNIX at the time of the latter’s release, not the end of the Xenix line. – Stephen Kitt Feb 25 '21 at 06:08
  • 1
    I've heard that Xenix can run on a 8086 PC/XT but I wonder how since to my limited knowledge I never heard a PC/XT is shipped with an MMU unlike on 80286 platform. – Schezuk Feb 25 '21 at 06:38
  • 2
    @Schezuk Something ain't right...the PC/XT was an 8088 machine. There were definitely some 8086 machines that ran Xenix - e.g., Altos 586 - I had one, but I didn't know better at the time - what I knew was the CP/M & DOS world so I got it with MP/M-86 - which was actually quite nice, though I had to hack it a bit to get past some stupid limitations. – manassehkatz-Moving 2 Codidact Feb 25 '21 at 07:11
  • 3
    There was also a 286 version of Xenix but it was horribly slow. The 386 version was much snappier even when run on the same hardware. My first work PC when I started working in 1990 was a 386/33 and had Xenix 286 installed. After testing 2 or 3 things I reformatted the disk to install DOS 3.3. I was recruted for C embedded programming and was not in the DB division which used Informix on SCO-Xenix/Unix. – Patrick Schlüter Feb 25 '21 at 08:25
  • 3
    The differences between SCO-Xenix and SCO-Unix felt like comparing 2 Linux distributions that are 4 years apart, i.e. a lot of small details have changed but the global feel is the same. – Patrick Schlüter Feb 25 '21 at 08:27
  • @PatrickSchlüter that sounds like the starting point for a real answer ;-). – Stephen Kitt Feb 25 '21 at 08:34
  • 1
    @manassehkatz-Moving2Codidact My mistake. Sources claim that Altos 586 DID has a MMU, but it was debated here if it won't work with a 8086. https://retrocomputing.stackexchange.com/questions/7222/can-one-isolate-processes-on-a-8086/7226#7226 – Schezuk Feb 25 '21 at 08:41
  • 2
    @Stephen Kitt Sorry but it's been 30 years ago and I really tried hard to forget about all the SCO stuff we did at that time. I didn't use SCO that much. I only had to compile our device drivers for our ISA cards (X25 and BS2000 protocols). When something failed it was the boss who would fix the stuff. The C compiler was in fact the Microsoft compiler more or less the same as the one under DOS, but with 32 bits flat addressing on SCO-Unix. On the Xenix it had all the same memory models as on DOS (small, compact, far, huge, etc.). – Patrick Schlüter Feb 25 '21 at 08:51
  • 2
    Xenix required some sort of MMU. Some machines added an external MMU to support it. Microsoft's first distribution of Xenix for PCs included an ISA card. Xenix ran almost entirely on that card (which included its own CPU, MMU and memory) and the rest of the PC was basically treated as a bunch of peripherals. – Jerry Coffin Feb 25 '21 at 08:58
  • 1
    Wikipedia refers to a paper published in the 1984 USENIX Winter conference proceedings about porting Xenix to MMU-less 8086 systems, but I haven’t found a copy of it yet. – Stephen Kitt Feb 25 '21 at 09:26
  • 1
    @manassehkatz-Moving2Codidact First SCO Xenix did run on unmodified PC-XT (did need a HD). After all, that was their market: low end Unix. The segmented memory model of the 8086 is great for Unix as it supports everything needed. – Raffzahn Feb 25 '21 at 11:42
  • 1
    @Raffzahn My point was that if someone writes "run on a 8086 PC/XT" then the whole thing is suspect because there was no such beast - if it was a real IBM PC/XT, it was an 8088, not an 8086. From a software standpoint, little difference (except speed) between 8088 and 8086. But any time the facts are wrong, I question the conclusions. – manassehkatz-Moving 2 Codidact Feb 25 '21 at 15:12
  • 2
    @manassehkatz-Moving2Codidact A valid point, although it feels a bit too restrictive. There were many 8086 XT machines, just not from IBM. For example the Olivetti M24 (AT&T PC 6300). SCO sales were not restricted to IBM and said M24 were a good part of their business. As usual it's a matter of context, and here it seems about separation of 8086 vs 80286 (and 80386) based on their capabilities to support such an OS. I did read 8086 as generic term to describe all 16 bit CPU in real mode (86/88/186/188). Mentioning the subvariant 8088 only makes sense if it's only about that particular CPU. – Raffzahn Feb 25 '21 at 17:04
  • 2
    @Raffzahn There were plenty of machines in that era which were 8086 competing against both the IBM PC/XT 8088 and the IBM PC/AT 80286. But generally speaking when I hear specifically "PC/XT", that is a term referring to the actual IBM product. "PC" can be anything. "PC/XT", "PC/AT" are IBM-specific. If the line had simply been "run on a PC/XT" then I would have assumed (perhaps incorrectly) that it referred to an IBM PC/XT with an 8088 CPU - it was the mismatch that made me notice. – manassehkatz-Moving 2 Codidact Feb 25 '21 at 17:48
  • 2
    @manassehkatz-Moving2Codidact Well, I'd do the same - except this time the 8086 qualifier was added - most definitely making it a wider term then only IBM. Personally I consider abbreviation like PC/XT or PC/AT generic terms, unless prefixed by IBM. Which by teh way would have been written without a slash anyway. – Raffzahn Feb 25 '21 at 18:01
  • 1
    Valid point about the slash. I think PS/2 started the trend and now looking back we assume everything has a slash. – manassehkatz-Moving 2 Codidact Feb 25 '21 at 18:46

3 Answers3

21

Using SCO UNIX describes the history of XENIX and SCO UNIX and provides a brief summary of the technical differences.

As Raffzahn explains, SCO UNIX is the successor to XENIX. XENIX is a licensed version of UNIX; it was called XENIX because initially, AT&T didn’t allow its licensees to use the UNIX trademark. This was relaxed in 1989, which allowed SCO to use the trademark.

However there’s more than a name change to SCO UNIX compared to XENIX, enough to warrant a different pricing structure (at least, enough for marketing to justify a different pricing structure). SCO UNIX was intended to be a “more compatible” release, based on AT&T System V Release 3.2:

  • unlike XENIX, SCO UNIX could run any 386 System V binary;
  • SCO UNIX was POSIX conformant with a few minor exceptions;
  • SCO UNIX was X/Open conformant;
  • SCO UNIX was a DoD “trusted” system (capable of running at C2 security level).

On the technical side, SCO UNIX introduced the Acer Fast File System, and added a number of device drivers.

None of this would have been impossible to add to XENIX of course, and SCO could have released an updated version of XENIX with all the above. Renaming the product to “SCO UNIX” helped support the UNIX compatibility story, and allowed SCO to continue selling multiple products in parallel without introducing too much confusion:

  • XENIX 286 for 286 PCs;
  • XENIX 386 for users of 386 PCs requiring a small and fast operating system;
  • SCO UNIX for users interested in greater compatibility and security, at the cost of reduced performance on the same hardware.
Stephen Kitt
  • 121,835
  • 17
  • 505
  • 462
  • 2
    I wouldn't consider it really a big enough change - after all, Xenix went thru several changes S7 -> SIII -> SV before with simply changing it's version number, so going from R2.3 to R3.2 while adding a few feature seams no big issue. Or is it? In fact, as I understand it, they were still for most parts the same source tree. But yeah, marketing defies all logic - always :) – Raffzahn Feb 25 '21 at 11:31
  • 4
    Right, I agree it’s not so much about the changes themselves as marketing, with the availability of the name... – Stephen Kitt Feb 25 '21 at 11:35
  • 1
    Put another way, even if the reasoning behind the segmentation isn’t consistent compared to previous Xenix releases, there are technical differences between Xenix and SCO UNIX, which is what the question is about. – Stephen Kitt Feb 25 '21 at 12:08
  • True every new release contains new material. I just think it's important to point out that these are less than it might sound and the sales only overlapped in part like usual with release cycles, as the question seems under the assumptions there were many or fundamental ones. – Raffzahn Feb 25 '21 at 12:25
  • 1
    The licensing arrangement with AT&T may have incurred additional costs per down-stream license sold under the Unix name, or SCO may have been amortizing a large up-front expense in that regard. The bean counters may have worried that SCO-Unix would disrupt their current Xenix revenue streams. Really, all of the above may have contributed to the additional cost. – jwdonahue Feb 25 '21 at 20:42
  • Note that SCO OpenServer was the successor for Xenix - I remember doing Y2K updates to software written in Business Basic (BBx) that still used Xenix 286 binaries running on OpenServer 5.0.5. – Brian Apr 09 '21 at 14:22
8

What exactly were the technical advantages that made their Unix worth more than Xenix?

For most parts: The Name. Otherwise it's simply the next release of SCO's unixoide OS.

They were only sold in parallel for a short time (ca 1989/90). While the latest Xenix version was based on System V R2.3, SCO Unix started out as System V R3.2. But using the same driver interface as Xenix.

Xenix had a long history of development since ca. 1980, but when SCO acquired the rights to the Unix name, it was clear that an 'all new' product was to be released :))


Originally Xenix was developed by Microsoft. MS licenzed Unix V7 already in the late 1970s. They did, at that time, firmly believe that Unix would be the future OS for all of their products (they were a language company) - and most of the market. They did license the source code, but not the name, so they came up with Xenix as their brand name for Unix.

MS did not sell Xenix to end customers, they only OEMed it to other companies. Much the same way they sold MS-DOS only to OEM before DOS 3.2. Notable licencees were Intel, IBM, Tandy, Siemens (Sinix) or, well, SCO.

Xenix developed from being a System 7 over System III to System V related. Unlike often assumed, Unix does not need a fully fledged MMU, it only simplifies life. In fact, SCO's twist on Xenix was the low end market. Their Xenix 3.0 (System III alike at that time) was intended for IBM-PC (MS-Xenix did of course use 286 protected mode). Not a rocket, more a soap box racer, still, worked quite fine and covered a market other unixoid systems didn't.

It wasn't until the mid 1980's (85?) that SCO Xenix was as well available for 286 class machines - now System V alike. At a later point 386 got native support as well.

In the late 80s (1987?) MS sold all rights, code and customers of Xenix to SCO for a considerable stake in SCO. Now SCO did all development on their own.

Again later (1989?) SCO bought the right to the Unix name. After that the next major Xenix release was of course renamed SCO Unix. SCO Xenix was, under that name, still maintained for 3 years for existing customers - like other releases before - but otherwise the name was history.

Other MS licencees, like Siemens, continued their development independent way into the 90s and 2000s.

Omar and Lorraine
  • 38,883
  • 14
  • 134
  • 274
Raffzahn
  • 222,541
  • 22
  • 631
  • 918
3

One other difference: Xenix 2.3.2 did not have a block buffer cache. Every version of SCO Unixs I've used did.

Consequence: On an IBM PS/2 model 80 (?, 20 MHz 386, Micro Channel) the max throughput to the hard drive was 35 KB/s. On an AST Research 486 with a DPT SmartCache SCSI controller (high end for 1992!) we maxed out at 45 KB/s.

d3jones
  • 911
  • 4
  • 3