In their own words: Unix pioneers remember the good times

We caught up with the pioneers who brought us the Unix operating system and asked them to share some memories of the early days of Unix development.

1 2 Page 2
Page 2 of 2

"When I joined Bell Telephone Laboratories in 1976, my supervisor was Mike Pilla, who was one of the first Unix adopters for an internal operations support system. Mike liked to play practical jokes on his people, often as a learning experience. One day, Mike was trying to resolve a Unix problem, so he called Ken Thompson, the co-inventor of Unix. While he was on the phone in front of his terminal deep in conversation, one of the members of the group named John, used the 'write' command to write on his terminal: 'Panic; no cookie.' Mike then reported to Ken, 'Ken, I just got a panic, no cookie, what does this mean?' After a couple of minutes back and forth between Mike and Ken, John came into his room with a box of cookies and reported what he had done.

"Years later, in the mid '90s, I started on the UWIN (Unix for Windows) project. In the late '90s, there was a workshop in Seattle aimed at Unix users with an interest in Windows NT, which I attended. Since the audience was primarily Unix or Linux users, I knew many of the people. One talk that was presented by a speaker from Microsoft was an announcement and description of their Unix on Windows product.

"At one point, the speaker stated that their product comes with ksh, the KornShell. I knew that they were using MKS toolkit version of ksh, which is not completely compatible with the real ksh, and I raised my hand to point this out. He insisted that it, indeed, was the real ksh, and when I started going through the incompatibilities, he started arguing with me. After a few minutes and a few back and forth, someone in the audience blurted out, 'Don't you know who you are talking to?' The speaker turned red faced and the audience burst into laughter. It was a true Woody Allen moment from 'Annie Hall.'"

Andrew Tanenbaum tells how one comment changed everything:

"When Unix V6 was released, it became very popular at universities, and people began teaching it in courses. AT&T, for some incomprehensible reason, decided that having lots of students learn about Unix was a bad idea, so the V7 license said you couldn't teach it anymore. I needed an example for my operating systems course, so I decided to write a clone of Unix to teach from. This became Minix. But late in the development, it kept crashing, and I couldn't find the bug. It seemed completely random. I wrote an interpreter for the IBM PC, so I could run Minix in a reproducible environment. It ran perfectly on the interpreter, but still crashed on the hardware. (If I'd been smart, I could have turned the interpreter into something more like what is now VMware, but my focus was finding the bug).

"I was about to abandon the entire Minix project when one of my students mentioned that the Intel 088 gave interrupt 15 when it got too hot. I said there was nothing in the manual about this, but he said he heard this somewhere. So I changed the code to expect interrupt 15 and print out something when it happened. Sure enough, within an hour, I got the message, 'Hi. I am interrupt 15. You will never see this message. Have a nice day.' As a result of this off-hand comment from my student, Robbert van Renesse, Minix happened and became a phenomenon. One of the early users was Linus Torvalds, who said he bought an IBM PC just to run and study Minix. Eventually, he began modifying it and that led to Linux. Many of the early aspects of Linux were taken directly from Minix (file system, directory layout, etc.).

"If Robbert had not made that comment, there would have been no Minix and no Linux. If there were no Linux, there would not have been an Android, since that is just a version of Linux. If there were no Android, probably the relative stock prices of Apple and Samsung would be quite different than they are now, since Apple's iOS is not based on Linux, but an earlier version of Unix that goes back to BSD. Robbert's casual comment changed the history of the world in a significant way."

Rick Rashid shares the birth of Mach/Unix:

"My first Usenix conference was also the coming-out event for Mach within the Unix community. It was summer of 1986 in Atlanta, and the paper I presented was Mach: A New Kernel Foundation for Unix Development. One of the decisions that I and my graduate students at CMU made early in the development of Mach was to layer Unix on top of it, so we could make our OS research accessible to the large community of Unix users. Submitting a paper on our system's performance and features to the Usenix community was an important first step toward that goal.

"Unix and its various versions have changed so much over the years, it is important to remember that, back in 1986, concepts that are accepted today were quite controversial then. Unix on Mach broke ground in a number of areas, including machine independent-virtual memory management and support for large-scale multiprocessors including Uniform Memory Access (UMA) architectures, Non-Uniform Memory Access (NUMA) architectures, and No Remote Memory Access (NORMA) architectures.

"Probably the most controversial feature of Mach was its support for copy-on-write virtual memory management and the integration of that feature both with Mach's interprocess communication and Unix's fork mechanism. As luck, or fate, would have it, the Usenix talk that preceded mine specifically discussed the idea of including copy-on-write in Unix and concluded that it could not be done cost effectively. This lead-in gave me a chance to look like a magician pulling a rabbit out of my hat when I stepped up on stage and showed that, not only could copy-on-write be done cost effectively, but that we, in fact, had done it. That Usenix paper and talk was a turning point both for our system efforts at CMU, at the time, and for me personally. For much of the rest of the conference, people approached me to talk about Mach and its impact on their thinking. Not long later, Steve Jobs and Bud Tribble came to visit me at Carnegie Mellon to talk about using our work on Mach as the basis for NeXTStep. Later, Mach became the basis for OSF/1, Digital Unix, and a number of other commercial Unix versions, and it became the first 64-bit Unix implementation."

Gordon Bell recommends Unix as a standard for compatibility:

"I'm a standards advocate. [I believe that] you either make the standard or follow it. If you fail to make the standard, you get to do it twice.

"When we designed VAX, Ken Thompson and Dennis Ritchie were the only outside reviewers of the architecture. I was on the Posix board when we put it forward as a standard, working with IEEE. At NSF, when CISE was started in 1986, I pushed our vendors at the supercomputer centers to have all the supercomputers adopt Unix as a way of getting compatibility among all levels of computing including mini-supers etc.

"It is important to note that the earlier Unixes were all proprietary and controlled by specific vendors with products that were derived from either the Berkeley or ATT Unix. DEC tried to create a single standard, but all the hardware guys wanted control. The big deal was Stallman's base tools (GNU) that allowed Linus to build Linux at zero cost, which was not controlled by any hardware vendor.

"Unix was the key enabler that allowed workstation companies to form, most notably Sun."

Read more about software in Network World's Software section.

This story, "In their own words: Unix pioneers remember the good times" was originally published by Network World.

Copyright © 2013 IDG Communications, Inc.

1 2 Page 2
Page 2 of 2