
History of Xenix – Microsoft's Forgotten Unix-Based Operating System - aburan28
https://fossbytes.com/xenix-history-microsoft-unix-operating-system/
======
pmontra
> Even though it came first, Unix was probably more powerful than MS-DOS.

This is the understatement of the decade. Of course it was more powerful. I
used Xenix in 1987 on an IBM PC, probably a 80286. It was a Xenix/MS-DOS dual
booting system. Multiuser and multitasking with Xenix or single user and
monotask with MS-DOS.

I used various flavors of Unix on Z8000 or 68k architectures in those years.
All of them were obviously better than MS-DOS.

~~~
gravypod
Hey I know this is super off topic but can you please email me? I'm in the
process of fixing an old computer (an i486 'portable' system) and I need to
find some stuff to get it up and running. I'm looking for someone who can
point me to where I can find a bootable 5 1/4 drive to see if my IO card is
good. I have asked a few professors at my college but all of them have cleaned
out their old hardware.

I know this may be strange but there aren't many people left that can debug
these kinds of systems. Sorry for disturbing this thread!

~~~
pmontra
Those computers I wrote about are gone a long time ago. I don't know where to
look for those components. Maybe ebay?

~~~
gravypod
I've looked, nothing bootable sadly. I hope some day someone sees this message
and emails me. I'd be willing to pay at least 10 bucks + shipping for a DOS
image or something.

