Believe it or not, some people still use Windows 98. Microsoft abandoned Windows 98 to the wolves in 2006 and no longer fixes known bugs or known security flaws in Windows 98. Yet some folk still use Windows 98. There may be a business reason such as a critical hardware controller that is built on Windows 98 for a manufacturing system that cost millions of dollars. Upgrading such systems can be very expensive so businesses usually keep them around for a very long time before upgrading. Other reasons may be personal. For example the user who is happy with Windows 98 because it does what she wants, her five year old PC she upgraded to in 2004 and had Windows 98 installed on is still running and she sees no reason to upgrade again.
However, hardware moves on. Most, if not all, new hardware no longer has Windows 98 drivers. When the critical system or the personal system hardware begins to fail then the user with Windows 98 may find that the new hardware will not work with Windows 98 due to lack of drivers. In such cases upgrading the hardware and reinstalling Windows 98 will likely be problematic to impossible. The option then is to get Microsoft Vista on a new PC, a huge, painful and possibly costly leap from Windows 98 if one wants a PC that will run Vista well. Upgrading a Windows 98 based control system for manufacturing or other critical business system may be impossible or very costly to do if one’s only choice is Microsoft XP or Microsoft Vista and new hardware for the production line or whatnot. One valid option is to go with a Linux distribution and a virtual machine like Sun Microsystems’ VirtualBox.
VirtualBox, also known as “vbox”, is another open source software project by Sun Microsystems, Inc. like their openSolaris, OpenOffice and other Sun OSS projects. What VirtualBox provides in layman’s terms is an emulated computer in memory on your real computer. The emulated computer is called a virtual machine or VM. The operating system that runs VirtualBox is called the host while the operating system running inside a VM is called the guest. The hardware on the host can be “virtualized” for sharing with the guest. In many cases where business control systems are involved this means the serial port would be shared with the guest for controlling the systems needing one’s old Windows 98 controller. All input and output through a serial port can then go to the control software running on the guest Windows 98 in the VM.
I have installed a Windows 98 guest in VirtualBox on my SOHO personal / business computer to try it out for this article. My first impression, once I got all the parts in place, was that it runs quite slow. I installed the SeaMonkey integrated browser to get a modern web browser on the VM but it loads and runs so slowly I found it to be unbearable to use. I searched for information on running Windows 98 under VirtualBox to see if there are “tweaks” one can do to speed it up. On my own I increased the VM RAM from 128MB to 256MB and the VM video memory from 8MB to 16MB. This seemed to help a little, but not much.
One should definitely read this if considering running a Windows 98 guest in a VirtualBox VM: http://www.virtualbox.org/wiki/User_FAQ#Windows98guests The slowness may or may not matter for a control system that largely gets set then runs unattended. However, it would be impractical for a user wanting to use the Windows 98 VM interactively. Other than a much faster CPU than my 1.5GHz AMD processor there appears to be little one can do as a user to speed it up. The developers apparently know about the slowness with Windows 98 VMs under VirtualBox but are not motivated to work on the problem since Windows 98 is so outdated. Unless someone wanted to invest a lot of money to get VirtualBox code tweaked to run Windows 98 there is little likelihood this will be fixed.
See the video of my Windows 98 virtual machine here: linux_vbox_w98.ogv
(OGG Theora video, 62,262,193 bytes, about 13 minutes or so in length. Get a player that can show OGG Theora videos here http://www.videolan.org/vlc/.)
During a conversation in the VirtualBox #vbox channel on the Freenode IRC Network a channel operater going by the nickname “klaus-vb” had this to say when I asked about speeding up a Windows 98 VM with a multi-core CPU: “… Multi-core doesn’t help much. clock speed helps, and what potentially also helps a lot (didn’t try win9x in a long time) is enabling hardware virtualization. [One] will of course require a cpu capable of this, and a bios which allows [one] to enable it. Just a few facts: 1 VM = 1 process, and in that process one of the threads executes the guest code. there are other threads in a VM process, and they can benefit from extra cores, but the thread which executes the VM code doesn’t get much faster usually. From this it should be obvious why higher clock speed increases the speed of a VM, but not necessarily increasing the core count. the latter of course helps if you run a lot of VMs. The fact that hw virtualization speeds up things would need to be checked. it does speed up real mode code, but win9x is doing weird things, so better check.” Unfortunately I do not have a computer with hardware virtualization available to check this as klaus-vb recommended, so caveat emptor.
Other open source virtual machines one may consider are Bochs and QEMU. For closed source virtual machines one might consider VMware. One of these might be a better option for running Windows 98. I will try them in the future and see.
This article has been accessed this many times:
Edit Thu Jun 25 08:10:28 CDT 2009: Add URL for VLC video player.