MusingsUSENIX

  farrow, rik
by Rik Farrow
<[email protected]>

Rik Farrow provides UNIX and Internet security consulting and training. He is the author of UNIX System Security and System Administrator's Guide to System V.

I read the responses to Andrew Hume's "Whither Now, USENIX?" column in the August 1997 ;login: with interest. While I had little problem with Andrew's original column, some of the responses disturbed me. It appears that many people feel that USENIX should only deal with UNIX. Let me tell you a story about why I think this is not true. I like telling stories.

Back in the late '70s, I decided to go back to school and learn about operating system design (a course that didn't exist when I graduated). The textbook was about the parts of IBM's operating system that were not proprietary. We learned how to program a channel controller, for example. Meanwhile, we struggled with building a multitasking operating system for a PDP 11/45 in lab.

You can't imagine how much this bothered me. I had come into possession of a Zilog Z80 CPU manual and realized that this little Intel 8080 clone represented the tip of an iceberg. No longer would IBM dominate the world of computers ­ we were already building entire CPUs on a single chip! While learning about channel controllers was not totally irrelevant, it was certainly not the wave of the future.

I approached the course's graduate assistant earnestly and asked if there wasn't a better example operating system that we could be studying. He said there wasn't and, besides, IBM and its operating system were what the professor had planned for the course. I quit the course and got a job working with a company using the Z80 CPU in embedded systems. I got to write parts of a multitasking operating system, and I got paid for it too.

It wasn't until I moved to California in 1979 that I learned about UNIX. Several years later I got back a copy of a chapter of my book about UNIX system administration which had been reviewed by the very professor who had been teaching IBM 360/OS in 1978. He said that my book was unnecessary, people could just read the manuals. Keep in mind that in these days, UNIX documentation was in three volumes, and totaled perhaps 1,000 pages.

The Point

In 1978, I really needed ­ in fact, a lot of people really needed ­ UNIX. The UNIX operating system provided an accessible, portable design for operating systems that could be used on microprocessors. By learning in my class how the UNIX operating system worked, we would have learned more about the design of operating systems. Instead, we were peeking around the edges of the proprietary, secret, IBM operating system.

The USENIX Association was founded to help people work with UNIX. Those manuals I mentioned (mainly just man pages in the beginning) came on nine-track tape, and if you didn't have a CAT typesetter you couldn't print them out. And the UNIX operating system itself was unstable. System crashes were common, and fsck didn't even exist yet. (By the way, this should help you understand why the sync account exists ­ as a last ditch method for preserving file system consistency as the system crashed. If the system manifested evidence of instability, you entered sync, RETURN, at any terminal.)

Through USENIX, people could gather together and share code, documents, and experiences. These people recognized the value of UNIX as a tool that helped them to use the minicomputers and microcomputers of the early '80s and learn more about operating system design. Source to the UNIX system could easily (and rather cheaply if you were a university) be licensed from AT&T. Early BSD implementations (still requiring the AT&T license) cost $50 to cover the cost of the nine-track tape, handling, and shipping.

Does this mean that USENIX should only focus on UNIX? I don't think so. UNIX was the early focus, but the real purpose around this focus wasn't UNIX as religion, but advancing the state of the art of computing. UNIX was the best tool there was in the late '70s, the '80s, and the early '90s. But it is not the only solution. UNIX is, and has been, only part of the big picture.

USENIX conferences have always included papers about compilers and compiler techniques. Operating systems that shared the UNIX API (application programming interface), such as MACH or Spring, have been included. New high-level languages, networking protocols, file systems, and operating system designs have all become an important part of USENIX conferences. As more people participated, other, more narrowly focused conferences were organized. The NT conference in Seattle is just another manifestation of the direction USENIX has taken over time.

All of the hype surrounding Microsoft's NT operating system can easily set me off. From the letters received in response to Andrew's column, this is true for many other people as well. But I want to get beyond religion. NT was intended to be a replacement operating system to DOS. I don't think that any of us will claim that DOS was wonderful or that the Windows API which sat on top of DOS broke new ground either. Together, Windows and DOS provided a standard base for mass market applications. And now Microsoft is stuck with it.

