Поделиться через


Повышение производительности запуска системы

Одна из функций, которые пользователи компьютера чаще всего запрашивают, — это быстрое время запуска из состояний выключения, ожидания и гибернации. Чтобы сократить время запуска, Windows использует ряд методов, которые включают в себя следующие:

  • Удалите из списка операций запуска процессы и службы, которые можно отложить до завершения запуска.

  • Предварительная выборка страниц памяти в соответствии с шаблоном запросов на загрузку этих страниц в предыдущих запусках системы.

  • Совмещайте инициализацию устройства с операциями ввода-вывода диска, которые необходимы для загрузки операционной системы.

  • Включите параллельное выполнение инициализаций устройств вместо последовательного выполнения.

Драйвер режима ядра должен выполнить следующие действия, чтобы повысить производительность процесса запуска:

  • Когда компьютер запускается с состояния выключения питания (холодный запуск), драйвер устройства должен делать только то, что необходимо для инициализации устройства и отложить все остальные операции устройства до завершения запуска. Ограничьте код инициализации драйвера операциями, необходимыми для подготовки устройства к использованию.

  • При выходе компьютера из спящего или гибернированного состояния (теплого запуска) драйвер, который должен быть инициализирован до завершения запуска, должен использовать рабочие потоки с высоким приоритетом и очередь критически важных рабочих элементов для выполнения всех необходимых небольших задач. В противном случае поток драйвера может испытывать нехватку времени процессора из-за других потоков, и запуск будет задержан.

  • Во время теплого запуска из режима ожидания или гибернации, подпрограмма DPC драйвера или код инициализации, работающий на уровне DISPATCH_LEVEL, должны избегать длительного времени выполнения, блокирующего выполнение других драйверов. Дополнительные сведения см. в разделе "Общий доступ к ресурсам обработчика во время запуска из состояния Low-Power".

  • Во время теплого запуска из состояния ожидания или гибернации функциональный драйвер устройства должен немедленно завершить IRP установки питания S0, а затем запросить IRP установки питания D0. Если ваш драйвер оперативно выполняет S0 set-power IRP, операционная система может завершить запуск, в то время как ваш драйвер повторно инициализирует устройство в фоновом режиме. Дополнительные сведения см. в разделе "Быстрый запуск" из состояния Low-Power.

  • Драйвер устройства не должен удерживать блокировку спин более чем на короткое время, особенно во время холодного старта из состояния выключения питания. В противном случае другие инициализации устройств не могут выполняться параллельно.

В этом разделе приведены следующие разделы:

Совместное использование ресурсов обработчика во время запуска из состояния Low-Power

Быстрый запуск из состояния Low-Power