Windows Vista has several features that affect how disks are used. These include:
-
Windows ReadyBoost Boosts system performance by using USB flash devices as additional sources for caching
-
Windows ReadyDrive Boosts system performance on mobile computers equipped with hybrid drives
-
Windows SuperFetch Boosts system performance using a modified memory management algorithm
Each of these features is discussed in the sections that follow.
Understanding and Using Windows ReadyBoost
A computer's disk drives aren't just used for
reading and writing application data and user documents. The operating
system makes extensive use of a computer's disk drives for paging files
and system cache. Because it's significantly slower to read from and
write to a disk than it is to read from and write to physical memory
(RAM), this can cause a bottleneck that degrades performance. Windows
Vista introduces Windows ReadyBoost as a way to reduce the performance
impact related to reading and writing the system cache.
With Windows ReadyBoost, USB flash devices with
sufficiently fast memory are used to extend the disk caching
capabilities of the computer's main memory. Using flash devices for
caching allows Windows Vista to make random reads faster by caching
data on the USB flash device instead of a disk drive. Because this
caching is applied to all disk content, not just the page file or
system dynamic-link libraries (DLLs), the computer's overall
performance is boosted because flash devices can be read up to 10 times
faster than physical disk drives.
USB flash devices that can be used with Windows
ReadyBoost include USB 2.0 flash drives, Secure Digital (SD) cards, and
CompactFlash cards. These devices must have sufficiently fast flash
memory and be at least 512 MB or larger in size. If the flash device
has both slow and fast flash memory, only the fast flash memory portion
will be used for boosting performance. Windows Vista can use an amount
of flash memory equal to twice the amount of physical memory (RAM) on
the computer.
Memory
on USB flash devices is primarily used for random input/output (I/O),
because most flash devices are slower than a disk drive for sequential
I/O. Windows ReadyBoost maximizes performance by automatically passing
large, sequential read requests to the computer's disk drive for
servicing. To allow a USB flash device to be removed at any time, all
data writes are made to the hard disk before being copied to the flash
device. This means all data stored on the flash device is duplicated on
the hard disk and there is no potential for data loss when removing the
flash device. Additionally, because the flash device's memory may
contain sensitive information, Windows ReadyBoost encrypts the data so
it can only be used with the computer on which it was originally
written.
Enabling ReadyBoost
With Windows ReadyBoost, USB flash devices with
sufficiently fast flash memory can be used as additional sources of
system cache. The following steps detail how Windows ReadyBoost works
the first time you use a USB flash device with a computer:
-
When you insert a USB flash device into a USB 2.0
or higher port, Windows Vista analyzes the speed of the flash memory on
the device. If the flash memory performs at a sufficiently high speed,
the computer's physical memory can be extended to the USB flash device.
In most cases, you'll want the flash memory to be at least as fast as
the computer's bus speed.
-
The AutoPlay dialog box, shown in Figure 1,
should be displayed automatically. If you want the device to always be
used with Windows ReadyBoost when inserted, select the Always Do This… check box. Because you've selected the Always Do This…
option, the AutoPlay dialog box will not be displayed the next time you
insert the device (unless you change the AutoPlay defaults in Control
Panel).
Figure 1: Select the Speed Up My System Using Windows ReadyBoost option.
-
When
you click Speed Up My System Using Windows ReadyBoost, Windows Vista
extends the computer's physical memory to the device. The default
configuration enables Windows ReadyBoost to reserve all available space
on the device for boosting system speed.
| Note |
Windows Vista can use an amount of flash memory
equal to twice the amount of physical memory (RAM) on the computer. If
a device has both fast and slow flash memory, Windows Vista only uses
the fast portion of the memory.
|
To use Windows ReadyBoost with a USB flash device that
you either already inserted or that you previously declined to use with
Windows ReadyBoost, follow these steps:
-
Click Start and then click Computer.
-
Right-click the USB flash device in the Devices With Removable Storage list and then choose Properties.
-
On the ReadyBoost tab, select Use This Device and then click OK.
For USB flash devices that do not support ReadyBoost,
you cannot enable the device. The only option you'll have is to stop
retesting the device when you plug it in. The Stop Retesting This
Device When I Plug It In option is selected by default.
Configuring ReadyBoost
Windows ReadyBoost can be used in a variety of
configurations. You do not have to configure the computer to use all
available space on the USB flash device. You can also configure a
specific amount of space to reserve. To do this, follow these steps:
-
Click Start and then click Computer.
-
Right-click the USB flash device in the Devices With Removable Storage list and then choose Properties.
-
On the ReadyBoost tab, use the Space To Reserve
For System Speed slider or combo box to set the amount of space to use
with ReadyBoost. If you reserve less than the total amount of space
available, the free space can be used for files and data.
-
Click OK.
Ejecting a USB Flash Device That Uses ReadyBoost
You can safely remove a USB flash device that
uses ReadyBoost at any time without losing data or negatively impacting
the system. However, when the device is removed, the system performance
returns to its normal level—the performance level experienced without
the device. To remove the device, follow these steps:
-
Open Windows Explorer or another Explorer view, such as Computer.
-
Right-click the device and then select Eject or Safely Remove.
Understanding and Using Windows ReadyDrive
Windows
ReadyDrive improves performance on mobile computers equipped with
hybrid drives. A hybrid drive is a drive that uses both flash RAM and a
physical drive for storage. Because flash RAM is much faster than a
physical disk, mobile computers running Windows Vista write data and
changes to data to the flash memory first and periodically sync these
writes and changes to the physical disk. This approach reduces the
spinning of the physical drive and thus saves battery power.
The flash RAM on hybrid drives can be used to provide
faster startup and resume from sleep or hibernation. In this case, the
information needed for starting or resuming the operating system is
written to the flash RAM prior to shutting down, entering sleep, or
going into hibernation. When you start or wake the computer, this
information is read from the flash RAM.
You do not need to enable ReadyDrive. ReadyDrive is enabled for use automatically on mobile computers with hybrid drives.
Understanding and Using Windows SuperFetch
Windows Vista improves performance and
responsiveness by changing the way user processes and background
processes are used. In Windows XP, user processes and background
processes have the same memory use prioritization: User processes and
background processes are both loaded into memory as they are used.
Because there is no prioritization, there often is contention for
memory, and there are often performance lags as well because after
background processes run, they remain resident in memory. Therefore,
data for user applications and processes must be loaded into memory
when they are requested. Windows Vista corrects this issue by ensuring
that background processes are unloaded after they run and when data for
user processes is reloading into memory.
In Windows XP, user processes and background processes
have the same I/O priority, which often results in conflict and poor
read/write performance. Windows Vista corrects this by implementing
high priority I/O and low priority I/O queues. High priority I/O is
used for user process and application reads and writes to physical
drives. Low priority I/O is used for background process reads and
writes to physical drives.
| Note |
With Windows Vista, many services and routine
housekeeping tasks run as background processes. For example, on Windows
Vista, Disk Defragmenter is scheduled to run automatically to
periodically defragment disks. When Disk Defragmenter runs, it runs as
a background process and uses low priority I/O.
|
The key feature that makes memory and I/O
prioritization work is Windows Super-Fetch. Windows SuperFetch improves
system performance using a modified memory management algorithm. Unlike
the memory management algorithm in Windows XP and earlier versions of
Windows, SuperFetch optimizes memory usage based on the way the current user is using the computer. SuperFetch does this by performing the following tasks:
-
Differentiating between user applications and background services running on the computer
SuperFetch makes the computer more responsive to user requests by
prioritizing the current user's processes over background tasks.
Because user processes always have priority over background tasks,
background tasks do not take up all the processor time and the system
remains responsive to user requests.
-
Optimizing memory for users after running background tasks
Housekeeping tasks on Windows Vista make better use of process idle
time than earlier versions of Windows do. More system and maintenance
tasks, such as Disk Defragmenter and Disk Backup, run during idle time.
When the computer is idle, background processes run as they normally
would. However, when background processes end, SuperFetch repopulates
memory to the state it was in prior to running the background
processes. This ensures memory is optimized for user processes and the
computer is responsive to user requests.
-
Tracking the most frequently-used applications and anticipating user needs
SuperFetch keeps track of which applications users run most frequently
and also tracks when those applications typically are used. SuperFetch
then uses the tracking information to preload the application and ready
it for use when it expects that the user will need the application.
This ensures faster startup for applications and faster user switching
over time.
-
Taking advantage of Windows Vista's low priority I/O designation
SuperFetch takes advantage of Windows Vista's high priority I/O and low
priority I/O queues to improve read/write times for user processes and
improve a computer's overall responsiveness. When multiple processes
are competing for I/O, high priority processes always get more I/O time
than low priority processes do. As a result, user processes and
applications have better performance, and there is less contention for
I/O time when both user processes and background processes are running.
As an administrator, you should understand not only how
SuperFetch works but also the way it is configured. All versions of
Windows Vista support SuperFetch. Some basic characteristics of
SuperFetch follow.
-
Runs as a service named SuperFetch. This service runs automatically at startup and logs on using the Local System account.
-
Uses the SvcHost.exe executable, running in a
network restricted mode. This means SuperFetch can only access the
local computer and doesn't have access to any networks to which the
computer might be connected.
-
Depends on the Filter Manager component for
proper operations. Filter Manager provides file information and file
system information needed by SuperFetch, and it is installed
automatically with the operating system.
-
Writes prefetch data to the %SystemRoot%\prefetch
folder. The prefetch data is used to quickly start applications. Within
the prefetch folder, you'll also find several database files used to
track application usage history and to speed up application
performance. Application faults are also tracked in a database history
file.
|