stringtranslate.com

Prefetcher

Prefetcher es un componente de Microsoft Windows que se introdujo en Windows XP . [1] Es un componente del Administrador de memoria que puede acelerar el proceso de arranque de Windows y acortar la cantidad de tiempo que lleva iniciar programas. Lo logra almacenando en caché los archivos que necesita una aplicación en la RAM a medida que se inicia la aplicación, consolidando así las lecturas del disco y reduciendo las búsquedas en el disco. Esta característica fue protegida por la patente estadounidense 6.633.968. [2] [3]

Desde Windows Vista , el Prefetcher se ha ampliado con SuperFetch y ReadyBoost . SuperFetch intenta acelerar los tiempos de inicio de las aplicaciones al monitorear y adaptarse a los patrones de uso de las aplicaciones durante períodos de tiempo, y almacenar en caché la mayoría de los archivos y datos que necesitan en la memoria con anticipación para que se pueda acceder a ellos muy rápidamente cuando sea necesario. ReadyBoost (cuando está habilitado) usa memoria externa como una unidad flash USB para extender la memoria caché del sistema más allá de la cantidad de RAM instalada en la computadora. ReadyBoost también tiene un componente llamado ReadyBoot que reemplaza al Prefetcher para el proceso de arranque si el sistema tiene 700 MB o más de RAM. [4]

Descripción general

Cuando se inicia un sistema Windows, es necesario leer los componentes de muchos archivos en la memoria y procesarlos. A menudo, se cargan diferentes partes del mismo archivo (por ejemplo, las secciones del Registro) en momentos diferentes. Como resultado, se pierde una cantidad significativa de tiempo "saltando" de un archivo a otro y viceversa varias veces, aunque un solo acceso sería más eficiente. El prefetcher funciona observando a qué datos se accede durante el proceso de arranque (incluidos los datos leídos de la Tabla maestra de archivos NTFS ) y registrando un archivo de seguimiento de esta actividad. El prefetcher de arranque continuará observando dicha actividad hasta 30 segundos después de que se haya iniciado el shell del usuario, o hasta 60 segundos después de que todos los servicios hayan terminado de inicializarse, o hasta 120 segundos después de que se haya iniciado el sistema, lo que transcurra primero.

Los futuros arranques pueden entonces usar la información registrada en este archivo de seguimiento para cargar código y datos de una manera más eficiente (es decir, reordenando las lecturas del disco para minimizar o eliminar la necesidad de acceder al mismo archivo varias veces, minimizando así los movimientos del cabezal del disco).

La precarga de aplicaciones funciona de manera similar, pero se localiza en el inicio de una sola aplicación. Solo se monitorean los primeros 10 segundos de actividad. [1] : 458 

El prefetcher almacena sus archivos de seguimiento en la carpeta "Prefetch" dentro de la carpeta Windows (normalmente C:\Windows\Prefetch). El nombre del archivo de seguimiento de arranque siempre es NTOSBOOT-B00DFAAD.PF, y los archivos de seguimiento de la aplicación son una concatenación del nombre del ejecutable de la aplicación, un guion, una representación hexadecimal del hash de la ruta en la que reside el archivo y una extensión ".pf". Las aplicaciones que alojan otros componentes (es decir, Microsoft Management Console o Dllhost) también tienen el nombre del componente cargado incluido en el hash calculado; esto da como resultado que se creen diferentes archivos de seguimiento para cada componente.

Tenga en cuenta que el Programador de tareas es el proceso responsable de analizar los datos de seguimiento recopilados por el prefetcher y escribir archivos en el directorio del prefetcher. Como resultado, el prefetcher no funcionará correctamente si el servicio del Programador de tareas no está iniciado.

Para mejorar aún más los tiempos de acceso, el Programador de tareas llama al Desfragmentador de disco de Windows cada tres días. Cuando la máquina está inactiva, se procesan las listas de archivos y directorios a los que se hizo referencia durante el proceso de arranque y los inicios de aplicaciones. [1] : 461–462  El resultado procesado se almacena en Layout.iniel directorio Prefetch y, posteriormente, se pasa al Desfragmentador de disco, que le ordena que reordene esos archivos en posiciones secuenciales en el disco duro físico.

