Windows95 - Friend or Foe?

By Martin Houston

I have just paid 69.95 of my hard earned cash on Microsoft Windows 95. I must admit that curiosity got the better of me. I resisted the hype overload for two days after the 24th of August but when I went shopping in town and saw it stacked up in every shop that had the remotest connection with computers! Even the Virgin Megastore is pushing Win95 alongside the CDs and Videos.

Almost all the copies on sale seem to be CD upgrade from existing Windows ones. Although in theory Windows 95 is available on floppy disk the buyer is given an incentive to buy the CD version in the form of a 'Doom like' 3D video game called Hover. With a package the size of Windows95, or Linux CD is the only sane way to go anyway. I have already had to install the software twice so if it had been a floppy version it would probably have ended up in the bin by now!

What do you get for nearly seventy quid? Physically very, very little. Windows 95 comes in a very stout double layered cardboard box containing a very slim 'getting started' book, the CD itself in a cardboard sleeve and a few other pieces of paper including a lengthy licence agreement disclaiming any liability for the software actually working and a 'too good to miss' offer of Microsoft Money for Windows95 of just 12. Microsoft's suddenly aggressive pricing in the home finance market couldnt have anything to do with the ruling that it wasn't allowed to buy the market leader 'Quicken' could it?

My curiosity did not stretch as far as the Microsoft Plus add on which is at nearly 35 is half as much again to shell out for stuff that would and should have easily fitted onto the Windows95 CD. You will have to be content with some first impressions of the Operating System itself.

Firstly I had heard rumors that Windows95 was none to tolerant of other people's operating systems so before I installed it I made a boot floppy that would boot me back into Linux and tested it to make sure that it worked. It was a good thing that I did to as Windows95 without asking or saying what it was doing overwrote the primary bootstrap making the hard disk boot Windows95 only rather than the choice of Linux or DOS/Windows that I had previously. You will be relieved to know that '95 seems to be happy if the first stage bootstrap that gives the choice of which partition to boot is restored. This is simply done for the Linux-FT Unifix boot manager: cat /lib/boot0 >/dev/hda But check detailed instructions for your own system.

Windows95 can be installed from DOS but if you try to do so it says that it prefers to be installed from an existing copy of Windows. You must have the setup disk of your Windows software handy if you insist on starting with a bare DOS boot-able hard disk partition as I did the third time around.

It installs from the CD just like any other CD based Windows software. If your existing Windows is running it comes as no surprise the Windows95 knows about all your existing hardware, printers, program groups etc. What happens when your existing Windows installation is sick and confused? You will probably end up with a sick and confused Windows95. You do have the option of clearing down your hard disk to bare DOS (and CD drivers) first but 95 will be less 'magic' about knowing what hardware you have.

Installation of '95 went smoothly except for when it first attempted to reboot from DOS into Windows95. It booted up but was left in DOS that insisted to be suppled with the location of COMMAND.COM. A reset solved this minor hiccup and Windows 95 booted correctly the second time, obliterating the primary bootstrap in the process (good thing I had made a Linux boot disk!). This did not happen when I later installed onto a bare partition with only DOS6 on it so it was maybe a quirk of my original device driver laden DOS partition.

The much vaunted Windows 95 user interface is quite easy for anyone who has used Motif or a Motif like Window Manager under Linux. Instead of the pull down 'window manager' menu in the left hand corner for Maximize, Minimize, Move, Close etc there is now a destroy window button in the right hand corner where the Maximize button used to be This takes some getting used to but it is quite nice being able to dismiss unwanted windows, which seem to multiply on your desktop like rabbits, with a single rather than a double click - close was the default action for double clicking on the menu button that has now gone. It's more easy to make a mistake though and I would have to rely on application writers asking for confirmation if unsaved information was in danger by the close.

The best feature of the desktop is the collection of recently used documents. It is a GUI equivalent to the shell history mechanism that many people find vital to sane living! Windows95 can be driven from a console window (like OS/2) if desired. However a Linux user will soon be frustrated that the paths \still\use\backslashes with Unix style /forward/paths not recognised. It would be nice if the maddening old compatibility between DOS and Unix could be laid to rest.

DOS and Windows have long been crippled by the 8+3 file name limit. Windows 95 removes this limit and allows long file names. However the file-system itself is still DOS FAT. The long names are 'mangled' with the long form of the name being stored somewhere not immediately apparent when viewed as a DOS rather than Windows95 file system. This is similar to, but sadly not compatible with, the UMSDOS file system that allows Linux to run, albeit with reduced efficiency, on top of the FAT file system. The support for long names does not extend to 'Rock Ridge' format CDs so don't expect to be able to access your Linux CDs from Windows95 in a meaningful way.

The fact that a Windows95 file system is almost DOS FAT led to the loss of my first installation. I booted up Linux again and all went well until it came to auto-mount (with a consistency check) my DOS (now Windows95) file system. The FAT file system checker complained that many files put on the file system by Windows95 had illegal characters in their names! This left Windows 95 in a very sick state. I had to start again (thank goodness for CD!).

This problem can be solved by specifying your DOS file systems be mounted read only from the Linux /etc/fstab. In time, no doubt the Linux FAT file system checker will be fixed to know about the Windows 95 variant of FAT.

