
In the second of our three-part series on moving from a big
system to a PC, it helps to know what to expect
By Tom Yager
To paraphrase Rodney Dangerfield, ``Windows don't get no
respect.'' Microsoft Corp.'s megahit graphical environment is at
once universally accepted and widely defamed. It's easy to
mutter about its technical shortcomings--dependence on DOS,
cooperative multitasking, poor memory protection--but if you want
to do business, you can't avoid Windows. It's where all the best
applications run.
If it irks you to lower yourself by using an environment used
by tens of millions of ordinary computer users, take heart: It's
possible, with some effort, to build a worthwhile working
universe around a Windows system. A universe that includes
everything you're used to: dozens of shell commands, TCP/IP, and
electronic mail, even the X Window System. Strangely, I find my
well-tuned Windows environment more functional and fun than the
Unix systems I use. Blasphemy, I know, but true.
Configure for Success
Just as with last month's column on DOS, I suggest people have
a healthy familiarity with Windows' foibles to avoid unpleasant
surprises. The first such unappetizing fact is that Windows runs
atop DOS. That means it inherits all the memory management
problems and other weaknesses that make DOS so darned lovable.
The best advice I can give here is, ``Keep your configuration
simple.'' If you try to dress your PC up like a multiuser
beast--loading it with multiport serial cards, network adapters,
and disk and tape controllers--you're asking for trouble. All
these extras can work fine under DOS and then fall apart on you
when you launch Windows.
Configuring your machine properly in the first place is a good
way to avoid performance and reliability issues. Most commercial
Windows applications run splendidly in eight megabytes of RAM. If
you have the means, bump it up to 12 or 16 megabytes. Windows
does have virtual memory, but you must remember to ask Windows
for it: a permanent, preallocated virtual memory file is not
built during Windows installation. The default, a temporary
dynamic virtual memory file, performs poorly by comparison.
If you're building a computer to run Windows, find out if the
disk controller specifically supports Windows. Any disk
controller that works under DOS will work with Windows.
Performance suffers with some devices because Windows is forced
to use the controller's BIOS ROM. Modern PCs copy this ROM into
RAM to make it run faster, but it still runs in real mode.
Windows runs in protected mode, so every disk access requires a
switch to real mode and back. The result: less-than-stellar disk
performance.
There are two possible solutions: use an AT-compatible hard-disk
controller or buy a controller that comes with Windows protected-mode
drivers. An AT-compatible controller, typified by the popular
IDE (Integrated Drive Electronics) standard, benefits from code
inside Windows that talks directly to the controller, bypassing
the BIOS. If you want SCSI, choosing a controller with Windows
drivers will offer the same advantage. When Windows can talk
directly to your controller, it is able to spend more time in the
faster protected mode and transfer data 32 bits at a time.
Those disappointed by Windows' performance often formed their
opinions by watching a system with an unaccelerated display
adapter. Dumb frame-buffer VGA cards still exist, and you might
be tempted by their bargain-basement price. But avoid them,
because stepping up to an accelerated card (probably costing
between $150 and $350) will give you many times a VGA card's
performance. Windows is popular enough to have display hardware
optimized to run it well. As with workstations, many commercial
Windows applications expect to run at resolutions of 1,024-by-768
pixels or greaater. More than 8-bit color is rarely required,
but if you're running graphical applications, you'll benefit from
a display card that gives you 16 or 24 bits of color. Most
Windows accelerators let you raise the color depth by running
(even temporarily) at a lower resolution.
If you just bought your system, it may have come configured
with Windows for Workgroups. You might upgrade to this Windows
version if you have not already because it boosts disk
performance and comes standard with slow (but handy) peer-to-peer
local-area network software. Add a $69 Ethernet card, and you
have a network. Basic e-mail and group scheduling software is
included as well.
Getting Along
Like DOS, the standard Windows environment is pretty sparse.
The desktop metaphor is provided by Program Manager, a Windows
application. Here, executable programs are represented as icons.
Unlike the Macintosh and most Unix desktop shells, files don't
show up under Program Manager. Applications are collected into
program groups, each group getting its own icon that expands into
a window. There is only one level in the hierarchy: Program
Manager's representation is flat below the first level and bears
no relation to the structure of your file system.
Most large-system users find Program Manager all but useless.
I find it helpful as a graphical reminder of which applications
I've loaded onto my hard drive, but beyond that, it's often more
hindrance than help. This problem is compounded by the fact that
there's no standard command-line program launcher. You can't
launch Windows programs from a DOS session window.
Fortunately, you have plenty of work arounds. There are
command-line launchers available as shareware. I found a handful
of them on the Walnut Creek (Walnut Creek, Calif.) ``CICA
Shareware for Windows'' CD-ROM, along with a marvelous collection
of other Windows goodies. Another approach is to replace Program
Manager entirely. You can plug in any Windows graphical shell
you like. Again, there are several shareware replacements. In
the commercial domain, I've used Central Point's PC Tools for
Windows, which includes a graphical shell that's considerably
better than Program Manager. Norton Desktop for Windows is also
generally well reviewed. As an aside, Hummingbird's Exceed X
Windows server includes a lightweight but versatile pop-up menu
shell replacement for Program Manager. You can use that shell
even when you're not using the X Window System.
The more expedient solution is to employ an underused Program
Manager feature: shortcut keys. You can configure every
application icon with a shortcut key that launches its
represented program. On my system, Control-Alt-D opens a DOS
session window, Control-Alt-T starts a Telnet connection to my
Unixware host, and Shift-Control-Alt-F runs Framemaker.
Contrary to some horror stories, Windows does have
multitasking capabilities and can multitask acceptably. If
you're a Unix person, you will miss transparent multitasking.
But with Windows I can Zmodem a file into my PC at 19.2 Kbps in
the background while I'm writing my book in Framemaker. There
are combinations that don't work. A C++ compile, for example,
usually leaves nothing of the CPU for other programs.
Build It Up
Like DOS, making Windows a homey hangout is a matter of
choosing the right accessories. My main Windows system is a
modest little box, but I have its software decked out nicely. I
use Netmanage's Chameleon 4 to make my TCP/IP and NFS
connections, and just before writing this column, I used
Chameleon to get my Windows box on the Internet using Point-to-Point
Protocol (PPP). Once I got some modem glitches ironed out,
I was surprised at how easy it was to get connected and how
versatile the connection proved to be. The Windows Sockets
(Winsock) standard lets Chameleon form a bed of TCP/IP services
on which other applications, even shareware, can lie. NNTP
(Network News transport protocol) news readers, Mosaic, Gopher,
and other Internet tools all exist as native Windows programs;
most are shareware.
I also run the MKS Toolkit for DOS on this system. Windows
lets you pop up DOS emulators, each running either full screen or
in a window. By the way, the procedure for making your DOS
emulators run in windows isn't at all obvious. Run the PIF
(Program Information File) editor, load the file
dosprmpt.pif, and click on the radio button to
change it from the default ``full screen'' to ``windowed.''
These DOS sessions can become just like local terminal sessions
with the MKS Toolkit installed, giving you dozens of Unix-identical
commands, including a Korn shell. I run it less to make my
system feel like Unix than to have a good collection of tools at
my disposal.
Hummingbird's Exceed gives me X Window System access to the
Unix systems in my lab. It's fast, and it's satisfying to run
native Windows and X applications side by side. The right way to
do it, by the way, is to use a Windows PC and remote out to other
systems. I have yet to see a Unix-based software or hardware DOS
and Windows emulator that works right enough of the time. Exceed
also has a virtual-screen capability that extends to Windows
programs.
I don't quit there. Also stuffed into my PC is the Winfax Pro
fax package, Video for Windows (motion video playback), the
Borland C++ compiler, Visual Basic, Smartcom for Windows serial
communications software, Photoshop, Framemaker...and these are
just the pieces I use every day or nearly so.
True Like
Am I a Windows fan? I can't claim that. I want freedom from
DOS, which Windows 95 promises to provide. I freely admit to
being a huge fan of the thousands of applications, commercial and
shareware, that run under Windows. I've been a user of
practically every type of computer system, from Macs and Amigas
to IBM 370 mainframes. In all that time, I've never seen
elsewhere the variety of quality software that exists today for
Windows. If you want what some other platform has to offer, it's
easier to make the connection with Windows than anything
else.
In the next column, I'll discuss making the move down to a PC
from a developer's perspective.
|