|
|
|
The Dæmon's AdvocateCopyright © 1999 Wes Peters
The Power to... Work?A popular joke goes ``Trains stop at a train station. Busses stop at a bus station. What stops at a workstation?''BSD systems have become widely known as powerful, flexible, and reliable servers across the Internet. This reputation is well earned, but BSD also seems to have garnered a reputation for being somehow unsuitable for use as a workstation. This is a curious situation, since the Sun machines that defined what a UNIX workstation is were created on SunOS, a version of BSD. I've been thinking about this quite a bit the past couple of weeks, as I've been configuring Homer, my new notebook computer. This machine has turned out to be a great little workstation, and has lead me to reconsider what makes a good workstation. Horsepower CountsOne prominent feature of the original Sun workstation was a fast CPU. At the time, an $8,000 Sun workstation would often outperform a $50,000 VAX minicomputer, which was the benchmark of the general purpose computing world.In the intervening years, the performance of the top performing UNIX workstations has kept pace with the rest of the computer industry, doubling every 18 months. At the same time, low end ``PC'' [1] hardware has made great strides in minimizing the performance difference. Early workstations far outperformed PC-class machines with 8 bit 8088 processors and limited bandwidth, but today's PC architecture is the rival of all but the very fastest RISC workstations. Modern workstation and PC architectures also feature large memory systems, big fast caches, and impressive overall throughput. The memory system in the average PC clone these days features 100 MHz system buses, on-chip caches of a half megabyte, and fast page fill algorithms for refilling cache lines from the main store of 7ns Synchronous DRAM; the rival of supercomputers of only a few years ago. Fast storage is a necessity as well. Manufacturers of hard disks and controllers have increased the performance of PC class I/O subsystems to standards only dreamed of a few years go. Modern programs are large, use large shared libraries, and manipulate large data sets. (As an example, a word processing document on a modern system can run into hundreds of thousands of bytes, due to the formatting information and the inefficient file formats used in the quest for faster file saving.) In response to these advancing storage needs, disk drives have grown larger in capacity and faster, to the point where even a small portable computer has more storage than large server systems of two years ago. The final leg on this performance pedestal is the network interface. Few workstations these days work alone; they operate best in a network of other workstations, file servers, print servers, application servers, and so forth. It's a networked world and UNIX workstations built it. In these ways, workstations are not so different from the servers we have come to know and love. High Performance VideoThe next requirement of a workstation is high-performance video. I probably don't need to point out to most Dæmon News readers that PC video solutions have improved drastically in the past few years. [2] Even relatively mundane PC systems now have graphics hardware that rivals the best graphics workstations of two years ago, at costs below the printed user manuals for those expensive workstations.Thanks to the hard work and contributions of the XFree86 Project , users of BSD systems can take advantage of these advances in graphics hardware. Most graphics vendors have seen the light in freely available systems, and have opened their documentation to the wizards of XFree86. The marketplace for Linux, BSD, and commercial UNIX systems that run XFree86 is burgeoning and the vendors are perceptive enough to tap this emerging growth. The general growth of the computer graphics market has created steady downward pressure on the prices of monitors as well. The growing acceptance of 17 inch displays as the default size and pressure on the high end from flat panel displays have driven a basic $400 monitor (in the USA, at least) from 15 to 17 and now to 19 inches in the past two years. These video improvements alone have driven PC-class hardware into the lower regions of workstation class performance. While workstations have always had an edge in computation and network performance, their large, high resolution displays have always been one of the key differentiators over PCs. Networking?Another differentiator between early workstations and PCs was networking. All workstation class computers came with some sort of networking built in. Sun set the pace by offering Ethernet and TCP/IP software, which has of course become the de facto hardware and software standard for networking the world over. In those early days, few if any PCs were equipped with network capabilities, and when they were, it was usually slow, unreliable ARCnet hardware running proprietary protocols like Banyan Vines or Novell IPX, or AppleTalk running on glorified serial ports.These days, PCs are networking champs. The PCI bus architecture and the availability of low-cost Fast Ethernet hardware has led to ubiquitous networking through the PC industry. All Macs in recent memory have offered Ethernet as a standard feature, and many PCs are beginning to ship with Fast Ethernet built onto the motherboard. For those that are not, wholesale prices on inexpensive PCI Ethernet cards are approaching $10 across the USA. BSD UNIX has a long history with networking also. The current generation Internet Protocol, version 4, was popularized by its inclusion in 4.2BSD UNIX, used in many of the early UNIX workstations. The TCP/IP stack and sockets interface created by researchers at UC Berkeley quickly became the de facto standard, and remain so 15 years later. Even the WinSock network application programming interface (API) used in Windows 95, NT, and 98 is based on the Berkeley sockets interface. These days, BSD systems are still commonly found in network development centers. The availability of inexpensive commodity PC hardware with impressive network performance and the open community of BSD networking experts has created the largest virtual research and development lab ever envisioned by man. BSD systems are at the heart of advanced network research, development of new protocols, and the popularization of technologies that make the Internet work for people, like email and world wide web servers. Most, if not all, of the technologies people use to share work with each other over networks were developed on BSD systems, mostly on workstations. The World Wide Web, FTP, electronic mail as we know it, NFS and NIS, even the Domain Name System that glues the Internet together. That's a pretty impressive background, and with the continued growth of the Internet, BSD has a brighter future than past. BSD at Work(station)It certainly seems like we have all the ingredients for a good workstation environment here: a fast system, high quality video, excellent networking support. What is missing that makes BSD a bad workstation platform?Lack of applications? Depending on the application you are looking for, and your willingness to allow a vendor to own you through their proprietary data formats, this may or may not be a problem. Due partly to the recent love affair between the popular computing press and Linux, application vendors of every ilk have been considering, or re-considering their UNIX application plans. Several have already taken the plunge, producing UNIX versions of PC applications or bringing their old UNIX versions up to date. A few have embraced UNIX, or at least Linux, in a big way. Corel has produced an up-to-date Linux version of their WordPerfect word processor, and IISG has its Wingz 3.11 spreadsheet program for Linux and other UNIX systems. I have tried the Linux versions of both on my FreeBSD workstations and they work quite well. I have heard reports that StarOffice also works well, and offers compatibility with file formats from popular Microsoft Office applications. Interestingly enough, even Bill Gates seems to think UNIX (or at least Linux) workstations are suitable for word processing and spreadsheets. Addressing a recent forum for IT executives in Austin, Texas, USA, Chairman Gates said ``there was clearly a market for free software but this was confined to relatively simple applications such as word processors and spreadsheets.'' [3] This is an odd reversal; for many years the Microsoft marketing machine has maintained that UNIX workstations are unsuitable for general users because they are ill-suited to standard office tasks like word processing and spreadsheets. If your organization is still stuck in the rut of data file incompatibility, this might be an excellent time to begin breaking out of that rut. A switch to open standards, or any standards, will allow your users greater choice in applications. My employer, for instance, publishes all engineering documentation in Adobe PDF format, so the only requirement for a word processing program is that it supports getting the document into PDF format somehow. Lack of application support isn't as much a problem from the standpoint of traditional workstation usage. Many traditional workstation applications are already available for Linux, SunOS, SCO, or another system that BSD systems can emulate. In some cases, free applications are available or under development. In the FreeBSD ``ports'' system, for instance, there are currently 17 packages in CAD, 24 packages in deskutils, including day planners, project planners, and even a personal accounting program similar to the commercial Quicken product. The textutils directory includes classic tools such as Gnu roff, TeX and LaTeX, and modern tools for such metalanguages as SGML and XML. So where is the Problem?There is no problem other than user perception. While it is true that the freely available[4] BSD systems have concentrated on improving their performance for server systems, none of these changes have harmed workstation performance in any way.Some of the perception of BSD systems being unsuitable for workstation use may be an unintentional side effect of the BSD advocacy campaigns. A few years ago the FreeBSD Project changed their slogan from ``Turning PCs into workstations'' to ``The Power to Serve.'' This was not an intentional turning away from the workstation platform, but rather focusing on server systems where performance enhancements were needed. Paul Richards of Originative Solutions Ltd pointed out:
It is true that FreeBSD developers work hard to make FreeBSD a best of breed OS for the server market but as a group maybe we don't realize that the reasons why companies such as Yahoo! and imdb have chosen FreeBSD for their servers are the same reasons that would make it ideal for the desktop. Qualities such as performance and reliability are no less desirable for the desktop than they are for the server. Some seem to feel a standard ``look and feel'' would help the situation. Several abortive attempts at defining a standard LAF have been attempted and have failed. One of the reasons why these projects always fail is the diversity of potential solutions in the UNIX world, and the love UNIX users have for that diversity. Window Managers for X11 abound, ranging from old and simple user interfaces like twm and ctwm to big, complex monsters like Enlightenment, fvwm, and Afterstep. All have their relative strengths and weaknesses, and all are worthy of investigation. Recent advances in open X11 GUI systems have benefitted BSD workstation users greatly. As Jordan K. Hubbard pointed out in a recent Usenet posting, the development of KDE and Gnome have benefitted BSD users as much as Linux users; the KDE and Gnome applications are readily ported to BSD platforms and are often available for BSD systems in native distributions. Even the old saw about ``not ready for my mother'' may not be true. Peter Seebach recently gave his mother Linda his aging laptop running NetBSD. She now uses the laptop, along with the free word processor LyX and typesetting program TeX, to write newspaper columns and articles. See Linda's column in the Denver Rocky Mountain News for more information. The focus of BSD workstation efforts is not to replace PCs, which are created for a entirely different class of user, but rather to provide highly functional UNIX workstations, and to provide a suite of ``desktop applications'' so the workstation user doesn't have to turn their workstation into a PC just to write a memo or file an expense report. Keep in mind that the developers of these BSD systems use BSD workstations to design, code, and test their operating systems. Did someone say Notebook?As I mentioned above, I recently bought a ``notebook'' computer, a Sony VAIO PCG-F160 to be exact. This is a nice little computer, with a bright, clear 14.1 inch active matrix screen, solid comfortable keyboard and trackpad, a 300 MHz Pentium II processor, and 64 MBytes of SDRAM. It came with Windows 98 and a bunch of applications installed, most of which I had to delete in order to free up enough room on the hard disk for my software: FreeBSD and BeOS.This is the second notebook computer I've owned. The first one was purchased just a little too early; it was one of the first with a good color screen, a TI (now Acer) TravelMate TM4000E. It has a 486SX/25, 16 MBytes of memory, and no PCMCIA slots. It's just impossible to upgrade this computer to work with any modern software so I'm going to give it to my sister in law to use as a stand alone web browser. This new laptop, which I've named Homer (after the poet and scribe of great sea adventures) runs FreeBSD most of the time. I use Emacs to write code, HTML, text, etc. I use Netscape for web browsing and some email, elm for other email, and a variety of tools from the FreeBSD ports collection or elsewhere on the Internet for other activities. I read documentation in PDF format using Acrobat Reader, cross compile code for embedded SPARC systems using egcs, and use remote GDB to debug them. I even compile and run the occasional Fortran program just to remember where I came from.[5] I still have the satellite tracking program I worked on as part of my senior project; it tells me where NUSAT-1 would be if it were still in orbit. One of these days I should get the orbital parameters for WeberSat so I can track something that is still up there. All in all, it is quite an impressive little workstation, with a fast processor and memory, adequate disk space, a (relatively) big screen with the required minimum ``workstation'' resolution of 1024x768 pixels with 16-bit color, and networking that ``just works'' on two different physical networks,[6] one at home and one at work. I expected this to be an agreeable little computer, but I have been pleasantly surprised at just how much I like it. I was talking with a couple of co-workers today when one asked me how I was getting along with my new laptop. I surprised both of them and myself by replying that I doubt I'll ever buy another desktop system again. Let me close with a firm statement: if you need a UNIX workstation, BSD is an excellent choice. Many of the features that make it an excellent server also make it an excellent workstation. A full range of applications is available, for both traditional workstation tasks and so-called desktop productivity tasks. And the next time you need a workstation, think about taking it on the road with you.
Wes Peters, wes@softweyr.com
|
||