Advertisement

tech TALK

In my previous column, I presented Microsoft's latest version of venerable Windows as the root of all campus computing evil. Of course, the truth of the matter is that Windows 95 is nothing of the sort.

Although many of its features have existed in OS/2 or Windows NT for years, Windows 95 still represents a significant computing breakthrough. And, whether you consider Microsoft the Evil Empire or not, the sheer number of people that will experience Win 95--through upgrades or new computer purchases--will make it an instant market player.

The place to begin in a discussion of Windows 95 is under the hood. Although the changes to Windows are evolutionary and not revolutionary, Microsoft has made significant architectural changes to the operating system that improve its flexibility but increase its complexity.

The first significant change is direct support for 32-bit applications. The much-hyped 32-bit moniker describes the size of the chunks of memory that the computer can handle--four gigabytes in this case. Most versions of UNIX, Windows NT and OS/2 are all 32-bit operating systems.

Windows 95's younger brethren were 16-bit operating systems, able to access only 64 kilobytes (64K) of information at a time. Although it used an elaborate switching (or paging) system to give the illusion of addressing more memory, Windows 3.1 could still only process data in 64K chunks.

Advertisement

One of the implications of the 32-bit memory model is increased efficiency. Applications are no longer constrained by the cramped 64K segment limit. Instead, rewritten applications have a continuous ("flat") view of a four gig memory world. And therein lies the catch. Applications must be revised--which can be a few minutes of bit twiddling or many months of code pounding--to be savvy in the 32-bit world.

Sixteen-bit Windows applications--ones like Word 6.0 or Excel 5.0--will still run on the new platform, but will need to be upgraded to take full advantage of Windows 95. Why? Because only 32-bit Windows apps (and believe it or not, DOS applications) are preemptively multitasked in Windows 95.

What's preemptive multitasking? It's the second major architectural improvement to win 95. Like the 32-bit model, this feature has also existed for a long time, first appearing in the 1960's in the UNIX world and then finally migrating to the IBM personal computer platform in the early 1990's.

There are two main types of multitasking, which describes how the operating system schedules processor time for applications. Windows 3.1 uses the cooperative multitasking model, which makes the scheduler take a laissez-faire approach. Each application grabs as much processor time as it needs at the moment. Thus, for cooperative multitasking to work, applications must voluntarily cede control of the system to each other. While this strategy works quite will when applications are good citizens, one selfish application can effectively monopolize the computer.

In a preemptive multitasking system, however, the scheduler plays the combined role of computer dictator and central planner. Preemptive multitasking systems delegate processor time to each application. Once poorly written applications are stripped of their scheduling liberties, they can "in theory" no long bring down the system.

As I mentioned earlier, the problem with Windows 95's implementation of preemptive multitasking is that it only works with rewritten, Win32 applications. Win 16 applications continue to be cooperatively multitasked, hampered by all the pitfalls and instabilities that represents.

Although Win 95 is more stable than Windows 3.1, users will still experience those incredibly frustrating "General Protection Faults" (i.e. crashes) that can bring the entire operating system to its knees.

Next week, I will discuss more of the guts of Windows 95, including why some of those nefarious crashes occur.

Matt Howitt '97, Sports Editor of the Crimson, will be working for Microsoft this summer. He may be reached at howitt@fas.harvard.edu.

Advertisement