NT itself represents the New Technology the letters purportedly stand for. NT is modular and message-passing (but not quite a microkernel), and designed with portability in mind. The device driver interface is supposed to make writing device drivers simpler (I don't know about that). And the system is much more reliable and robust than the one it replaces. In other words, there are valid examples to be found in the implementation of NT, and future operating system designers had better take note of what it does right, and what it doesn't.

I personally think that NT is overkill for desktop applications and that something else will replace it. Keep in mind that this is one of the reasons that UNIX did not succeed in the desktop marketplace either. At the same time, NT's reliance on the Windows API makes it less suitable for server applications, while at the same time reducing security. (Windows applications install programs and files anywhere, making trojan-horsing NT systems a snap.) This is the legacy of Windows that will be Microsoft's downfall, even as it is its most important asset today.

Whither USENIX

The USENIX Association has often been at the forefront of research into computing systems. On a more practical note, USENIX members, through papers and tutorials, have provided workable solutions to many system administration and programming problems. The key to these solutions has not always been UNIX, but open, nonproprietary solutions. Note that the key to the Internet's success has also been its openness and nonproprietary design.

Linux and the BSD versions today provide the training tool I was looking for back in 1978. Whether Linux is ready for business use is a moot point; it is a great learning tool, and businesses are already using it. One reason is that Linux is cheap; free from the Internet or about $40 for a CD. Another is that the Linux es2 file system just screams ­ because it cuts corners which the more conservative designers of the fast file system, a.k.a. the UNIX file system, didn't take. Does this make it wrong? If es2 can be proven to be robust and reliable, as well as being really fast, it would be stupid to ignore it just because it is not UNIX. And even if es2 turns out not to be a robust solution, the reasons behind the failure would be an important lesson in file system design for future programmers.

The story of computing won't end with UNIX. If we just decide that the only thing we will talk about or work with is UNIX, we have just made ourselves obsolete. The world moves on, and the world of computing moves faster than most. I don't want to get left behind. I have enjoyed the ride, the neat stuff I have learned, the cool toys I have played with (or now own), and the riches I have collected by understanding the technology.

While it might be comforting to stick with what we already know, we will be usurped by a younger generation of people not stuck on old ideas and beliefs if we do. I for one am not ready to say, "It's already over, we have discovered everything interesting and/or useful." I want to keep an open mind and stretch myself in new directions. I know that this will pay off in the end even if it will be uncomfortable during the process.

So whither USENIX? To the frontiers of advanced computing. And I plan to be along for the ride.

A Note on Java

As Terry Slattery has taken over this issue's "Using Java" column, I will use this soapbox to talk about some "recent" events. Microsoft has decided not to distribute the Java Foundation Libraries (JFC) with its operating systems as the libraries represent "another operating system." Nice going, Microsoft.

The JFC are required for true portability of Java applications. Microsoft will still support Java, but only with their own Windows-based Java libraries. The JFC is "bloated," says Microsoft. Yep, about 1.5 megabytes of bloat which would hardly be noticed on a typical Windows or NT system, especially if some applications have been installed.

But Microsoft is right about the JFC being another operating system, at least in a way. The application programming interface (API) represents the operating system, and Java with its JFC truly represents a different operating system, one not limited to the Wintel platform. I am only surprised it took Microsoft so long to decide to do this.

Of course, Netscape Navigator will support the JFC. Perhaps Microsoft's refusal to include the JFC will make Navigator an essential part of Windows desktops, instead of Internet Explorer.

In tangentially related news, Bill Gates made a virtual appearance at MacWorld in August (to numerous boos) and agreed to support the Mac platform by updating its applications for the Mac. Now that Windows has finally approached the functionality of the Mac user interface (seven releases of Windows later), Microsoft has decided to help keep the Mac from dying. Some cynics remarked that Microsoft is only doing this to avoid anti-trust litigation, Apple being the only real competitor to Windows on the desktop.

Having just watched Robert Cringley's "Triumph of the Nerds," I better understand Mr. Gates. Bill Gates might or might not be a nice guy, but he is a real competitor. In other words, he is not saving Apple out of the kindness of his heart. It will be interesting to see how this plays out.

 

?Need help? Use our Contacts page.
First posted: 21st November 1997 efc
Last changed: 21st November 1997 efc
Issue index
;login: index
USENIX home