If you think you're the only one still using DOS applications to run, or help run, your business, you're wrong. Many manufacturing and engineering companies rely on DOS applications that run on x86 computers connected directly to printers via LPT ports. Do you still backup those systems to floppy disk or to tape?
This situation is bound to fail.
How much a failure will cost you will depend on how heavily you rely on that system and its data. A virtual machine running DOS and your application is the answer you're looking for, and it's a free answer to boot.
Here's a scenario for you. You arrive at your office to find your old DOS computer dead with no chance of recovery or survival. It's history. However, you do have those backups. You install a new hard drive, reinstall DOS from floppies, reinstall your software, and you're ready to restore your data. Now, where are the disks for that backup software? Can't find them? No? The tape drive manufacturer doesn't have them either. You also have some floppy backups those good old reliable floppy disks safely stored in a plastic disk keeper. You retrieve the latest diskette backup from two weeks ago and attempt to restore from it when you hear an odd clicking sound. The message, "Drive A: Not Ready. Abort, Retry, Fail?" appears on the screen as if an ancient microbe awakened after a long sleep to infect you with an incurable plague.
That's an awfully bleak picture isn't it? It is, however, realistic realistic to the point of being an actual and recent scene that played out at the company where my father-in-law works. After a 37-minute diatribe on disk-to-disk backups and upgrading to newer, supportable versions of software, my careworn father-in-law looked at me and asked, "What now?"
"We'll put that old DOS application in a virtual machine," I said with authority. And that's just what we did.
To create a DOS virtual machine, you'll need to download Microsoft's Virtual PC 2007. Install Virtual PC 2007 on all computers that must run the DOS program. Select one computer as the "master" from which you'll create and configure the DOS virtual machine, install DOS, install your application, setup a printer and test the application. Once created, you'll copy the virtual machine file (.VHD) and it's corresponding configuration file (.VMC) to all other Virtual PC enabled computers. On those computers, create a new virtual machine, select Use and existing virtual machine, and point to the configuration file.
When creating the new DOS virtual machine, adjust the memory to 16MB and the virtual disk size to 500MB or less since DOS has no need for more than 16MB of RAM or disks larger than 500MB. You'll need to boot the new virtual machine from a DOS boot disk and use
FORMAT C: /sto prepare the virtual machine's hard disk to boot. Install DOS and your application to the virtual machine just as you would any physical machine.
It's worth noting that DOS applications often have specific needs for the
CONFIG.SYSfiles, so you'll have to configure those for your application on the virtual machine.
The important thing to remember about using a virtual machine is that the virtual machine represents a whole computer. Just because it looks like an application running on your Windows desktop, doesn't mean it isn't a completely independent computer. It just happens to be sharing your computer's resources. The biggest advantage of running your application in a virtual machine is safety. Backup your entire virtual machine by simply copying it from one place to another. To restore it, copy it back to the original location. By using a networked computer on which to run your virtual machine, you've essentially enabled network backup for your DOS machine.
You might wonder why you wouldn't use your Windows computer to host the DOS application with a shortcut and some compatibility mode tweaks. If your application never accesses any hardware on the host computer, it might work. Be warned, however, that if you need to print, use a serial port or access the hardware in any other way, it probably won't work. Newer Windows operating systems are no longer DOS-based; nor do they even have what we would call DOS.
Virtualization reaches all levels of computing from the desktop to the data center. This particular application of virtualization technology illustrates the technology's versatility, how it saves money and how it is solves common computing problems. Virtualize your DOS applications to save money, minimize the need for complex backup plans and preserve your company's legacy data.
Ken Hess is a freelance writer who writes on a variety of open source topics including Linux, databases, and virtualization. You may reach him through his web site at http://www.kenhess.com.