|
Softpanorama |
May the source be with you, but remember the KISS principle ;-)
|
|
"Microsoft announces Microsoft Xenix OS, a portable operating system
for 16-bit microprocessors. It is an interactive, multiuser,
multitasking system that will run on Intel 8086, Zilog Z8000, Motorola
M68000, and DEC PDP-11 series. All of Microsoft's existing system
software (Cobol, Pascal, Basic, and DBMS) will be adapted to run under
the Xenix system, and all existing software written for Unix OS will be
compatible as well. "
--from a Microsoft press release, 1980 |
Long before Linus Torvalds was able to write anything useful in C, there was a version of Unix from Microsoft called XENIX that was based on the seventh edition and BSD 4.1 with some interesting enhancements (multiple virtual consoles -- later inherited by Linux, record-locking facilities for database programming, etc) and an amazing level of PC friendliness that Linus will try emulate much later by essentially replicating all major design decisions that Microsoft put into XENIX for PC but using an independent codebase.
Microsoft licensed UNIX from AT&T in 1979. That was an interesting year. At the June 1979 USENIX meeting in Toronto, AT&T announced an big price hike: from $1000 to $7500 for educational institutions; from $5000 to $40,000 for full commercial open source (per CPU). Essentially AT&T decided to commercialize Unix. That created an opening for third party distributors and Bill Gates instantly jumped on this opportunity. The same year SCO was founded and Microsoft XENIX development was outsourced to SCO (which at a time was a two man operation):
XENIX was originally developed on a DEC Virtual Address Extension (VAX) running the Virtual Memory System (VMS) and a PDP-11 running UNIX V7, albeit now using Microsoft's own in-house minicomputers, and then converted into assembly language specific to the new 16-bit Motorola 68000 and Intel 8086 microprocessors. This put XENIX at the high end of the microcomputer market, which was still dominated by 8-bit machines, but well below the lowest end of the minicomputer market.
In 1979, brothers Doug and Larry Michels [ they were actually father and son -- NNB] founded the Santa Cruz Operation (SCO) as a UNIX porting and consulting company using venture capital from Microsoft, which handed over all further development of Microsoft XENIX to SCO. Doug Michels recalled that the company’s name was a bit of “social engineering” to obscure the fact that it was essentially a two-man operation. “I’d call up and say, ‘This is Doug from the Santa Cruz Operation’ and be pretty sure they wouldn’t catch that the ‘O’ was capitalized and think I was from another branch of their company.”
By 1980, the UNIX family tree had split into three distinct major branches:
- AT&T UNIX System III from Bell Labs’ UNIX Support Group (USG).
- Berkeley Standard Distribution 4.1 from UCB.
- XENIX 3.0 from Microsoft and SCO.
Microsoft XENIX was initially an Intel 8086 port of AT&T UNIX Version 7 with some BSD-like enhancements. This became Microsoft/SCO XENIX 3.0 a year or so later. SCO XENIX 5.0 was updated to conform to AT&T UNIX System V Release 0 (SVR0) in 1983, for which SCO brought its own rights to the UNIX source code. By then, XENIX had the largest installed base of any UNIX system during the early 1980s.
Microsoft acquired a 25 percent share of SCO, which at the time gave it a controlling interest. While SCO handled the actual development and added some enhancements of its own, Microsoft handled the marketing of the product, which it touted as the “Microcomputer Operating System of the Future!”
A 1980 issue of Microsoft Quarterly stated, “The XENIX system’s inherent flexibility … will make the XENIX OS the standard operating system for the computers of the ’80s.” The 1983 XENIX Users’ Manual declared, “Microsoft announces the XENIX Operating System, a 16 bit adaptation of Bell Laboratories UNIX™ Operating System. We have enhanced the UNIX software for our commercial customer base, and ported it to popular 16-bit microprocessors. We’ve put the XENIX OS on the DEC® PDP-11™, Intel® 8086, Zilog® Z8000 and Motorola® 68000.” It went on to warn against “so-called UNIX-like” products. Similar sentiments were echoed in ads for Microsoft XENIX in the UNIX Review and UNIX World magazines as late as 1984. That’s when Microsoft and SCO had a parting of the ways.
What changed?
On August 12, 1981, the IBM Model 5150 Personal Computer changed everything. Then, on January 24, 1984, the Apple Macintosh changed everything … again!
In August 1980, ten years before Linus was even a idea in Linux in his head, Microsoft announced XENIX OS: its port of Unix for various 16-bit microprocessors. with Zilog as the major platform. Here is how Surviving the Solaris x86 Wars 2004 - 2006 recollected the events:
Xenix - there was a lot of excitement in the market in the mid 1980s when 16 bit processors got enough disk space and memory to start running Unix. Systems based on Motorola's 68020 32 bit processor got a head start in the market because they were binary compatible with the 16 bit 68000 - which already had a bigger memory addressing range than the Intel chips at the time. And the 68020 also had hardware support for virtual memory management. Sun Microsystems' own Sun-3 workstations originally used Motorola chips. But most IHVs had big investments in Intel. So where could they turn to source a multi-user operating system? The surprising answer was Microsoft. I joined an ISV and VAR called Databix in 1986 which was using Zilog boxes running Xenix as its main Unix development platform. That was a problem because the Zilog Z8000 was a hardware dead end. (Within a year I had switched our Unix platform to Sun. But not the Sun platform you might think - see later.) Microsoft stopped developing and supporting Xenix which later got transferred to SCO.
It also started warming about Xenix port to 8086 (this was outsourced to SCO). Historically XENIX became the most successful, in certain aspects groundbreaking, PC-based Unix before Linux. It was the only PC-friendly Unix and can be considered to be the first Unix with a decent customer support service ;-). Here is an interesting XENIX timeline from a Usenet post:
1979 or 1980: Microsoft 'begs' Western Digital for a high-volume commercial license (binary license refused, source license bought) http://www.microsoft.com/billgates/speeches/industry&tech/uexpo.asp
1979? Microsoft may have bought HCR's PDP-11 port?
http://slashdot.org/comments.pl?sid=29920&cid=3213453
1980: Feb: MS starts development of 8086 Xenix?
http://www.ttu.ee/it/vorgutarkvara/wai2030/elcomphist/comp1977.htm
1980: 25Aug: MS pre-announces Xenix for 8086, Z8000, 68000, PDP-11
1981: Jan: 1st Xenix release co-developed by MS and HCR?
http://www.computerwoche.de/heftarchiv/1985/19850322/a69030.html
1981: winter: MS claims Xenix will be ported to TI9900, IBM Series/1, and Point 4 Data Corp systems [Byte Feb81]
1981: MS's Bob Greenberg ports PDP-11 v7 (from HCR or AT&T?) to Codata Z8000
http://groups.google.com/groups?selm=36170E22.4E78850B%40trilithon.com
http://www.trilithon.com/pagesprimary/formerclients.htmlLater in 1980 I drove up to Bellevue with the Codata box with a Z8000 processor board in it for MicroSoft to port Version 7 onto. To the best of my knowledge, that was MicroSoft's first port of Xenix off of the PDP-11 to any microprocessor.
This all took place around middle to end of 1980, when MC68000 processors were not exactly ubiquitous. You'll maybe recall that the first outfit to announce MC68000 processor boards were MicroDaSys, and they went bankrupt [taking a lot of forward financing with them] without ever shipping anything. Onyx also failed to produce an MC68000 based system. And Sage microcomputers had a MC68000 based system that didn't last long, as did Fortune Systems and the rest of the herd.
After I'd delivered the Codata/Z8000 box to MicroSoft, Clint Hurd, who was on the spot up there, supported the MicroSoft people who were porting. I got out of the loop and lost track of what happened to the Xenix port.1981: Feb: TriData announces SST will run MS Xenix on Z8001 [Byte Feb81]
1981: Jun: Byte magazine article on Xenix by Bob Greenberg
1981: Xenix-11 on PDP-11?
http://www.ee.ic.ac.uk/docs/software/unix/begin/appendix/history.html
1981: Oct: MS *expects* to deliver 8086 Xenix first, then Z8000, no 68000 until April 1982 due to hardware problems w/68000 development platform: http://rlab.cs.nyu.edu/ultra/reports/proton/01
[This article seems the most credible to me.]
1981: 08Dec: MS and SCO sign letter of intent for SCO to be 2nd-source of Xenix: http://minnie.tuhs.org/pipermail/pups/1997-October/000020.html
1981??? Xenix 2.0 by MS/SCO? [not very credible]
http://groups.google.com/groups?selm=64%40elgar.UUCP&rnum=4
1982: Jun: XENIX 2.2 v7 for 68000? http://groups.google.com/groups?th=4716e2c816a7a6e1
1982: Aug: Altos claims to be shipping XENIX for 8086
http://groups.google.com/groups?selm=bnews.altos86.106&rnum=89
1982: 15Sep: MS brochure claims XENIX is shipping
http://groups.google.com/groups?selm=1993Feb5.212317.3816%40bilver.uucp
1982: Oct? MS trying to sell XENIX to Tandy for Model 16 (68000)
http://groups.google.com/groups?selm=GMrt5J.y23%40nemesis.lonestar.org
1982: date on Tandy's XENIX Development System http://home.iae.nl/users/pb0aia/cm/m2gazlst.html
1983: Tandy ports MS XENIX 2.3 (from Apple Lisa?) to Model 16, calling it TRS-Xenix 1.0
http://groups.google.com/groups?selm=1989Jun14.133152.4347%40eci386.uucp
http://groups.google.com/groups?selm=1991May21.035251.1986%40devon.lns.pa.us
then releases to fix bugs in 1983
http://groups.google.com/groups?selm=GMrt5J.y23%40nemesis.lonestar.org
1983: Feb: Xenix-86 and -286 mentioned on netnews http://groups.google.com/groups?th=da83c12bea5dfc9f
http://groups.google.com/groups?th=a3126bddd32d5f47&rnum=9
1983: May: Apple Lisa will run 68000 MS XENIX?
http://groups.google.com/groups?th=ef90d7aa64415f69&rnum=61
1983: Jun: Unix Review doesn't include XENIX in pc-Unixes article!?
http://groups.google.com/groups?selm=1228%40ecsvax.UUCP&rnum=1
1983: summer: SCO Xenix-86 released?
http://groups.google.com/groups?selm=FMKBFA.14G1%40nemesis.lonestar.org
1983: autumn: MS turns over 68k XENIX development to SCO
http://groups.google.com/groups?selm=GMrt5J.y23%40nemesis.lonestar.org
1984: IBM AT causes MS to resume interest in Xenix-286
http://groups.google.com/groups?selm=GMrt5J.y23%40nemesis.lonestar.org
Microsoft didn't sell XENIX directly to end users. Instead, it licensed XENIX trademark and codebase to companies such as SCO, Tandy, and Intel, who sold a branded XENIX to users. The most closely associated with XENIX was SCO -- an offshoot of TRW/Vidar (a telecom company). MS owned a controlling part of SCO during the mid 80's (25%) and had a single seat (out of 5) on the board of directors (correction [Mar 9, 2003], thanks to Steve Finney - NNB). SCO also licensed the name XENIX from Microsoft because they sold their trade name DYNIX to Sequent.
Only a year later, in July 1981 Microsoft purchased all rights to 86-DOS and "IBM Personal Computer DOS 1.0" was ready for the introduction of the IBM PC in October 1981. That means that DOS happed a year later than XENIX.
Initially, Microsoft had big plans for XENIX and tried to insure DOS compatibility. That positively influenced MS DOS which in versions 2 and 3 acquired several Unix based innovations like hierarchical file system, pipes, redirections, etc. Please remember that in 1981 Microsoft was young, ambitious and innovative company. Here is a quote from the 3rd issue of PC Magazine, June/July 1982 from Paul Allen, Microsoft co-founder:
"It's important to realize that MS-DOS is part of a family of operating systems....Providing the user with a family of operating system capabilities means a clear migration path from MS-DOS to XENIX. That means compatibility for both the terminal end user and the systems programmer.
A standard library for XENIX-86 C will allow compilation of a program on XENIX system and then execution on MS-DOS....XENIX systems will be able to function as network file servers."
There were rumors that Gates even tried to sell XENIX to IBM in 1981 but unfortunately IBM brass was afraid of what a post-breakup AT&T could do to their markets. Because of that IBM wanted nothing to do with Unix. Later they were more accommodating and in fact, IBM had planned to offer Xenix as an option for its AT computers in 1984 with Dumb Terminals hooked up to it for multi-user access. Six year later (1986) they will realize that this was a blunder and will introduce AIX.
From the timeline above its clear that work on XENIX and DOS was largely in parallel and XENIX greatly influenced DOS design: for example Microsoft Press' "MS-DOS Encyclopedia" shows a reproduction of a late DOS 1.25 OEM brochure which mention such future enhancements to DOS 1.25 as XENIX-compatible pipes, process forks, and multitasking, as well as "graphics and cursor positioning". That shows that Microsoft certainly tried to bring those two OSes closer, but the forks, multitasking, and multi-user support never materialized. Oddly, the flyer claims:
"MS-DOS has no practical limit on disk size. MS-DOS uses 4-byte XENIX OS compatible pointers for file and disk capacity up to 4 gigabytes."
Later XENIX became dominant Unix for Intel 286 PCs and was widely used in the industry, including of course Microsoft itself. In July 1982 Microsoft's Local Area Network (MILAN), is up and running. MILAN links many computers running XENIX and makes the transfer of e-mail easier. People who worked in Microsoft back in the mid 80's can attest that everybody in the company from Bill Gates down to the secretaries had a access to XENIX and used it daily for email. That also means that everybody used vi and should know vi before they could request vacation time. That lasted until early 90th. The last XENIX server on the MS corporate backbone was removed in late 96- early 1997. Primarily, they were used as Internet gateways, running Sendmail. Also, they functioned as internal gateways between MSMail and Exchange while the company converted everyone over to having personal mailboxes on an Exchange server:
what developers at Microsoft ran (Score:5, Informative)
by AdamBa (64128) on Saturday March 23, @11:38AM (#3212973)When I arrived in early 1990 people were using OS/2 for development. For example the early development work for NT was done on OS/2 and then cross-compiled for NT. Keep in mind that up until September 1990, NT *was* the next version of OS/2 so this made perfect sense...even after the "divorce" with IBM, OS/2 1.2 was still the best development environment. There was a push to self-host on NT which I recall became feasible in early 1992. Eventually more and more of the group switched over to it. I think the rest of the company probably didn't switch until after the first version of NT shipped in July 1993.
But it is indeed true that the standard email terminal in 1990 was connected to a XENIX machine, and there was a card handed out "how to use vi to edit email" or some such.
Actually I used vi for writing code for a while...someone inside Microsoft had hacked up a version that supported multiple windows...but eventually I switched to slick like most of the NT team. Basically the incremental search in slick was cooler than the . command in vi.
That means that in mid-80th the Microsoft love affair with Unix was company-wide. Microsoft was the major Unix company at this time. In late 80th there were more computers running Microsoft XENIX than all OTHER VERSIONS OF UNIX COMBINED.
Around 1983 Microsoft realized that with the advent of the Intel 80286 in the mid-1980's, DOS was quickly becoming obsolete. In 1984, IBM introduced the PC-AT which was the first (IBM) PC to use then new Intel 80286 processor. So the work on XENIX was intensified and in August of 1984 Microsoft released a really impressive PC-based version of Unix: XENIX 3 or XENIX 286. I remember that it was capable of dual booting from a partition with MS DOS on the other partition (one of my university labs has such a PC; it was really cool). It included new features from 4.1BSD and from AT&T's System III and instantly became a huge hit among Unix enthusiasts: it required just 512M of memory and 10M harddrive and can run on $5000 machine: the cheapest Unix workstation of this time. The PC-AT was supposed to be able to do multitasking, and some IBM publicity photos even showed it connected to two dumb terminals. Anyway, for our subsequent discussion it is important to understand that XENIX was that first successful multi-user systems for Intel x86 microprocessor (AT&T also sold something, but they cannot complete with Microsoft neither in quality nor in volume). Here is an interesting recollection:
When I went to work in 1984 for the US Army European Headquarters in Heidelberg, Germany, I was delighted to discover that our office had a number of brand new Intel 8088 PCs, each with a whopping 10MB hard drive. Not long after I started work there, I discovered an unused area of the building that was being used for storage, and there were dozens of boxes of new computer equipment stacked in a corner.. When I inquired about these, I was told that they came with the PCs, but nobody knew what they were for. I discovered that these were "network file servers", but I still wasn't sure what they were designed to do. "These must be the mainframes!" I thought, falling back on my experience for an analogy. I asked for permission to open the boxes and see what was inside. "Sure", I was told, "if you're willing to do it on your own time."
I began spending all my free time in this catacomb, uncrating the machines, identifying the function of each, and attempting to set them up according to the "Hardware Installation Guide". In fact, I opened the entire documentation set, placing the pages in the provided three ring binders, and began reading the manuals from the beginning. I worked my way through the hardware manuals, then the installation of the operating system software (Microsoft XENIX 286) and began studying the manuals on system administration, setting up user accounts, learning the multitude of XENIX utilities. It wasn’t until later, actually, that I realized this arcane little operating system was actually a port of a serious OS called UNIX, used by a variety of midrange systems, including workstations from a strange little company called Sun Microsystems. Duh, I’d learned UNIX by accident.
Microsoft XENIX enjoyed a huge success on PC AT. In 1984 Fortune wrote that 750 universities around the world, about 80% of those offering computer science degrees, have UNIX licenses. Considerable part of those where XENIX licenses simply because Microsoft XENIX was the first cheap large volume commercial Unix. Many early ISPs run their Usenet mail/news systems on XENIX, especially in Europe:
Yes, our e-mail system was started back in 1986 in Almviks Gård, Sweden, by the former Harikesa Swami, whose purpose was to improve communications within the BBT and his zone. Prsnigarbha das had adapted existing Swedish BBS software and soon "COM", as it was called, was up and running on a DEC PDP 11/45, a big and ancient 16-bit computer with 192 KB of memory and a 14 inch 160 MB Winchester harddisk.
The telephone lines in Almviks Gård were lousy, and calling in from other countries was difficult. So, in 1987 COM moved to Korsnäs Gård, the headquarters of the NE-BBT, where it got a total of five login modems plus about fifteen direct (serial) lines connected to terminals in the BBT offices.
Soon the PDP computer was replaced by an Intel 386 PC with a 300 MB harddisk (which was a monster capacity in those days), running XENIX as operating system. Three Datapak lines (X.25 packet switching network) were added. At the end of 1989, COM got its own Internet domain (bbt.se), and the software got adapted so that messages could be sent to and received from outside e-mail addresses. COM would dial up the Internet provider a few times a day and exchanged mail using the UUPC protocol. In those days, very few devotees had Internet access. The worldwide Internet big bang would come only about two years later.
The last Microsoft version of XENIX, XENIX 5.0 was released in 1996. This version was result of joint AT&T and Microsoft efforts to bring Xenix into conformance with Unix System V Release 2 released in 1995. It was one of the most complete *nix environments and was widely used:
XENIX in 1989 (Score:3, Insightful)
by ciurana (2603) on Saturday March 23, @11:53AM (#3213021)
(http://cime.net | Last Journal: Wednesday March 06, @03:16AM)
I deployed a number of XENIX installations in the mid- to late 1980's, the last one in either 1989 or 1990. We were competing against Novell Netware networks (back when TeleVideo made that hideous Novell dedicated hardware with the 286 and the Z-80 and all the way to the IBM PS/2 model 80 days) and usually beat them hands down for an inventory and POS application. Our customers were medium-size enterprises (up to 200 employees, up to five physical locations). The configuration:
- HP Vectra 286 with 1 MB RAM (!!!) and 60 MB HD
- 12 RS-232C port expansion (for terminals)
- Up to 12 TTY
- App developed by my company
- SCO XENIX (can't remember the version)
The advantages of using this:
- Cost
- Ease of maintenance
- Rich tool set for the sys admins
- High ROI (return on investment) for our customers
- Higher profits for my company
NCR *nix, XENIX, Minix, and AIX 3.0 were the first *nix OSs I was involved with, back in 1985 and forward. I went from Apple's Applesoft/ProDOS/MacOS/UCSD Pascal to *nix, then to Microsoft's world.
All in all, I remember XENIX being one of the most complete *nix environments I played with. Only AIX running on RS/6000 (I was working on them prior to the announcement in March 1990) was more complete in its blend of SV and BSD tools. SCO occasionally facilitated SCO Unix to us but it was a PIA to install and configure, and lacked *lots* of driver support.
The interesting thing to us was that, while XENIX was an MS product, MS had a very hands off approach towards it. All customer relationships were handled by SCO. The only time I ever remember Bill G. saying something about it was when he was asked about branching NT away from OS/2 and whether he was afraid of losing market share to *nix. His reply (I'm paraphrasing): We have DOS, Windows, OS/2, XENIX, and NT. It's Microsoft against Microsoft against Microsoft against Microsoft.
Later in 1987 Microsoft became worried that AT&T's newly-developed personal computer version of Unix might not run software applications originally written to run under Microsoft XENIX, so they asked AT&T to add some XENIX code to AT&T Unix in order to assure future compatibility. A deal was struck between the companies: AT&T agreed to include the Microsoft code, and to pay Microsoft a royalty for its use. The resulting version, UNIX System V/386, release 3.l2, incorporated all the functionality of traditional UNIX System V and XENIX. It was released in August 1988 for 80386-based computers. Novell, and then SCO, inherited these terms when they purchased AT&T Unix. Only in September of 1996, SCO formally requested that Microsoft release them from the terms of the old contract.
All that means that XENIX was historically important flavor of Unix and to some extent can be considered (along with AT&T and BSD) to be the third branch of Unix that was merged into System V. In the spring of 1988, AT&T and Sun Microsystems signed a joint development agreement to merge their respective versions of UNIX into new version which later was called System V Release 4 (SVR4). It merged the best features of System V and Berkeley UNIX and was compatible with programs written for either. Sun abandoned its SunOS operating system in favor of this newly minted SVR4-based branch and quickly released a SVR4-compatible version called Solaris. Despite fierce user resistance (first Solaris versions were rather flaky, but starting from 2.5 they stabilized), they gradually moved users to new OS.
Approximately the same time IBM and Microsoft started developing a Unix alternative called OS/2. For Microsoft that was a clear possibility to get rid of (rather high) AT&T licensing fees. Released in December, 1987, OS/2 1.00 was text mode only and allowed only one program to be on the screen at a time, even though other programs could be running in the background. It also allowed one very limited session in which DOS programs could be run. The maximum disk size supported was 32 MB. Release of OS/2 ended Microsoft Unix history and we can clearly see IBM-role as a "Trojan horse" in the driving Microsoft from Unix market. Which might mean that IBM love for Linux may be is connected with an inferiority complex of some IBM executives ;-). IBM can definitely own Unix instead of Novell if they understood the situation and played their cards right. Or they could arrange selling Unix rights to Microsoft, and preserve close relationships that were broken due to OS/2 vs Windows wars. Bill Gates speaking at Unix Expo in 1996 noted:
If we go way back in time, Microsoft was actually the first one to go to AT&T and beg to get a nice high-volume commercial license for Unix. And for many, many years we were the highest volume licensee, not only for our own Xenix products, but Siemens with theirs, Santa Cruz with theirs, and dozens and dozens of sub-licensees.
I have to admit, it was fairly difficult to work with AT&T back then. They simply didn't understand what they had. They didn't understand how to manage the asset, either in terms of promoting it properly or in terms of making sure that there wasn't fragmentation in how different implementations were put together. And so that vacuum in leadership created a bit of a dilemma for everybody who was involved in Unix.
Well, Microsoft stepped back and looked at that situation and said that the best thing for us might be to start from scratch: build a new system, focus on having a lot of the great things about Unix, a lot of the great things about Windows, and also being a file-sharing server that would have the same kind of performance that, up until that point, had been unique to Novell's Netware.
I think SCO until approximately 1987 was a Microsoft subsidiary or Microsoft owed a substantial part of the company (25%) and their importance to software world essentially comes from their early association with Microsoft. Anyway here is an SCO-biased timeline of Xenix development (the quote below is from SCO History; please replace SCO with Microsoft for all years until 1987):
1983 - SCO delivers the first packaged UNIX System (called SCO® XENIX® System V) for Intel® 8086 and 8088 processor-based PCs. It provides small businesses with the first affordable business-critical computing system.
1985 - SCO delivers SCO XENIX 286 for Intel 80286 processor-based systems. SCO XENIX 286 delivers on SCO's commitment to "upward compatibility," the ability of an operating system to run applications developed on earlier versions (in this case, SCO XENIX System V).
1987 - SCO ships SCO XENIX 386, the first 32-bit operating system (and first UNIX System) for Intel 386 processor-based systems.
1989 - SCO ships SCO® UNIX® System V/386, the first volume commercial product licensed by AT&T to use the UNIX System trademark.
In late 80th early 90th XENIX had became a major version of Unix for hobbyists, BBS operators and Usenet (for example almost all USSR Usenet was running on XENIX). Here is a typical quote from this period:
Summer 1990... Scott and I discover some common interests and become friends. We are united in our thought that there should be a more modern KAOS with all the fixin's: multiple phone lines, sysops who actually fix things and advertise the system's presence, et cetera. We decide to make a project of it. He buys a load of hardware with some money that he'd made by doing consulting work. We set the system up in Scott's cellar. He has gotten an illicit copy of SCO Xenix from a friend who works in SCO tech support, and somehow we load the machine and get it running.
We start coding, thinking that we'll write our own BBS. (For programmers, this was an all-too-common thought back then -- and generally a futile one.) Eventually I find the Waffle BBS software through Usenet, and the list of features include everything we would have written into our own system. We buy a copy and find out that it's excellent -- almost exactly what we would have written. It appears to have lineage common to our own; its interface is similar to WWIV, a messaging-oriented, DOS-based BBS package. Oddly enough, there are even some hints of GBBS, the Apple II BBS system that KAOS was built upon. And it'll run under Xenix - which is, roughly speaking, the major Unix variant that ran on x86-based systems (i.e., PCs!). Nowadays, if you want to run Unix on a PC, you run Linux (for the most part), but back in the day Linux hadn't even been written yet.
Here is another typical quote:
After graduating high school in 1985 I went on to attend University of Delaware as an undergraduate in the Electrical Engineering department. Since I had already taken UDel's intro to computer science class in high school I got put into a special intro to computer science class that used FORTRAN rather than Pascal. This was somewhat of a waste since I already knew all the topics covered in this class, however, I did manage to learn FORTRAN in the process. Learning FORTRAN wasn't as fun as learning COBOL because FORTRAN wasn't all that different from Pascal and BASIC-PLUS. I believe I used the "f77" compiler on a VAX running 4.2BSD Unix. Although I had used UDel's Unix systems before (via friend's accounts) this was my first real Unix account.
One of the positive features of UDel is that it has a one month "winter session" between fall and spring semester. Taking a winter session class allows you to better enjoy living on campus while taking a light course load. I had been playing with the Unix systems at UDel, but I found that my lack of knowledge of C was preventing me from learning what I wanted to fast enough. So, during the winter session of my freshman year I took "CIS-135: C" and finally learned C. I really enjoyed this class. Learning C helped me better understand Unix. Also during this time I started playing /usr/games/hack frequently (I used my newly learned C skills to examine and understand hack's source code).
Also during my first winter session I started undergraduate research with Professor David J. Farber. As part of Farber's group (F-Troup) I got access to IBM-PC/AT's running SCO's Xenix operating system. This was my first chance to learn about "root" access to a Unix-like system. I was involved in several projects in this group. I ported the MMDF electronic mail system to Xenix (MMDF is still in use on SCO Unix systems today). I wrote software for a PAL programmer that was used by Gary Delp to program PALs in his Memnet system. And I worked with Ron Minnich to port ISODE (the ISO network protocol development environment) to Xenix (painful). We also attempted to write a device driver with Dave Crocker for an ISA ethernet card, but Dave's company never provided enough programming information for us to complete the driver. In 1987 Farber left UDel to join UPenn, so I was out of work for a while.
Microsoft never released XENIX for 386 because of his work on OS/2 which was essentially a Unix replacement on desktop. Later Microsoft sold all rights for XENIX to SCO and completely disengaged itself from Unix market.
Despite the fact that Microsoft love affair with Unix was short lived it left a profound effect on how PC Unixes look&feel. Due to its quality and popularity XENIX became de-facto standard of what one should expect from PC Unix. It also created a compatibility infrastructure that other developers can emulate including dual booting Dos and Unix and access to DOS partitions from Unix. As we will see later most of enhancement Microsoft introduced (multiple virtual consoles accessible via Alt-F1, Alt-F2, dual booting with MS-DOS, etc) were later diligently copied by Linux. See Slashdot discussion for some additional information.
But what is more important is that Microsoft actually significantly contributed to the creation of the development community behind Linux. And not only with Xenix, although Xenix was Mecca of PC Unix enthusiasts in the Eastern Europe (including former USSR). That happened due to the fact that PCs were the most available and the most reliable hardware in this region, especially in universities.
Up to 1995 (the start of Windows 95 vs OS/2 wars) Microsoft was seen as the underdog (compared to the still-evil IBM) and MS DOS was the primary platform of computer enthusiasts. There was entire cottage industries that catered to the nerd contingent e.g. Borland, Norton (famous Norton Commander as well as Norton Utilities with amazing disk editor), Xtree, etc. Many enthusiasts would sit at home and trying to construct something on their DOS computers, or push the performance of their 386sx hardware. Level of sharing was fantastic as Symtel and Garbo collection of this time can attest. All GNU work was just a tiny fraction of Symtel and Garbo content.
I used to run a PC user group from 1989 till 1994 and I know it from my personal experience. Many people spent countless hours studying BIOS, disassembling DOS and trying to understand what a particular interrupt is doing or to replace standard DOS utility with their own, better variant or to write their own driver (in non-English speaking countries almost any programmer worth the name has his/her own keyboard driver ;-). Most talented wrote amazingly rich applications that in many ways superseded the limitations of DOS, which was essentially a simple program loader. And some of those applications became a huge commercial sucess. Applictions like Lotus 123, DB2, Borland Turbo Pascal, Norton Commander, QuattroPro, Microsoft Word 4 and 5, MultiEdit etc were higher quality and better engineered than many hugely expensive applications that I used to see on mainframes and mini-computers. PC games also pushed the envelope of what is possible in graphic very quickly.
Microsoft devoted so much technological and marketing talent into DOS and then Windows as a development platform and created such a powerful development community that at some point some forking was inevitable. And believe me DOS application development tool chain is really, really slick (I especially liked Borland compilers and applications) and in user-friendliness surpassed Unix development tool chain by a wide margin despite the fact that Unix was much better OS then essentially a simple program loader which is what DOS was about. Late version of DOS "pseudo-GUI" programs like MultiEdit were really more slick then, say, Emacs. Quattro Pro and Fox Pro were examples of amazingly powerful applications for DOS environment. Both have an extremely sophisticated pseudo-GUI interface...
Also "early" Microsoft was charging reasonable prices for their products (in the USA only, not so in Europe and especially Eastern Europe), and DOS plus several other software products (depending on the PC manufacturer) arrived with your PC "free of charge" (bundled product). I would like to stress that the early-day Microsoft was often a pretty reasonable solution in terms of price. For example, WordPerfect was very expensive and if you wanted spellchecker, that alone would cost you extra $300. Then Microsoft came around with elegant Word, which was as functional as WordPerfect and way cheaper (less then $200). Moreover MS Word has styles and outlining from version 4 (1987) or may be even earlier. It took almost a decade but in approximately 1994 WordPerfect was history.
The same was true for networking. Windows NT kicked Novell ass in file and print services so badly that it later jumped into the Linux bandwagon just to survive. NT instantly made Novell look over-priced, obscure OS, without any sexual appeal whatsoever ;-). Moreover NT got better with each release and Novell became the bottom-feeder. The bottom line is that Microsoft originally succeeded on it's merits, making (or buying) better software that filled an important niche and selling it cheaper.
By solving all the problems connected with creating of PC Unix and then withdrawing yourself from the huge market it created, Microsoft created extremely favorable conditions for a new PC Unix. Just think about how many books developed to Xenix were printed due to the Microsoft entrance to the field. And they were printed in numbers that are far bigger than for any other platform.
The second important fact that is often overlooked by naive or crooked Linux zealots is that Microsoft was essentially a software company that controls the PC hardware standard. Without Microsoft investments in PC standard there can be no any substantial base for Linux at all. In this sense Linux is a side effect of Microsoft dominance and no number of Linus Torvalds interviews can change the fact that he just replicated Microsoft's abandoned effort. Paradoxically with less innovation and quality: Linux kernel was always about premature optimization not about new architectural features of driving the Unix capabilities envelope.
Copyright © 1996-2008 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. Submit comments This document is an industrial compilation designed and created exclusively for educational use and is placed under the copyright of the Open Content License(OPL). Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.
Standard disclaimer: The statements, views and opinions presented on this web page are those of the author and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.
Last modified: February 28, 2008