Doing It Over
What happens when designers get a chance to build a second OS?
By Dinah McNutt
Dave Cutler was the lead architect on Digital Equipment Corp.'s VMS, the operating system for minicomputers. Microsoft asked him to create Windows NT. Dennis Ritchie created Unix. Bell Labs put him in charge of Plan 9. Windows NT and Plan 9 are second children. Don't you wonder what it's like to get to design two major OSes? What do you learn? What do you do differently?
Dave Cutler is the head of the NT Development team at Microsoft. Before joining Microsoft, he played key roles in the development of RSX-11 and VMS at Digital Equipment Corp. In a rare interview, Cutler and his NT team answered questions on the past, present, and future of their OS.
NT and VMS are two very different systems, but they share similar technical challenges. "Both operating systems had rigorous compatibility requirements," the Cutler team says. "In the case of VMS, it was 16-bit programs that ran on RSX-11. In the case of NT, it was 16-bit Windows programs. The number of applications, the complexity of the programming environment, and the less-rigorously defined world of PC applications made NT's compatibility work orders of magnitude more difficult."
Technological changes have helped make NT possible. Faster processors have allowed for more sophisticated systems. "The time to rebuild the system after changes has dropped dramatically, allowing us to make changes and fix problems much more quickly."
In addition to faster processors, software tools are much different than they were 20 years ago. Given a choice of tools from the '90s to take back to the '70s, the team would choose the modern compilers. "They are far better at reliably generating good, solid, optimized code."
Despite the lack of robust tools, the initial release of VMS met the goals the team set out with. Multiprocessor support was on the wish list, but it was not a "killer" feature.
Cutler and his team used the experience with VMS to help make NT a successful project. With VMS, they learned on a similar but smaller-scale project what was essential to the process of building a system. They learned the requirements for applications, and how to design systems so they can be built incrementally. They also learned "why it's important to keep the system running throughout the process, from beginning to end. And how incredibly hard you need to work to make it happen."
The first release of NT was too slow and consumed more system resources than desired. NT 3.5 demonstrated a dramatic improvement in both areas. The team's goal is for NT to be an OS for desktops as well as servers. "When people use NT, they are consistently impressed by its robustness," according to Cutler's team. "Size and performance are critical areas that we constantly strive to improve."
The aspect of VMS for which Cutler is the proudest is the quality. "Mini-computers were used, from early on, by businesses to run their business. The systems had to run all the time, the applications protected from other applications' faults."
Despite all the technical challenges, one of the team's biggest problems may be the industry press. Media hype and criticism can cause additional stress on an already overworked team.
"It's difficult to predict when a system development will be complete. To begin with, the design is complicated; the problems are problems that are often new to the developers. Add to that a competitive environment that, at times, means changing the definition of the product during the development. Then the media apparently relishes announcing that a project is 'late' while the engineers are working as hard as they can to finish. It adds pressure to an already high-pressure situation. Then come the inevitable cycles of successive praise and condemnation of the product. That can often affect the morale of the team, particularly those who have not seen the cycles before."
The NT team is not done. Nor is NT: "When [NT's] the predominant system on desktops and in networks, then we'll worry about the next project."
A Man with Nine Plans
To most Unix users or C programmers, Dennis Ritchie requires no introduction. He was one of the key developers of the first version of Unix 26 years ago at Bell Labs. He is the "R" in K&R C. Right now, he's head of Bell Labs Computing Techniques Research in Murray Hill, New Jersey, and for more than five years, he has been working with a team of nine programmers on a new OS.
The result is Plan 9. It was originally the brainchild of Ken Thompson and Rob Pike, but Ritchie played an active role by supporting the effort and helping to get Plan 9 out the door. The first version of Plan 9 was released last June.
According to Ritchie, Plan 9 takes many of the ideas from Unix and exploits them more fully. "Everything in Plan 9 is a file," he says. "Plan 9 encourages portability and machine-independent interfaces. Applications cannot tell whether they are running in a small personal computer or a large multiprocessor computer."
When asked about the biggest technical challenges in developing Unix versus Plan 9, Ritchie says, "On one level the technical challenge was the same -- to find out how the machines really worked. That is, to get from the manufacturers a correct description of their hardware. Manufacturers really want to sell you a box with software and don't want you to write your own operating system. At a much higher level, the challenge is to create interesting abstractions and generalizations, like the notions of file in Unix and Plan 9."
Looking back, Ritchie notes that software development has changed a lot over the past 26 years. If he had to pick from the tools that he has now that he wished he had 26 years ago, they would be: "A windowing system. Fast communications. I won't ask for three wishes."
Besides the obvious changes in lower costs and increased computing power, Ritchie also cites the advent of networking, distributed computing, and good graphics as the biggest technical changes in software development. He also thinks the appearance of large independent software companies is the most significant non-technical change.
Amazingly, Ritchie has few regrets about features that didn't make it into Unix and Plan 9. He says the more important release of Unix from his research group was the Seventh Edition, which strongly influenced AT&T's System III and V and BSD, but there aren't any features that they wanted to include and couldn't. His lab was doing work in networking and communications, and their research gradually influenced both flavors of Unix.
Ritchie's only regret regarding Plan 9 was that they could not include music on the Plan 9 CD-ROM. AT&T developed some proprietary algorithms for compressing digital music. Ritchie's group helped make these algorithms work on available hardware. They wanted to include the OS and several hours of music on the CD. The music would "sound like it came from an ordinary CD." Unfortunately, issues regarding the proprietary algorithms and the music itself prevented this from happening. "This had nothing to do with the Plan 9 system, but we thought it would be a lot of fun," he says.
Looking back, Ritchie is rightfully proud of Unix and what it's done. "The creation of a portable operating system and the consequent notion of open systems," he says, "I think this helped build an industry."
Asked what his expectations are for Plan 9, Ritchie responds, "They are modest. The ecological niche that Unix occupied is fully colonized and is now being overgrown by Windows of several varieties. The way we [in our research group] use Plan 9 is similar to the way that others use Unix or Microsoft's products, namely as a distributed development system with desktop machines and specialized servers. Whatever Plan 9's technological advantages, we don't have the resources to compete directly in this arena. On the other hand, there are plenty of more specialized areas involving embedded systems in which Plan 9's small size, portability, and technology might do well."
His expectations for Unix are just as modest: "As a product, it's certainly lost any chance to take over the mass market. As a standard, it will live for a long time."
Dinah McNutt writes and teaches about system administration. She is a founder of Zilker Internet Park Inc. You can reach her at mailto:firstname.lastname@example.org.
Copyright © 1995 CMP Media LLC