~~~
hexscrews
Not sure if this will help any.
[http://www.emsps.com/oldtools/msdos.htm](http://www.emsps.com/oldtools/msdos.htm)
I also read about using a CF to IDE adapter.
[http://www.yqcomputer.com/1118_467_1.htm](http://www.yqcomputer.com/1118_467_1.htm)

~~~
gravypod
I could make the image provided I had both a 5 1/4 floppy drive and an actual
5 1/4 floppy. I don't have either of those for my new computers.

It's like trying to write a DVD with no burner. Where do you have a computer
that still has a DVD drive burner? Same problem I'm having.

~~~
pmontra
My laptop came with a DVD burner a couple of years ago. Maybe used once. I
swapped it with a 1 TB SSD earlier this year but I can connect it with USB if
I have to.

------
david-given
That's not much of an article --- this one has a lot more information:

[http://www.softpanorama.org/People/Torvalds/Finland_period/x...](http://www.softpanorama.org/People/Torvalds/Finland_period/xenix_microsoft_shortlived_love_affair_with_unix.shtml)

pcjs.org has a Xenix image in its library, but no preconfigured example.
Anyone know enough about pcjs to set one up?

~~~
throw2016
Fascinating, missed this earlier. There is a lot of revisionism today and I
think Gates always gets the short end of the stick.

It took a lot of work to build Microsoft and the PC industry with it.
Hopefully in later years he will be redeemed.

Given the first instinct is always to be closed and profit the openness of the
PC ecosystem must have taken gargantuan effort to build. Gates clearly
believed in more accessibility, affordability and wider outreach for computing
than closed systems in some deeper way, whatever his motives and the outcome
on hindsight completely blew open the floodgates.

Thanks to that we have open systems on PCs instead of closed blackboxes and a
massively rich ecosystem. This in itself is an impressive achievement.

~~~
pjmlp
People tend to forget before the PC all the other systems had vendor specific
hardware and with OSes being burned in ROMs, upgrading meant buying a new
computer, sounds familiar?

Also, back in the day, at least in Portugal, many of us dreamed to work at
Microsoft and usually applied to work there at the end of the CS degree.

~~~
TheOtherHobbes
ROM boot was only true of 8-bit micros. The standard for mainframes and minis
was to boot an OS from tape/disk/(paper tape.)

OS choices and OS upgrades happened regularly. You could run all sorts of
things on a PDP/11, VAX, DG Nova, etc.

~~~
pjmlp
No, it was also the way in the Amiga, Mac and Atari, the floppies only had a
partial implementation, all 16 bit.

As for the mainframes and minis, I never worked with them, besides the AS/400.

But from my collection of old papers and manuals, many of them had "bytecodes"
with microcoded execution (more higher level than plain CISC Assembly) burned
on their processors.

~~~
slrz
Yes, some were microcoded. And you were able to replace that microcode with
your own creations!

See for example this paper, where they took a VAX and rewrote its microcode so
that it executed instructions for the Warren Abstract Machine, the output
format of their Prolog compiler.

It's like you would reprogram your Core i7 to directly consume JVM bytecode.

[http://hps.ece.utexas.edu/pub/gee_micro19.pdf](http://hps.ece.utexas.edu/pub/gee_micro19.pdf)

~~~
pjmlp
Thanks for the link.

I was a big Prolog fan during my degree.

------
hapless
In the 1980s, XENIX 286 was able to use the 286 protected mode to deliver real
protected memory and pre-emptive multitasking on a PC-AT. That more or less
guaranteed a certain market share, because a PC-AT was a _lot_ cheaper than
anything with a 68k or a 386.

Xenix was successful because it delivered a lot of bang for the buck. It ran
on relatively inexpensive hardware and delivered a lot of UNIX flavor despite
the limitations.

Really early versions of Xenix would run on an actual 8086, with no protected
memory whatsoever. I don't think any other UNIX ever managed that.

~~~
memracom
Back then I built systems with Xenix on a PC-AT that had three simultaneous
users, one on the console and two WYSE-60 terminals attached to the serial
ports. The system ran a database server and the applications that I built to
manage factory inventory and orders.

Mind you, on a 4.77 Mhz PC at home, I ran Windows 1.0 and used it to multitask
two sessions. In the foreground GUI I used Notepad to write C code, while the
DOS session in the background ran the compiler. Back then compiling took a
long time. Few people even then realized that Windows 1.0 did real pre-emptive
multitasking on the original IBM-PC between the front-end GUI and a backend
DOS session.

~~~
yuhong
It was not preemptive.

~~~
xenadu02
It depends. The Windows 3.x 386 "enhanced" mode kernel was in fact what we
would call a "hypervisor" today. A 32-bit hypervisor to be specific. It ran
16-bit Windows applications inside one VM, along with any number of DOS VMs.
The VMs themselves were preemptively multitasked, but the design of the 16-bit
Windows API prevented preemption in that VM (a problem also faced by Apple).

If you weren't using an "real-mode" drivers then it never bothered to talk to
DOS, it just did everything itself... for example the "32-bit disk mode" stuff
was a 32-bit disk and filesystem driver that completely replaced DOS disk
routines.

Microsoft being Microsoft, if you had DOS TSRs, DOS drivers, or other random
DOS crap they would hook those things and drop down to real mode to call them
the way they expected to be called... going so far as synchronizing the DOS
in-memory data structures before and after the calls to make sure the lie was
as complete as possible.

~~~
yuhong
OP was talking about Windows 1.0 not Windows 3.0

------
jecel
[https://archive.org/details/byte-
magazine-1981-06](https://archive.org/details/byte-magazine-1981-06) has a
very good description of Xenix starting on page 248. This was just before the
IBM PC was announced.

In page 286 of [https://archive.org/details/byte-
magazine-1983-11-rescan](https://archive.org/details/byte-
magazine-1983-11-rescan) one of the main advantages of MS-DOS 2.0 is supposed
to be its Xenix compatibility. That is why MS-DOS 1 had CP/M style system
calls while MS-DOS 2 added Unix style ones.

At that time Microsoft was thinking that eventually MS-DOS and Xenix would be
merged into a single operating system (I read it in yet another Byte article
but can't look for it right now) but things ended up going in a different
direction.

------
nickpsecurity
One thing INFOSEC people might find interesting about Xenix is the re-
implementation done by Trusted Information Systems: Trusted Xenix. It was the
first, certified, security-oriented UNIX that had a combo of features for
extra security plus backward compatibility with Xenix apps. These included
trusted path, mandatory controls, integrity controls to limit viral damage,
some suppression of covert channels, and especially their solution to setuid
problem. That they published a solution while mainstream UNIX just kept the
problem around was an early illustration of a recurring problem in mainstream
INFOSEC where prior, proven solutions get ignored.

Here's the evaluation report with all of its security features and such for
anyone interested in learning about it. Or comparing it to security of modern
UNIX's:

[http://webapp1.dlib.indiana.edu/virtual_disk_library/index.c...](http://webapp1.dlib.indiana.edu/virtual_disk_library/index.cgi/1347159/FID1806/library/fers/csc-
epl-92-001-a.ps)

Particularly interesting to compare it to SELinux, FreeBSD w/ SEBSD, or
OpenBSD.

------
bryanlarsen
The story I heard was that the reason MS-DOS stagnated for a while in the
mid-80s was that Microsoft considered Xenix "the future".

Then the legal uncertainty around Unix copyrights started happening and the
need for a cross-platform system evaporated because PC's won, so Microsoft
shifted to Windows and OS/2 as its future.

~~~
jacquesm
OS/2 was produced by IBM, not MS.

~~~
terrymah
It was a joint project, with ms eventually pulling out to work on NT

~~~
bryanlarsen
NT was originally known as OS/2 3.0.

~~~
azinman2
Pre-warp then. Those WARP commercials made me really want it when I was a kid,
even though they (on purpose) never communicated what was so amazingly bout
it.

------
anexprogrammer
Not forgotten here. My second job had some TRS80 68000 systems running Xenix
and 6-10 terminals.

> Slowly, Microsoft started losing interest in Xenix

It seemed more like they lost interest the moment it was released.

~~~
cstross
I worked as a tech author on the release notes for the last shipped release of
Xenix, SCO Xenix 2.3.4, in late 1991.

The Microsoft legacy lingered in SCO's codebase for a long time -- the MS C
compiler was standard right through Open Server (disclaimer: I left in 1995
and happily never had to use that festering dungheap ever again, much less
write and maintain chunks of the docset for it).

------
simonh
Imagine a Windows based on Unix, like OSX, instead of being a derivative of
VMS. It could so easily have happened.

~~~
ryao
It could still happen given the work Microsoft Research did on Drawbridge. It
is public knowledge that they use it on Azure and with Drawbridge, they could
rebase on UNIX.

I doubt that it would happen given that Microsoft's modus operandi is to make
as much money as possible by trying to lock people into their products, with
Windows being the primary product on which they want people to be dependent.

~~~
simonh
Wow, just looked up Drawbridge. It's a shame MS Research stuff rarely goes
anywhere. That looks like top-shelf engineering.

~~~
pjmlp
That is a misconception.

Drawbridge powers the pico kernels infrastructure on Windows and is the basis
of the new Ubuntu/Windows subsystem.

The research in Singularity and Midori were used in MDIL compilers targeting
.NET AOT native code generation on Windows 8.x and the follow up changes that
lead to .NET Native.

Also F# started as a MS Research project.

The theorem provers used to validate Windows drivers were also a MS Research
project.

LINQ, .NET contracts and Fakes framework also started as MS Research projects.

Some Haskell and OCaml researchers are on MS Research payroll.

There are tons of other examples.

------
bogomipz
Also a similar bit of history is that Apple had a Unix as well called A/UX:

[http://www.aux-penelope.com/](http://www.aux-penelope.com/)

------
jacquesm
Xenix is not so much forgotten as it simply not spoken of because of it being
tainted by association with SCO.

~~~
grahamm
As soon as I saw that kernel boot screen in the article it was like seeing an
old friend. I look back on my years at SCO(C) very fondly. Seeing what
happened when Caldera (SCOX) got involved deeply saddens me. I always wonder
what would have happened if the SCO OS development had turned from SVR UNIX to
Linux how different things may have been.

~~~
cstross
I seem to recall there was a Linux binary loader for OpenServer, along with
the Skunkworks project ...?

Yeah. Management dropped the ball big-time in 1994. SCO could have been Red
Hat _really easily_ if they'd had even a tiny amount of vision. Instead they
missed the bus, went into terminal decline, and ended up split between Borland
(the good bits) and the ambulance chasers from Utah (the bad bits, who
everybody remembers).

~~~
bogomipz
Who are the ambulance chasers? Caldera?

~~~
cstross
Yup.

Caldera started as a legit Linux distro circa 1994-5, but burned through their
funds too quickly. As a pivot they bought out Digital Research including their
anti-trust lawsuit against Microsoft (for blocking Win95 from running atop DR-
DOS). They won big, and the rest is history -- they used a chunk of the funds
to buy what they thought was SCO's IP rights, then sued IBM (because that
_never_ ends badly, right?).

~~~
vram22
How did it actually end? or has it even ended? (I know that cases sometimes go
on for years, and I vaguely remember reading something about it lately.) I
tracked what was happening for a while, at the time - just out of interest -
mainly via Pamela Jones' groklaw site, but don't think I read about the end.

~~~
digi_owl
Last i read the zombie was still stumbling about...

------
pskisf
TRS-XENIX was Tandy's implementation for their Model 16/6000 MC68000 based
line of business machines. Here's a video of my working Tandy 6000 system.

[https://www.youtube.com/watch?v=mM1IH8frd_U](https://www.youtube.com/watch?v=mM1IH8frd_U)

------
bitwize
Xenix was the tits back in the day, and the first Unix I ever worked with.
Because of TRS-XENIX, the Tandy Model 16 (essentially a Model II kitbashed
with a 68000 daughtercard with 512 KiB or so of RAM) was the only desktop
workstation computer not made by Sun that could run Unix in 1982.

------
ryao
I would not call Xenix a forgotten Operating System. I sent Steve Ballmer an
email when he was still CEO of Microsoft asking if they were ever going to do
a new release of Xenix. He replied no.

~~~
cstross
That would be because Microsoft sold the rights to Xenix to SCO -- at that
time about two hackers and their hot tub in downtown Santa Cruz -- in return
for 30% of the shares in the (then private) company. That was in the mid-to-
late 80s (before my time there).

~~~
bogomipz
What's the "where are they now" on the two hackers in S.C with the hot tub?

------
jbgreer
Xenix ran on the master node of the Intel iPSC, a commercial hypercube used
for parallel computation starting in the mid-to-late 80s. The compute nodes
used a proprietary OS.

I also worked for a retailer that used SCO Xenix for Point of Sale and other
applications. 386/16s and 386/20s with 16, 24 or 32 port serial boards running
serial printers and dumb terminals. Fun times.

~~~
TimJYoung
I also worked for a retailer with a very similar setup (I wonder if it was the
same one). It was amazing how many terminals you could sling on to a 386/20
and still have the whole thing work. The retail software was custom-written C
that used a UI toolkit/library for the screens, but the name of the toolkit
escapes me. I was in support at the time and didn't actually code the
software, so I have no problem saying that it was a hot mess. :-)

I managed to grab some SCO Xenix installation floppy disks when I left (they
had moved on to Netware/MS-DOS at that point, so the disks were just going to
get thrown out). I still have them around somewhere...

------
chiph
Ran it in college, on an Intel iPSC. I didn't know at the time that it was a
Microsoft product, as it had been licensed and rebranded by Intel. And
probably tweaked to run on the compute nodes.

------
YZF
I used Xenix briefly and did some tinkering including writing a device driver.
Just remember it as being a pleasant but mostly useless ;)

Now I think this was on IBM's PC/RT but Googling I can't find much. At any
rate I'm pretty sure it was some "special" PC variant. Anyone remembers that
one? There were quite a few other oddball "PC" platforms like the one that ran
VM/CMS and was like a little 370 mainframe in a PC box. I think that one was
PC/370 or something.

~~~
YZF
Looks like the PC/RT was AIX .. Yet another Unix. Perhaps my Xenix machine was
just a standard PC then...

------
alabamamike
I don't think it is forgotten by all of us in IT! I once had the dubious
distinction of supporting/administrating a 20 user Xenix system (Compaq server
with numerous VT-100 terminals attached.) Solid system until it wasn't ... the
Compaq hardware was always less reliable than the OS, however!

------
twic
This reminded me that Apple also had a UNIX adventure in the early '90s:

[http://basalgangster.macgui.com/RetroMacComputing/The_Long_V...](http://basalgangster.macgui.com/RetroMacComputing/The_Long_View/Entries/2010/9/25_A_UX.html)

------
criddell
I seem to recall that when Microsoft sold Xenix, they agreed to never enter
the Unix market again. I've searched for that online but have never been able
to find more information.

~~~
gtk40
Obviously it looks very different today, but if they had made such an
agreement, would things like the Linux sunsystem in Windows 10 or the older
Windows Services for UNIX not be a problem?

~~~
criddell
I think they might be. On the other hand, SCO isn't the company they used to
be, so who knows if it would even be an issue.

------
pjmlp
Xenix was my first contact with UNIX, back in 1993.

------
adekok
I'm reminded of a story Hugh Daniel told me about Xenix.

Hugh and John Gilmore visited Microsoft around the time of Sun 1, to see if
there was anything they could learn / exchange. The Microsoft guys asked
excitedly how they made SunOS so fast on the limited hardware.

Hugh and John looked at each other, shrugged, and said "Caching?".

The response was "Oh no, we tried that. It didn't work."

Hugh and John concluded there was nothing to learn here.

~~~
outside1234
There are some good reasons why caching might not have worked for Microsoft
you know... The much smaller memory size of a typical PC being a bit potential
reason.

~~~
icedchai
The original Sun-1 only had 256K of memory, not the multi-megabytes you wound
find in late 80's workstations.

