시스템 시작 성능 향상
컴퓨터 사용자가 가장 자주 요청하는 기능 중 하나는 전원 해제, 대기 및 최대 절전 모드 상태의 빠른 시작 시간입니다. 시작 시간을 줄이기 위해 Windows 다음과 같은 다양한 기술을 사용합니다.
시작이 완료될 때까지 지연될 수 있는 시작 작업, 프로세스 및 서비스 목록에서 제거합니다.
이전 시스템 시작 시 이러한 페이지를 로드하는 요청 패턴에 따라 메모리 페이지를 프리페치합니다.
운영 체제를 로드하는 데 필요한 디스크 I/O 작업과 디바이스 초기화가 겹칩니다.
순차적이 아닌 병렬로 수행되도록 디바이스 초기화를 사용하도록 설정합니다.
커널 모드 드라이버는 시작 프로세스의 성능을 개선하기 위해 다음 단계를 수행해야 합니다.
컴퓨터가 전원 해제 상태(콜드 시작)에서 시작되면 디바이스 드라이버는 디바이스를 초기화하고 시작이 완료될 때까지 다른 모든 디바이스 작업을 연기하는 데 필요한 작업만 수행해야 합니다. 드라이버의 초기화 코드를 디바이스를 사용할 수 있도록 하는 데 필요한 작업으로 제한합니다.
컴퓨터가 대기 또는 최대 절전 모드 상태(웜 시작)에서 시작되는 경우 시작이 완료되기 전에 초기화해야 하는 드라이버는 우선 순위가 높은 작업자 스레드 및 중요한 큐 작업 항목을 사용하여 필요한 작은 작업을 오프로드해야 합니다. 그렇지 않으면 관련 없는 스레드에 의해 프로세서 시간 동안 드라이버 스레드가 부족할 수 있으며 시작이 지연됩니다.
대기 또는 최대 절전 모드에서 웜을 시작하는 동안 드라이버의 DPC 루틴 또는 DISPATCH_LEVEL 실행되는 초기화 코드는 다른 드라이버의 실행을 차단하는 긴 실행 시간을 피해야 합니다. 자세한 내용은 Low-Power 상태에서 시작하는 동안 프로세서 리소스 공유를 참조하세요.
대기 또는 최대 절전 모드에서 웜을 시작하는 동안 기능 디바이스 드라이버는 S0 설정 전원 IRP를 즉시 완료한 다음 D0 설정 전원 IRP를 요청해야 합니다. 드라이버가 S0 설정 전원 IRP를 즉시 완료하면 운영 체제가 시작을 완료하고 드라이버가 디바이스를 백그라운드 작업으로 다시 초기화할 수 있습니다. 자세한 내용은 Low-Power 상태의 빠른 시작(Fast Startup)을 참조하세요.
디바이스 드라이버는 특히 전원 해제 상태에서 콜드를 시작하는 동안 짧은 시간 동안 스핀 잠금을 유지해서는 안 됩니다. 그렇지 않으면 다른 디바이스 초기화는 병렬로 발생할 수 없습니다.
이 단원에 포함된 항목은 다음과 같습니다.