XP Fastboot

 < Day Day Up > 



Booting up is a complex process that begins from the moment a machine is turned on and continues through BIOS initialization, loading the operating system, and initializing various devices, system functions and services until the user is ready to enter a log-on. Once entered, the user desktop appears. The term boot comes from the phrase "pulling yourself up by your bootstraps." In essence, the PC is bringing all its components alive long enough to launch the operating system. Once launched, the operating system takes over, as it is capable of far more complex tasks.

Windows XP has decreased the time required for the system to boot through a series of changes to the boot loader, several key drivers, and the registry initialization and network interaction processes. Further, the higher throughput capabilities of XP mean that the operating system can deal with larger I/O requests. During boot up, I/O can be overlapped with device detection and initialization. These features are collectively known as Fastboot.

The design goals behind Fastboot were:

  • Operation resumed from standby in less than 5 seconds

  • Operation resumed from hibernation in less than 20 seconds

  • Boot time not extending beyond 30 seconds

In total, Fastboot addresses nine stages of the bootup process, all the way from BIOS initialization through loading the operating system to loading the shell. It includes improvements such as initializing multiple device drivers simultaneously and starting the Winlogon process before completing network initialization (Winlogon, therefore, no longer has to wait for network initialization to complete). The overall concept is straightforward: Use available memory and CPU resources to accomplish as much as possible in a minimum of time.

With Fastboot, two key features work together — prefetching and layout optimization. Both are unique to XP and were not available in older operating systems.

Prefetching

Under Windows 2000, every I/O requires the head to move and the disk to rotate. Typically, fewer than 100 I/Os per second can be completed (on desktops, this number is even smaller). Windows XP reorganizes and speeds up I/O by the process known as prefetching, which is basically a read-ahead cache. It reads ahead into memory information or files before they are requested. Thus, it reduces page faults and eliminates delays in I/O processing. This is accomplished by analyzing the underlying architecture in order to determine which files to fetch. A device driver built into XP monitors file access activity and builds a list of files required to boot the machine or launch an executable.

Consider the example of launching an application. Microsoft Word, for example, is launched by winword.exe. Before the application appears on the screen, associated DLLs, font files, and more must be loaded. These files and their precise request order are captured and passed on to a prefetch file. Every time winword.exe is launched, this file is triggered and speeds up the launch process by placing associated information into memory. Prefetch files (.pf extension) are referred to as scenario files. They are filed in the % windir%\ prefetch folder (notosboot-B00DFAAD.pf is the boot prefetch scenario file). Monitoring file access (as in prefetching) is expensive in terms of system resources. Fortunately, XP's built-in file filter and added hardware requirements reduce the toll on resource consumption.

During the boot process, prefetching also comes into play. Pages accessed during boot are logged in the %windir%\prefetch\notosboot-B00DFAAD.pf file. This file logs eight prior boots and is updated one minute after every boot. XP uses this file to determine which pages to prefetch. These files are then loaded before they are called so the boot process takes less time. Do not expect, though, to turn on a machine and 20 seconds later it is ready to go. XP is also a lot larger than Windows 9x or NT workstations, so the speed gains from Fastboot are relative. The end result on many machines is that the bootup process takes slightly less time than these other systems.

Layout Optimization

Layout optimization works hand in hand with prefetching to enhance boot time performance. Those files required to boot a machine are listed in the layout.ini file in the order in which they are needed. After observing several system boots, Windows XP determines the code/data needed for the boot and the optimum placement of those files on disk. To speed up the process, these files are strategically placed contiguously (in one piece) on the disk in the sequence in which they will be called. If the small number of files needed to boot the machine are fragmented, a rapid defragmentation is done to make them contiguous (note that this defrag is done only once every three days). The files involved are mostly system files that rarely change, so the same files are loaded every time and in the same order. Each file involved in booting can now be read with a single I/O operation.

Layout optimization provides a relatively small improvement — it adds another 10 percent to the gains achieved through prefetching. As it affects only the boot function, it does not replace the need for regular file defragmentation. After all, Fastboot technology impacts only a tiny fraction of files on a hard drive. The operating system, all applications, most system files, and all user files are unaffected by Fastboot and remain subject to a significant performance decline due to fragmentation; therefore, regular defragmentation should be conducted on all Windows XP systems.



 < Day Day Up > 



Server Disk Management in a Windows Enviornment
Server Disk Management in a Windows Enviornment
ISBN: N/A
EAN: N/A
Year: 2003
Pages: 197

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net