One claim that Windows 95 makes and certainly lives up to is a great ability to play the biggest and most demanding 32 bit DOS games. I was able to play DOOM with a noticeable improvement in smoothness. This is with a bare Windows95 installation with no background tasks that I know about. The reason for this improved performance is simple and illustrates the single biggest difference between Windows95 and what has gone before: DOS has been moved totally to Virtual86 mode. Windows95 is like Linux DOSEMU (which is also now reported to run 32 bit DOS games well). Don't take this as a statement of fact but the most likely reason for Windows95's sparkling performance with games like DOOM is simply the fact that calls from the 32 bit DOS extended code to DOS sitting in virtual86 mode segments is far, far less expensive in CPU cycles than the soft reset and associated tedious mucking about needed to get the CPU back into real mode so that naked DOS could work. Multi-tasking DOS programs from virtual86 mode is hardly new technology. It has been around nearly as long as the 386, almost a decade in fact!

What Microsoft have done is find an ideal application in servicing the 'DOS' needs of otherwise 32 bit software without having to do that painful reset into real mode that swallows up so much time in a DOS extender. You don't need Windows95 to run 32 bit DOS games. DOSEMU will also do that job for nothing but Windows wins on ease of use and that is a pretty big persuasion for a games playing market.

Wanting to know more about the guts of Windows 95 I went to the book shop and bought "Unauthorized Windows 95" by Andrew Schulman (ISBN 1-56884-169-8). I would thoroughly recommend this book to anyone who wants the low down on Microsoft's rather predatory business practices and the nitty gritty facts of Windows 95 in that it still uses a great deal of 16 bit code, from within Virtual 86 mode, not just to support 16 bit applications but as a fundamental part of Windows 95 itself. The 95 bit is pure marketing. What you are buying is MS-DOS 7 and Windows 4.0 (as reported to MSD.EXE if you run it) welded into an inseparable whole. Andrew points out that many of the features of Win95 using virtual 86 mode date back to Windows 3.0 or even earlier so the package is a small step of evolution not a revolution! Is Windows 95 a 'must have' for the Linux User? If you have already tackled the learning curve of getting to know Linux then you will find there are ways to do anything that Windows95 can do in Linux better and cheaper, although not as prettyly. Linux is for people who want to take an interest in how computers work, Windows 95 takes a more black box approach, it will un-doubtedly appeal to novice computer users.

Windows95 comes with absolutely no programming tools - not even a 32 bit version of BASIC. This is a bit of a departure for Microsoft whose original money was built on BASIC. In contrast to the 70 quid that a bare Windows95 operating system costs you can get a complete Linux distribution and money left for a decent book as well!

Windows95 has done us a favour by nailing a few dozen nails into the coffin of that dreadful abuse of the 386/486/Pentium processor called Real Mode. Unless you have a DOS or old Windows application that so so dirty that it just will not run in v86 mode, real mode DOS is now dead and good riddance!.

If you part with your cash for a whole new raft of commercial software that will only run with Windows95 then you will of course need it. However many of the new 'features' that Windows 95 promises we in the Linux community have known about for years. Fully 32 bit programs are fast, reliable and can handle amounts of data that would make a 64k segmented program curl up and die.

If you really have to use Windows95 then the good news is that it has built in TCP/IP so you will be able to easily network it to your Linux machine. No X Windows like XFree86 bundled though. The ping and ftp applications are very basic character mode ones although the telnet is a true Windows app. Other winsock compliant stuff should work ok though.

Sadly the hugely dominant position that Microsoft has means that there will be much software written for and 'locked in' to Windows 95, particularly for the home entertainment and games markets. Like it or loath it many of us will have to adapt to a dual world of open (Linux) and proprietary (Microsoft) software systems living side by side.

If the internal architecture of Windows95 is up to the job, bearing in mind that much of it still seems to be much 64k segment limited 16 bit code, it may even be possible to use it as a host for a Linux kernel so that you end up with one powerful system that is both Linux and Windows95 at the same time. It has already been done commercially with Windows NT and System V Unix so there is no reason that the same thing could not be done with Linux.

This would have big advantages in that developers could be weaned into an open software system while still being able to use some software that is chained to the Microsoft APIs. A Linux 'parasite' living with Windows could be the only thing that stops Microsoft's conquest of the whole software industry.

If a parasitic Linux could be developed that was still 100% compatible with free Linux then developers need never fear being locked into a Microsoft agenda on what they can and cannot do with the technology.

Don't want to be locked in to Microsoft as your only software supplier? Then lobby and encourage other software vendors to produce Linux versions of their programs as well as Windows. Apart from anything else it will be good discipline for authors to understand just how and where they are being locked into Windows never to regain their independence.

This is a momentously important time for the whole computer using world, be aware of the issues and don't fall for the hype!

I end with a quote from Andrew Shulman's excellent book:

Most Software executives view Microsoft as the meanest shark in the ocean. That is a mistake. Microsoft is no longer a shark. Microsoft is the ocean itself, in which all the other fish must live...
Roger McNamee, "Sobering Up" Upside, March 1993
To which I add:
But the open world of Linux is the Dry Land and some creatures can evolve not to need the ocean at all!