I’m currently using OS X and Linux for my development work, and was curious about the origins. I found this long post on faqs.org and thought I’d sum up Unix’s history in a few paragraphs. Unix was invented at Bell Laboratories between 1969 and 1971 by Ken Thompson on an already obsolete DEC PDP-7, before computers generally even had monitors. The name of this skunk-works OS project was originally Unics, which was a riff on an over-complicated predecessor, Multics, a consortium-driven OS and reason AT&T didn’t want to create their own operating system. Resultingly, the Unix “way” tended towards brief commands created by people who were having too much fun and success to worry about turf and professional rivalry. This set the tone for the next 40 years.
The OS itself was written first in B, then later in C, high-level languages that made it easy to port between different hardware—in this case, a much more powerful PDP-11. Much of Unix’s success is attributed to this portability. However, due to the price of computers, everyone assumed Unix would remain out of the common person’s reach, but then Purdue, Berkley, and tech-savvy counter-culture hippies got their hands on it and started a self-fueling cycle of improvement that had it recognizable as modern Unix as Version 7 by 1979. A big reason this happend is that Ken Thompson taught at Berkley, explaining the origins of BSD. The innovations here such as the vi editor were feeding back up to Bell Labs. SCO also made their port around this time, as did Microsoft with XENIX. Then, in 1980, DARPA chose Berkley to write TCP/IP on their Unix platform to modernize APRAPNET, the precursor to the Internet, and get their aging PDP-10’s out of the picture. With TCP/IP, Unix spread quickly to universities around the world, but not to the common Joe, because around this same time, computing was set back 20+ years by the historic MS-DOS deal between Microsoft and IBM.
A whole bunch of stuff happened over the next 10 years, through 1990, that generally fragmented Unix amongst dozens of versions and hardware platforms, while Microsoft got stronger. But then in 1990, Berkley came through again, and BSD was ported to common 386 hardware, allowing that self-fueling wide reach effect to happen again—almost—because the lawyers almost killed it, because the corporate sponsors of the 386 port wanted it proprietary, and the guy who ported it, William Jolitz, wanted it free and unencumbered. Enter Linus Torvalds, a university student from Finland who was pissed at how expensive Sun’s Unix version was on campus, so simply decided to write his own—which he admits he wouldn’t have had he known about BSD. The Internet becomes massively popular around 1996, and hosting websites is the killer app, where Windows are unneeded and unwelcome. Linux is widely adopted on headless rack-mounted servers to run the Apache webserver. BSD—now the unencumbered FreeBSD—is equally popular during this time to run DNS servers with BIND. This isn’t stuff for mainstream users, but still, widespread popularity with sysadmin’s made Unix like pee in a pool.
Tons of efforts try to make a Unix desktop rival to Windows, priming it for mainstream adoption, from X to Gnome to KDE. None actually acheive widespread public adoption, until Mac ports to Intel hardware and underlying Unix around 2001. Today, tiny versions of Unix are embedded into phones, cable boxes and other devices. Unix today can be thought of as a lightweight way to get hardware booted to a set of tools familiar to a huge base of developers, providing a quick and free starting point to writing your own application layer on top. That’s precisely what Google’s doing to get their Chrome browser running without a slow, proprietary OS having to boot first. Coupled with low-power / always-on hardware, such as the ARM processor and eInk displays, we are on the verge of an explosion of cheap, networked information and entertainment devices capable of tearing down the digital divide. You probably use Unix every day in some capacity, without even knowing.
- Why is “Everything is a File” unique to Unix operating systems? (superuser.com)
- Release of FreeBSD 9.0 Delivers More Power to Serve (prweb.com)
- Why you should use a BSD style license for your Open Source Project (freebsd.org)
- The Strange Birth and Long Life of Unix – IEEE Spectrum (mbcalyn.com)
- Plan 9: The way the future was (catb.org)