Prefetcher

Prefetcher

The Prefetcher is a component of versions of Microsoft Windows starting with Windows XP.Fact|date=April 2008 It is a component of the Memory manager that speeds up the Windows boot process, and shortens the amount of time it takes to start up programs. In Windows Vista, SuperFetch and ReadyBoost [ [http://www.microsoft.com/technet/technetmag/issues/2007/03/VistaKernel/ Inside the Windows Vista kernel] ] extend upon the prefetcher and attempt to accelerate application and boot launch times respectively by monitoring and adapting to usage patterns over periods of time and loading the majority of the files and data needed by them "into memory" so that they can be accessed very quickly when needed.

This feature is covered by US patent 6,633,968. [ [http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&p=1&u=%2Fnetahtml%2FPTO%2Fsearch-adv.htm&r=1&f=G&l=50&d=PTXT&S1=06633968&OS=06633968&RS=06633968 US patent 6,633,968] ]

Overview

When a WindowsClarifyme|date=April 2008 system boots, a large number of files need to be read into memory and processed. Often, this includes loading different segments of the same file at different times. As a result, a significant amount of time is spent opening and accessing files multiple times, where a single access would be more efficient. The prefetcher works by watching what code and data is accessed during the boot process (including reads of the NTFS Master File Table), and recording a trace file of this activity. Future boots can then use the information recorded in this trace file to load code and data in a more optimal fashion. The boot prefetcher will continue to watch for such activity until 30 seconds after the user's shell has started, or until 60 seconds after all services have finished initializing, or until 120 seconds after the system has booted, whichever elapses first.

Application prefetching works in a similar fashion, but is instead localized to a single application's startup. Only the first 10 seconds of activity is monitored.Fact|date=April 2008

The prefetcher stores its trace files in the "Prefetch" folder in the root Windows directory (typically WindowsPrefetch). The name of the boot trace file is always NTOSBOOT-B00DFAAD.PF, and application trace files are a concatenation of the application's executable name, a hyphen, a hexadecimal representation of the hash of the path the file resides in, and a ".pf" extension. Applications that host other components (i.e. Microsoft Management Console or Dllhost) have the name of the loaded component included in the computed hash as well; this results in different trace files being created for each component.

It is important to note that the Task Scheduler is the process responsible for parsing the trace data collected by the prefetcher and writing files to the Prefetcher directory. As a result, the Prefetcher will not operate correctly if the Task Scheduler service is not started.

An additional feature of the Task Scheduler is its ability to interact with the Windows Disk Defragmenter. Every three days, when the machine is idle, a list of files and directories that are referenced during the boot process and application startups is created. This list is stored in Layout.ini in the Prefetch directory, and is subsequently passed to the Disk Defragmenter, instructing it to place all the files in sequential order on the physical hard drive, which will further improve startup performance, as Windows will spend less time waiting for the hard drive's heads to move to the relevant data. Alternatively, running "Defrag.exe %systemdrive% -b" from the command line forces a defragmentation of the prefetcher files without requiring a full defrag.Fact|date=April 2008

Configuration

The Prefetcher's configuration is stored in the Windows Registry at HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory ManagementPrefetchParameters. The EnablePrefetcher value can set to be one of the following:
* 0 = Disabled
* 1 = Application launch prefetching enabled
* 2 = Boot prefetching enabled
* 3 = Applaunch and Boot enabled (Optimal and Default)

The recommended value is 3.

Incorrect tweaking of the prefetcher

The default prefetcher setting is to optimise the speed of boot time and application loading times; there is no need to alter this setting.Clarifyme|date=April 2008 There are myths on the internet that values other than 3 (see above) are somehow faster. Values higher than 3 do not increase performance, a rumor that's circulated on the internet. Many all-in-one tweaking and other windows tweaking applications may incorrectly set the prefetcher value, often setting it to 2 instead of the recommended value of 3. By doing so, boot times are not reduced and applications will load more slowly. Users are advised to check this value is still set to 3 after using any windows tweaking software. [ cite web |url=http://mywebpages.comcast.net/SupportCD/XPMyths.html#Optimization|title=Windows XP Optimization myths]

Often found on the Internet is also the "/prefetch:1" application tweak, which is proven to be a myth and completely useless.cite web|url=http://blogs.msdn.com/ryanmy/archive/2005/05/25/421882.aspx|title=Misinformation and the The Prefetch Flag] A second myth is that the user should delete the prefetch folder contents to speed up the computer. If this is done, Windows will need to re-create all the prefetch files again, thereby slowing down Windows during boot and program starts until the prefetch files are created. [ cite web |url=http://www.edbott.com/weblog/archives/000024.html|title=Beware of Bogus XP Advice ] [ cite web |url=http://msdn.microsoft.com/msdnmag/issues/01/12/XPKernel/default.aspx|title=Windows XP: Kernel Improvements Create a More Robust, Powerful, and Scalable OS ]

Windows also maintains the Prefetch folder at 128 entries. [ cite web |url=http://blogs.msdn.com/ryanmy/archive/2005/05/25/421882.aspx|title=Misinformation and the The Prefetch Flag ] In most cases, its size never reaches or exceeds 10 megabytes. Fact|date=February 2008

See also

* List of Microsoft Windows components
* Features new to Windows XP
* Windows Vista I/O technologies
* Windows ReadyBoost
* Prelink
* Prebinding

References

* cite book
title = Microsoft Windows Internals
edition = 4th edition
chapter = Memory Management
pages = pp. 458-462
last = Russinovich
first = Mark
authorlink =Mark Russinovich
coauthors = David Solomon
year = 2005
publisher = Microsoft Press
id = ISBN 0-7356-1917-4

External links

* [http://members.rushmore.com/%7Ejsky/id14.html The Windows Prefetcher Guide]
* [http://members.rushmore.com/~jsky/id37.html Prefetch or SuperFetch]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Prefetcher — Prefetcher  компонент операционной системы Microsoft Windows, ускоряющий процесс её начальной загрузки, а также сокращающий время запуска программ. Prefetcher впервые появился в операционной системе Windows XP. Начиная с Windows Vista, он… …   Википедия

  • Tom Conte — For the Scottish actor see: Tom Conti Dr. Thomas Martin Conte (born 1964) is a professor of Computer Science at Georgia Institute of Technology s College of Computing. He is a fellow of Institute of Electrical and Electronics Engineers (IEEE).… …   Wikipedia

  • Chipset Intel — Chipsets Intel ██████████ …   Wikipédia en Français

  • Chipsets Intel — ██████████20  …   Wikipédia en Français

  • Data General Nova — System Data General Nova 1200 front panel …   Wikipedia

  • Prebinding — is a method for reducing the time it takes to launch executables in the Mach O file format. For example, this is what Mac OS X is doing when in the Optimizing stage of installing system software or certain applications.Prebinding looks up memory… …   Wikipedia

  • Prefetching — generally means loading something ahead of time and could refer to any one of the following topics:* Instruction prefetch, in computer architecture, a microprocessor speedup technique * Prefetch input queue (PIQ), in computer architecture, pre… …   Wikipedia

  • List of Microsoft Windows components — The following is a list of Microsoft Windows components. Contents 1 Configuration and maintenance 2 User interface 3 Applications and utilities 4 Windows Server components …   Wikipedia

  • AMD K10 — The AMD K10 is AMD s latest microprocessor architecture. Though there were once reports that the K10 had been cancelled [http://www.theinquirer.net/?article=27421 AMD s K10 is delayed or dead] , The Inquirer] , the first third generation Opteron… …   Wikipedia

  • BrookGPU — is the Stanford University Graphics group s compiler and runtime implementation of the Brook stream programming language for using modern graphics hardware for non graphical, or general purpose computations. Use of Graphics Processing Unit (or… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”