커널 동기화 지연 퍼지

참고

이 검사 Windows 10 빌드 19042 이상부터 사용되지 않습니다.

커널 동기화 지연 퍼지 옵션은 드라이버에서 동시성 버그를 검색하는 데 도움이 되도록 스레드 일정을 임의로 지정합니다.

주의 이 옵션은 컴퓨터에서 드라이버의 전체(또는 대규모 컬렉션)를 확인할 때 사용할 수 없습니다. 이 옵션은 개별 드라이버 또는 연결된 필터 드라이버의 대상 테스트를 수행하는 경우에만 사용해야 합니다. 동시에 많은 수의 드라이버에서 이 옵션을 사용하면 예측할 수 없는 결과가 발생할 수 있으며 테스트 중인 드라이버와 관련이 없는 구성 요소에서 강제로 충돌이 발생할 수 있습니다.

참고 이 옵션은 Windows 8.1 시작해서 사용할 수 있습니다.

옵션을 선택하면 드라이버 검증 도구는 스레드의 다양한 지점에서 임의 지연을 삽입합니다. Power Framework 지연 퍼지 옵션과 마찬가지로 커널 동기화 지연 퍼지 옵션은 드라이버에서 오류를 찾을 가능성을 높이는 데 도움이 되는 알고리즘을 사용합니다. 커널 동기화 지연 퍼지는 동시 실행에서 발생할 수 있는 문제를 포착하기 위해 테스트 프로그램이 며칠 또는 몇 주 동안 실행되는 기존 스트레스 테스트를 개선합니다.

이 옵션 활성화

드라이버 검증 도구 관리자 또는 Verifier.exe 명령줄을 사용하여 하나 이상의 드라이버에 대해 커널 동기화 지연 퍼지 기능을 활성화할 수 있습니다. 자세한 내용은 드라이버 검증 도구 옵션 선택을 참조하세요. Power Framework 지연 퍼지 옵션을 활성화하거나 비활성화하려면 컴퓨터를 다시 시작해야 합니다.

참고 커널 동기화 지연 퍼지 옵션은 다양한 커널 API 함수 호출에서 임의 지연을 삽입하여 런타임에 경합 상태가 나타날 확률을 높입니다. 이러한 지연이 더 효과적이려면 다른 드라이버 검증 도구 옵션을 사용하여 이 옵션을 사용하도록 설정할 수 있습니다. 도입될 수 있는 지연으로 인해 컴퓨터의 응답 속도가 느려질 것으로 예상할 수 있습니다.

  • 명령줄에서

    명령줄에서 커널 동기화 지연 퍼지는 검증 도구 /flags 0x00800000 (비트 23)로 표시됩니다. Power Framework 지연 퍼지를 활성화하려면 플래그 값 0x00800000 사용하거나 플래그 값에 0x00800000 추가합니다. 예를 들면 다음과 같습니다.

    verifier /flags 0x00800000 /driver MyDriver.sys
    

    이 기능은 다음 부팅 후에 활성화됩니다.

  • 드라이버 검증 도구 관리자 사용

    1. 드라이버 검증 도구 관리자를 시작합니다. 명령 프롬프트 창에 검증 도구 를 입력합니다.
    2. 사용자 지정 설정 만들기(코드 개발자용)를 선택하고 다음을 클릭합니다.
    3. 전체 목록에서 개별 설정 선택을 선택합니다.
    4. 커널 동기화 지연 퍼지(검사)를 선택합니다.
    5. 컴퓨터를 다시 시작합니다.

커널 동기화 지연이 퍼지는 이유는 무엇인가요?

대부분의 드라이버 루틴은 재진입 및 동시입니다. 동시성과 관련된 버그는 찾기 어려운 것으로 악명이 높습니다. 버그는 동기화 문제 및 스레드 간의 잘못된 타이밍으로 인한 교착 상태 및 경합 조건을 포함할 수 있습니다. 스트레스 테스트는 이러한 버그를 찾기 위한 기존 테스트 기술이지만 느리고 비용이 많이 들 수 있으며 결과가 항상 재현 가능한 것은 아닙니다. 커널 동기화 지연 퍼지 옵션은 다양한 커널 API 함수 호출에 임의 지연을 삽입하여 런타임에 경합 상태가 나타날 확률을 높입니다. 예를 들어 경합 상태가 취소된 후 드라이버가 IRP에 액세스하는 경우 커널 동기화 지연 퍼지 옵션은 드라이버 검증 도구가 테스트 중에 오류를 감지하는 방식으로 이 경합 상태의 가능성을 높입니다. 커널 동기화 지연 퍼지 옵션은 드라이버 검증 도구의 성능과 효율성을 향상시킵니다.