Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesDoing It Over


November 1995 / Special Report / OS Paradise / Doing It Over

What happens when designers get a chance to build a second OS?

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?

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 nontechnical 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 fr om 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."

Cutlering Edge

Dave Cutler is the head of the NT Development tea m 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 processo rs, 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 produ ct 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."


The Original Ritchie Rich

photo_link (19 Kbytes)

Plan 9 did not come from outer space. It came from Bell Labs, with help from this man, Dennis Ritchie, one of the brains behind Unix.


Dinah McNutt writes and teaches about system administration. She is a founder of Zilker Internet Park Inc. You can reach her at dinah@zilker.net .

Up to the Special Report section contentsGo to previous article: What You See: What You Want?Go to next article: NextStep: Pretty, LimitedSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network