Desaprovisionamiento de retraso de sincronización del kernel

Nota

Esta comprobación está en desuso a partir de Windows 10 compilación 19042 y posteriores

La opción de retraso de sincronización del kernel aleatoriza las programaciones de subprocesos para ayudar a detectar errores de simultaneidad en los controladores.

Precaución Esta opción no está pensada para su uso cuando se comprueban todos los controladores (o una colección grande de) de un equipo. Esta opción solo se debe usar cuando se realizan pruebas dirigidas de controladores individuales o sus controladores de filtro adjuntos. El uso de esta opción en un gran número de controladores al mismo tiempo podría provocar resultados imprevisibles y podría forzar bloqueos en componentes no relacionados con los controladores que está probando.

Nota Esta opción está disponible a partir de Windows 8.1.

Cuando se selecciona la opción, el Comprobador de controladores inserta retrasos aleatorios en varios puntos de los subprocesos. Al igual que la opción retraso de retraso de Power Framework , la opción de aproximación de retraso de sincronización del kernel usa un algoritmo que proporciona ayuda para mejorar las posibilidades de encontrar errores en los controladores. El retraso de sincronización del kernel mejora las pruebas de esfuerzo tradicionales, donde el programa de prueba se ejecuta durante días o incluso semanas con la esperanza de detectar problemas en que pueden producirse en la ejecución simultánea.

Activación de esta opción

Puede activar la característica de aproximación de retraso de sincronización del kernel para uno o varios controladores mediante el Administrador de comprobadores de controladores o la línea de comandos Verifier.exe. Para obtener más información, vea Seleccionar opciones del comprobador de controladores. Debe reiniciar el equipo para activar o desactivar la opción retraso de Power Framework.

Nota La opción de aproximación de retraso de sincronización del kernel aumenta la probabilidad de que las condiciones de carrera aparezcan en tiempo de ejecución mediante la inserción de retrasos aleatorios en varias llamadas a funciones de LA API de kernel. Para que estos retrasos sean más eficaces, puede habilitar esta opción con otras opciones del Comprobador de controladores. Debido a los retrasos que se pueden introducir, puede esperar que el equipo tenga una respuesta más lenta.

  • En la línea de comandos

    En la línea de comandos, el retraso de sincronización del kernel se representa mediante el comprobador /flags 0x00800000 (bit 23). Para activar la redistribución de retraso de Power Framework, use un valor de marca de 0x00800000 o agregue 0x00800000 al valor de marca. Por ejemplo:

    verifier /flags 0x00800000 /driver MyDriver.sys
    

    La característica estará activa después del siguiente arranque.

  • Uso del Administrador de comprobadores de controladores

    1. Inicie el Administrador de comprobadores de controladores. Escriba Comprobador en una ventana del símbolo del sistema.
    2. Seleccione Crear configuración personalizada (para desarrolladores de código) y haga clic en Siguiente.
    3. Seleccione Seleccionar configuración individual en una lista completa.
    4. Seleccione (comprobar) el retraso de sincronización del kernel.
    5. Reinicie el equipo.

¿Por qué se retrasa la sincronización del kernel?

La mayoría de las rutinas de controlador son reentrantes y simultáneas. Los errores relacionados con la simultaneidad son notoriamente difíciles de encontrar. Los errores pueden incluir interbloqueos y condiciones de carrera, causados por problemas de sincronización y tiempos incorrectos entre subprocesos. Las pruebas de esfuerzo son la técnica de prueba tradicional para encontrar estos errores, pero pueden ser lentas y costosas, y los resultados no siempre son reproducibles. La opción de aproximación de retraso de sincronización del kernel aumenta la probabilidad de que las condiciones de carrera aparezcan en tiempo de ejecución mediante la inserción de retrasos aleatorios en varias llamadas a funciones de LA API de kernel. Por ejemplo, si una condición de carrera da como resultado un controlador que accede a IRP después de que se haya cancelado, la opción retraso de sincronización del kernel aumenta las posibilidades de esta condición de carrera de tal manera que el Comprobador de controladores detectará el error durante las pruebas. La opción de aproximación de retraso de sincronización del kernel mejora la eficacia y la eficacia del comprobador de controladores.