Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Одна из функций, которые пользователи компьютера чаще всего запрашивают, — это быстрое время запуска из состояний выключения, ожидания и гибернации. Чтобы сократить время запуска, Windows использует ряд методов, которые включают в себя следующие:
Удалите из списка операций запуска процессы и службы, которые можно отложить до завершения запуска.
Предварительная выборка страниц памяти в соответствии с шаблоном запросов на загрузку этих страниц в предыдущих запусках системы.
Совмещайте инициализацию устройства с операциями ввода-вывода диска, которые необходимы для загрузки операционной системы.
Включите параллельное выполнение инициализаций устройств вместо последовательного выполнения.
Драйвер режима ядра должен выполнить следующие действия, чтобы повысить производительность процесса запуска:
Когда компьютер запускается с состояния выключения питания (холодный запуск), драйвер устройства должен делать только то, что необходимо для инициализации устройства и отложить все остальные операции устройства до завершения запуска. Ограничьте код инициализации драйвера операциями, необходимыми для подготовки устройства к использованию.
При выходе компьютера из спящего или гибернированного состояния (теплого запуска) драйвер, который должен быть инициализирован до завершения запуска, должен использовать рабочие потоки с высоким приоритетом и очередь критически важных рабочих элементов для выполнения всех необходимых небольших задач. В противном случае поток драйвера может испытывать нехватку времени процессора из-за других потоков, и запуск будет задержан.
Во время теплого запуска из режима ожидания или гибернации, подпрограмма DPC драйвера или код инициализации, работающий на уровне DISPATCH_LEVEL, должны избегать длительного времени выполнения, блокирующего выполнение других драйверов. Дополнительные сведения см. в разделе "Общий доступ к ресурсам обработчика во время запуска из состояния Low-Power".
Во время теплого запуска из состояния ожидания или гибернации функциональный драйвер устройства должен немедленно завершить IRP установки питания S0, а затем запросить IRP установки питания D0. Если ваш драйвер оперативно выполняет S0 set-power IRP, операционная система может завершить запуск, в то время как ваш драйвер повторно инициализирует устройство в фоновом режиме. Дополнительные сведения см. в разделе "Быстрый запуск" из состояния Low-Power.
Драйвер устройства не должен удерживать блокировку спин более чем на короткое время, особенно во время холодного старта из состояния выключения питания. В противном случае другие инициализации устройств не могут выполняться параллельно.
В этом разделе приведены следующие разделы:
Совместное использование ресурсов обработчика во время запуска из состояния Low-Power