[This originally appeared on the MacInTouch Web server,
http://www.macintouch.com.
The author graciously agreed to allow reprinting in the Washington
Apple Pi Journal.]
They Said It Couldn't Be Done
I spent this past weekend trying to do something that many experts
said could not be done. By the end of the weekend they were
speechless. I now have an Apple G3 Macintosh running a dual OS,
dual-boot, Windows 95/Windows NT 4.0 Server partition, with the
Windows NT environment running Sybase System XI SQL Server for NT,
supporting full communication with Client applications also running
in the same Windows NT space. First a little background and the
benefits of this setup, primarily, funny enough, as a test bed for
Windows work.
The foundation for this dual-OS, dual-boot environment is a stock 266
MHz G3 Power Macintosh (desktop case, with Zip drive) with a total of
64MB of RAM and a 4GB drive, running the Mac OS 8 that shipped with
the machine, loaded with the normal Mac OS 8 extensions ("Mac OS 8.0
All" in the Extensions Manager). It is truly a stock machine, with
just an additional 32MB of RAM above the 32 it ships with. I am
running a 17 inch Sony 200ES monitor and the whole thing was
purchased from CDW for about $3,150.00 including tax.
Next I installed Virtual PC from Connectix, which installs Windows 95
loaded onto a virtual C: drive along with the application. VPC costs
$149.00, and includes a license for Windows 95. With Windows 95
running, I added a second virtual D: drive and assigned it a 511MB
partition. I then installed Windows NT 4.0 from Microsoft Back Office
on the D: drive, which automatically put a boot file on the C: drive,
creating the dual boot environment. This boot file is run when I
launch Virtual PC from the Mac desktop and allows me to choose which
Windows operating system I want to run.
This is where the fun and real usefulness started. After getting NT
installed, (no quick feat what with the multiple reboots, the disk
checking, the conversion from FAT to NTFS, installing the latest
Service Pack, etc., etc.), I was ready to install Sybase System XI
for NT. At that point I paused. I had never installed NT before and I
had somehow screwed up the first time with the conversion from FAT to
NTFS, so this was my second time through already. I was satisfied
with things so far, so I quit out of Virtual PC and made copy of the
whole VPC folder, which between the VPC application, the Windows 95
virtual C: drive (384MB) and the Windows NT virtual D: drive (511MB)
was almost 1GB. That took about 6 minutes via Control-D in the
Finder. I put the copy aside and went back into Virtual PC which at
that point had Windows NT Server 4.00 set as its default boot
environment.
I then started to install Sybase. After it installed (there were some
problems, but I had never installed Sybase, either, so I figured I
would work on those later), I started installing the PowerSoft tools
but about half way through I realized that they were installing on
the C: drive. I didn't want this, because I was trying to keep the
two environments separate. So after its was done, I quit from Virtual
PC, threw away the folder I was working with, copied the original
'clean' C: and D: drives back to the VPC folder and tried again.
Total time to restore to a 'clean' environment, about 10 minutes. No
hassles with uninstall, no reinstallation of an OS, nothing. Just a
Finder copy.
The Experts Cast Gloom
So, I went back in and installed Sybase again. I was having the same
problems again, so I got a Sybase guru friend of mine on the phone to
help me solve them. He ended up sending me a file I needed which
fixed most of the problems but we still felt we needed some
additional help, so he got an NT guru friend of his on the phone.
After the introductions, I started explaining the situation to him.
"Well, I've got this G3 Macintosh with NT running...," I said, and he
interrupted me. "You can't run NT on a Macintosh." "Well, I'm running
it inside an emulator called Virtual PC," I said. "An emulator? It
will never work," he said, and began to lecture me about how NT was
written to run only on very specific hardware, that you can't run it
on just any old PC and that it interacts very closely with the
hardware, getting 'very close to the metal' and that there was no way
it would run in an emulator. I explained to him that it certainly
looked like it was running, that I was looking right the desktop as I
was speaking to him and that I could open windows, run programs, look
at CD ROMS, floppies, etc.
That seemed to catch him short, so he started taking me through some
administration programs, crowing all the way that they would surely
show me where all my problems were, that they would not be solvable,
and that they would indeed prove to me that NT could not run on a
Mac. So we went through the various diagnostics, going through one by
one and passing each time. I could tell that he was lapsing quickly
into his NT world, asking me to check things, getting the responses
from me, predicting on various occasions what the results for passed
tests would be and being pleased when the machine indeed passed, etc.
After a few minutes of this, after I was sure he had forgotten what
machine we were working on and after it was looking good that the
installation had been successful, I asked him, based on the speed of
the responses I was giving, how fast he thought the machine was. He
responded, "Oh, pretty fast, why?" and I said, "Like maybe somewhere
between a Pentium 133 and 166?" He said, "That sounds about right,"
and I said, "It's running on a Macintosh." He responded with a very
empty, "Oh, yea, I forgot."
The long and the short of it is that we got everything up and
running. I was happily adding databases in Sybase, creating tables,
inserting data, etc. The problem with the Sybase installation was a
stupid one, typical when installing something like that for the first
time. But by the end of the process, both of the gurus were very,
very impressed with what I had accomplished and the speed of the
machine, considering the layers of OS and emulation. The NT guy ended
our conversation by saying to me, "Man you are way, way, way out
there on the edge," and that he was really impressed with what I had
done.
Why Do This?
Now, aside from a testimonial about the raw speed of the G3 and the
capabilities of Virtual PC, there are some practical reasons for this
type of an environment to be created and used regularly, as I said
above, as a test bed for Windows programs. My experience with Windows
machines (and, to be fair, in some cases with Macintosh applications
as well), is that files and DLL's get scattered all over the place,
sometimes interfering with one another. I am just not enough of a
Windows expert to be able to diagnose these problems when they occur
and I don't want to have to hire someone every time I want to install
something new. My experience with the Uninstall option of most
Windows programs is that they are spotty, at best, and often do not
completely clean up after themselves. Typically, at least one thing
or another is left broken.
As with my experience above, having to install Sybase a second time,
it was a blessing to so easily roll back to a prior version of my
environment without having to resort to uninstalling anything,
reinstalling the OS or having to stitch back together old or modified
DLLs. The ability to have the freedom to easily try an installation
as many times as needed to ensure that it goes right, especially when
the setup is complicated and has many parameters like a database
product, is invaluable. In addition, once installations and settings
have been done to my satisfaction, I have the ability, assuming that
there is enough disk space available, to have multiple virtual
machines available to run, each with its own configuration. So I
might have a Sybase NT server, an Oracle NT server and an MS SQL
Server, each ready to run at a given moment, each configured to my
liking. No backing up to tape and restoring from backup, no one
database product interfering with another, etc.
There is another plus. One feature of Virtual PC is that I can save
the state of the virtual machine when I quit from the program. This
saves a file to disk, varying in size from a few megabytes to over
20MB, which is the complete state of the machine as it existed when I
left VPC, including any running programs, processes, services, etc.
It basically places the Windows environment in a state of 'suspended
animation,' waiting to be resumed again when I double-click on the
'Saved PC State' icon in the Finder. Depending on the size of the
file, it takes from 10 to 30 seconds to come up, but there I am
again, inside my Windows environment. It sure beats waiting for
Windows NT Server to start up.
Finally, since VPC uses the memory assigned to it and then gives that
memory space to the virtual PC it is running, by adding memory to the
G3 Macintosh, you are adding available memory to your PC. When I
first started this experiment, I had assigned 50MB to Virtual PC,
resulting in a PC with 39MB of memory. At one point I reset the
memory assigned to Virtual PC to 55MB (I am on a 64MB machine) and
sure enough, the next time I booted my virtual NT Server, it showed
44MB of memory. This method sure beats those Pentium cards for the
Macintosh where if you want to increase the RAM for the PC you have
to add real RAM to the card and you are unable to take advantage of
that extra memory on the Macintosh side. In one case since I did all
this, we launched Virtual PC on a 288MB real-RAM UMAX clone,
assigning 96MB to VPC , resulting in an 85MB PC.
Virtual Demos
I was able to put this weekend's worth of work to immediate advantage
and was in fact the reason I attempted the whole process to begin
with. I needed to make an on-site demo (the client is out of town) of
a client/server application we were developing in Omnis Studio to go
against a Sybase database. I didn't want to start with the whole
hassle of making sure his server had a database established, the
tables all created and populated with sample data etc. It was just
too early in the process. I didn't want to have to travel out of town
for a demo and I certainly didn't want to drag our server along. So,
having established a folder that contained Virtual PC along with
virtual C: and D: drives, I copied the whole folder to a Jaz
cartridge and shipped it to the client, ready to run on his G3 or
even another powerful Power Macintosh like an 8600 or 9600. He was
able to run the whole demo off of the Jaz cartridge and everything
went very well.
In conclusion, a G3 Macintosh running Virtual PC is just about fast
enough for an everyday, production Windows machine. However, it is
undoubtedly fast enough for testing, even intensive and drawn out
testing; in fact no different than if one were to have an older
Pentium box lying around as a test machine. Despite that, there are
some clear advantages that a Virtual PC/G3 Macintosh has over even a
native PC, fast or otherwise, and no matter which Windows operating
system you are using. The ability to easily roll back to prior states
of the machine I find to be invaluable, as is as the ability to have
many PC's, each with their own configuration. And the ease with which
one can save the state of the machine and restore it the next time is
also a real time saver. Finally, the way that Virtual PC can save
money with its dual memory usage certainly makes the whole
combination a very cost effective solution.
David Ferri, President, Word Master, Inc. 320 Earls Ct. Deerfield, IL
60015
david-ferri@wordmaster.com
http://www.wordmaster.com/wmi/wm/
Return to electric pi
Revised January 3, 1998 lic
Washington Apple Pi
URL: http://www.wap.org/journal/