Esto mejorará aún más el rendimiento al minimizar la distancia que deben moverse los cabezales del disco duro de un archivo al siguiente.

Es posible activar esta reordenación (ejecutando "Defrag.exe %systemdrive% -b" desde la línea de comandos) sin ejecutar una desfragmentación completa. [ cita requerida ]

Si el sistema está instalado en una unidad de estado sólido , ReadyBoost está deshabilitado.

Configuración

La configuración de Prefetcher se almacena en el Registro de Windows en HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters. El valor de EnablePrefetcher puede configurarse como uno de los siguientes: [5]

El valor recomendado es 3. [5] Los valores superiores a 3 no aumentan el rendimiento y cambiar el valor a 2 no hará que Windows arranque más rápido. [5]

Ajuste incorrecto del prefetcher

En Internet [7] se encuentra a menudo el ajuste de aplicación "/prefetch:1", [8] que es un modificador válido pero mal entendido. Se utiliza para distinguir entre diferentes modos operativos de un ejecutable en caso de que esos diferentes modos tengan trazas de prefetch significativamente diferentes. [9]

Un segundo mito es que el usuario debería eliminar el contenido de la carpeta de prefetch para acelerar el equipo. Si se hace esto, Windows tendrá que volver a crear todos los archivos de prefetch, lo que ralentizará Windows durante el arranque y el inicio de los programas hasta que se creen los archivos de prefetch, a menos que el prefetcher esté deshabilitado. [10] [11] [12] Windows mantiene los archivos de prefetch en la carpeta Prefetch para hasta los 128 programas iniciados más recientemente. [13]

Véase también

Referencias

  1. ^ abc Russinovich, Mark ; David Solomon (2005). "Gestión de memoria". Microsoft Windows Internals (4.ª ed.). Microsoft Press. págs. 458–462. ISBN 0-7356-1917-4.
  2. ^ "Obtención previa de páginas antes de una secuencia de error de página grave", patente estadounidense 6.633.968 , consultada el 16 de noviembre de 2023
  3. ^ "Página de inicio de MSDN Magazine". Archivado desde el original el 16 de mayo de 2008. Consultado el 23 de febrero de 2008 .
  4. ^ "Dentro del kernel de Windows Vista".
  5. ^ abcd "Mitos de XP". Archivado desde el original el 8 de abril de 2009. Consultado el 17 de marzo de 2009 .
  6. ^ "Centro de desarrollo de hardware de Windows". Microsoft .
  7. ^ "Desinformación y el indicador de precarga". Microsoft . 25 de mayo de 2005 . Consultado el 9 de diciembre de 2008 .
  8. ^ "Desinformación y el indicador de precarga". Es curioso, funcionó la última vez . Blogs de MSDN. 25 de mayo de 2005. Consultado el 9 de diciembre de 2008. En segundo lugar, se puede especificar un indicador /prefetch:# al iniciar una aplicación. [...] Algunos sitios han adivinado que este interruptor activa la precarga y sugieren que lo agregue a todos los ejecutables que le interesen [...]
  9. ^ "Desinformación y el indicador de prefetch". Es curioso, funcionó la última vez . Blogs de MSDN. 25 de mayo de 2005. Consultado el 9 de diciembre de 2008. Ambas suposiciones son incorrectas . El sistema operativo observa el indicador /prefetch:# cuando creamos el proceso; sin embargo, tiene un (y solo un) propósito. Agregamos el número pasado al hash. ¿Por qué? [~snip~]
  10. ^ Gralla, Preston (2007). Gran libro de trucos para Windows. "O'Reilly Media, Inc." ISBN 978-0-596-52835-5.
  11. ^ "Cuidado con los consejos falsos sobre XP".
  12. ^ "Windows XP: Las mejoras del núcleo crean un sistema operativo más sólido, potente y escalable". Archivado desde el original el 16 de mayo de 2008. Consultado el 23 de febrero de 2008 .
  13. ^ "Desinformación y el indicador de precarga". Es curioso, funcionó la última vez . Blogs de MSDN. 25 de mayo de 2005. Consultado el 9 de diciembre de 2008. Por un lado, XP volverá a crear esos datos de todos modos; en segundo lugar, recorta los archivos de todos modos si hay más de 128 de ellos para no consumir espacio innecesariamente.

Enlaces externos