Unix, the origin story, by Brian Kernighan
Bell Labs in Murray Hill, New Jersey, was the birthplace of much of the software architecture we use today. At the center of all that was the Unix operating system, and Brian Kernighan was there from the beginning. Kernighan, the “K” in both “awk” and “K&R,” has written a wonderful book about the birth and evolution of Unix and the people who created it. In the preface, he asks, “How did a two-person experiment literally grow into something that changed the world?” The rest of the book is a very personal answer to the question.
Right place, right time
It’s hard to look at someone as smart as Kernighan and attribute his success to luck, but that’s what he does himself. He was “lucky” to choose Princeton over MIT for his doctorate. He was “lucky” to land a summer internship at MIT, working for Fernando Corbató, who later invented passwords for computer access and eventually won a Turing Award. Then, in the summer of 1967, Kernighan drew to an inside straight with an internship at Bell Labs in Murray Hill, in the Computing Sciences Research Center. "UNIX: A History and a Memoir" is, more than anything, a loving tribute to Bell Labs.
Before Unix there was Multics, a much more complicated and ambitious project. It found some purchase, but many in Bell Labs considered it a failure. Unix was an attempt, mostly by Ken Thompson, joined by Dennis Ritchie, to make something simpler. Even the name Unix conveyed the image of a simpler Multics.
These were the glory days of the AT&T monopoly. The company was rich enough to afford a large lab performing pure research, not tied to product plans. According to Kernighan, by the 1960s. when he started there, the Bell Labs facility in Murray Hill “housed over 3,000 people, at least 1,000 with PhDs in technical fields like physics, chemistry, mathematics, and various flavors of engineering.”
This environment brought us the transistor, the now-microscopic building block of all computing. It was where Arno Penzias, later director of Bell Labs, and colleagues discovered that radio noise interfering with their equipment was, in fact, cosmic microwave background radiation, a remnant of the Big Bang. These two feats were responsible for two of the nine Nobel Prizes awarded for work done at least in part at Bell Labs.
Unix was a hit from the beginning, though in the early 1970s, that didn’t mean much. The second edition (June 1972) of "The Unix Programmer’s Manual" proclaimed, “The number of Unix installations has now grown to 10, with more expected.” In the fifth edition, two years later, that number had skyrocketed to “above 50.”
The number of Unix installations has now grown to 10, with more expected.
How Unix is different
Kernighan emphasizes how a few very good basic ideas set Unix on the right path early on. One was the hierarchical file system, an organizing principle that seems obvious now. Unix also treated file contents as streams of bytes and left it to the applications to determine how to use them. Both of these made Unix simpler and more powerful than Multics and other operating systems of the time.
He stresses another important characteristic of Unix is how it is built on small, single-purpose utilities that feed data to each other, largely through pipes. This design makes powerful work possible at the command line and in command scripts that would normally require complicated programming. He gives special attention to grep, a tool that searches an input stream for text matching the pattern described in a specified regular expression and outputting the lines on which it is found.
The emphasis on data in readable text form is a Unix characteristic that has become ubiquitous, even on non-Unix systems (which, these days, basically means Windows). Text formats are part of an overall attitude of openness, influenced by the academic approach of Bell Labs researchers. This approach led them to license the Unix source code on generous terms to universities. In 1975, Thompson took a sabbatical to teach at Berkeley, where he helped install Unix version 6 on the university’s PDP-11. One of the graduate students who worked on that installation was Bill Joy, who went on to create the Unix-like Berkeley Software Distribution (BSD) and later co-found Sun Microsystems.
Thompson and Ritchie
Kernighan makes clear that, while he was there for the creation of Unix and the many important, associated technologies, he wasn’t a major technical contributor to many of them. Ken Thompson was the main force at the birth of Unix, and Dennis Ritchie was the other major contributor.
Programmers out there may recognize the names Kernighan and Ritchie as the authors of "The C Programming Language," the book describing the programming language that is still in widespread use and influenced most other languages in wide use. [I have an autographed copy! – LJS] C was Ritchie’s creation, with Kernighan mostly helping with the book writing.
He also gives shout-outs to many other Bell Labs researchers, some famous in their own right, such as Bjarne Stroustrup (creator of C++), Rob Pike, Gerard Holzmann, Al Aho, and Doug McIlroy (“the unsung hero of Unix”). If you’re a computer scientist with gray hair, like Kernighan, you know who all these people are, and you’ve probably read all their books.
These days, the large majority of computers we use are based on some version of Unix, even if they do not appear as such. Linux, a clone written by grad student Linus Torvalds, caught on for a variety of reasons and today dominates the market for server systems. Google’s Android is based on a Linux kernel, and Apple’s desktop and mobile operating systems were built on a BSD distribution.
'UNIX' vs. 'Unix'
You may note that on the cover of his book, Kernighan renders "Unix" in all caps "UNIX." But it began as “Unix,” and that’s how it is rendered throughout the text of the book. At some point fairly early on, according to Kernighan, the Bell Labs trademark lawyers decided it had to be “UNIX” and always referred to it as “The UNIX” operating system, which today makes one think of “The Google” and “The Facebook.” Obviously, Kernighan ignored this in his own book; such are the privileges of luminaries.
One note about the poor quality of the paperback edition: It is self-published through Kindle Direct Publishing. The second half of my copy, purchased through normal channels on Amazon, had a blank vertical streak of about one and a half characters on the left-hand pages. It wasn’t hard to figure out all the words from context, but it certainly made the reading less pleasant than it might have been.
You won’t learn a lot that is new and useful from "UNIX: A History and a Memoir," but you can learn how computers got to where they are and gain appreciation for the people who built Unix for us.
This article/content was written by the individual writer identified and does not necessarily reflect the view of Hewlett Packard Enterprise Company.