Few things in this life are as frustrating as an
operating system that won’t operate, either because Windows itself has
given up the ghost or because some program has locked up solid and taken
Windows down with it. Fortunately, each new version of Windows seems to
be a little more stable and a little better at handling misbehaving
programs than its predecessor, so at least we’re heading in the right
direction.
It’s still early, but it
looks as though Windows Vista continues this positive trend. Vista comes
with a passel of new tools and technologies designed to prevent crashes
and to recover from them gracefully if they do occur. The next few
sections take you through the most important of these stability
improvements.
I/O Cancellation
If
you’ve used Windows for a while, you’ve probably come across a Windows
Error Reporting dialog box similar to the one shown in Figure 1.
This error message is generated by the Windows Dr. Watson debugging
tool, and it includes not only a description of the error, but also the
option to send an error report to Microsoft. This report includes
information such as the problem type, what program or device caused the
problem and where within the program or device the problem occurred,
system data such as the OS version, RAM size, and device data, and
associated files that might aid troubleshooting, such as
system-generated listings that detail software behavior before the
problem occurred.
Note
Many people who have
clicked Send Error Report have wondered why they’ve never heard back
from Microsoft—not even a simple “Thank you.” That’s not surprising
because Microsoft has probably received hundreds of thousands, perhaps
even millions, of these reports. Even token responses are out of the
question.
This program continues
with Vista’s new Windows Error Reporting service. This is an opt-in
error-reporting service designed to provide Microsoft and program
developers with much more detailed information about program crashes.
Tip
Vista offers a limited set
of customization options that control the behavior of the Windows Error
Reporting service as well as the contents of the reports. Select Start,
Control Panel, System and Maintenance, Problem Reports and Solutions,
and then click the Change Settings link. For more option, run the Group
Policy Editor and open the Computer Configuration, Administrative
Templates, Windows Components, Windows Error Reporting branch.
That
can only be a good thing because it’s clear that these kinds of reports
are useful. Microsoft has received and studied many such reports over
the years, and we’re starting to see the fruits of this labor in Windows
Vista, which comes with built-in fixes for many of the most common
causes of program crashes. The most common of these by far is when a
program has made an input/output (I/O) request to a service, resource,
or another program, but that process is busy or otherwise incommunicado.
In the past, the requesting program would often simply wait forever for
the I/O data, thus resulting in a hung program and requiring a reboot
to get the system running again.
To prevent this all-too-common scenario, Windows Vista implements an improved version of a technology called I/O cancellation,
which can detect when a program is stuck waiting for an I/O request and
then can cancel that request to help the program recover from the
problem. Microsoft is also making I/O cancellation available to
developers via an API, so programs, too, can cancel their own
unresponsive requests and automagically recover themselves.
Reliability Monitor
In previous versions of
Windows, the only way you could tell whether your system was stable was
to think about how often in the recent past you were forced to reboot.
If you couldn’t remember the last time your system required a restart,
you could assume that your system was stable. Not exactly a scientific
assessment!
Windows Vista changes all
that by introducing the Reliability Monitor. This new feature is part of
the Reliability and Performance Monitor. You load this
Microsoft Management Console snap-in by pressing Windows Logo+R, typing perfmon.msc, and clicking OK. In the console window that appears, click Reliability Monitor.
Reliability Monitor keeps track of the overall stability of your system, as well as reliability events,
which are either changes to your system that could affect stability or
occurrences that might indicate instability. Reliability events include
the following:
Windows updates
Software installs and uninstalls
Device driver installs, updates, rollbacks, and uninstalls
Application hangs and crashes
Device drivers that fail to load or unload
Disk and memory failures
Windows failures, including boot failures, system crashes, and sleep failures
Reliability Monitor
graphs these changes and generates a measure of system stability over
time so that you can graphically see whether any changes affected system
stability (see Figure 2).
The System Stability Chart shows the overall stability index. A score
of 10 indicates a perfectly reliable system, and lower scores indicate
decreasing reliability.
Service Recovery
A service
is a program or process that works in the background to perform a
specific, low-level support function for the operating system. You can
see all the services on your system by following these steps:
1. | Click Start.
|
2. | Right-click Computer and then click Manage.
|
3. | Enter your User Account Control credentials. Vista displays the Computer Management window.
|
4. | Select Services and Applications, Services. On most systems, you’ll see more than 125 different services listed.
|
Many services are
mission-critical, and if any one of these crucial services fails, it
almost always means that the only way to recover your system is to shut
down and restart your computer. With Windows Vista, however, every
service has a recovery policy that enables Vista to restart not only the
service, but also any other service or process that is dependent on the
failed service.
Startup Repair Tool
When
your computer won’t start, it’s bad enough that you can’t get to your
programs and data and that your productivity nosedives. What’s even
worse is that you can’t get to your normal troubleshooting and
diagnostics tools to see what the problem might be. Yes, there are
startup troubleshooting techniques, but they can often be
time-consuming, hit-or-miss affairs. If Windows is in its own partition,
or if there’s a solid backup ready, many people would prefer to simply
reinstall Windows than spend an entire day tracking down a startup
problem.
Such drastic solutions
could be a thing of the past, thanks to Vista’s new Startup Repair Tool
(SRT), which is designed to fix many common startup problems
automatically. When a startup failure occurs, Vista starts the SRT
immediately. The program then analyzes the startup logs and performs a
series of diagnostic tests to determine the cause of the startup
failure. The SRT looks for a number of possible problems, but three are
the most common:
If the SRT determines
that one of these problems or some other common snag caused the startup
failure, the SRT attempts to fix the problem automatically. If it’s
successful, it lets you know what repairs it made and writes all changes
to a log file so you can see exactly what transpired.
If the SRT can’t fix
the problem, it tries the system’s last known good configuration. If
that doesn’t work, it writes all of its diagnostic data to a log and
offers you support options to try to fix the problem yourself.