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


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

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

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

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

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

  • Разрешить инициализацию устройств выполнять параллельно, а не последовательно.

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

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

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

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

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

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

Этот раздел содержит следующие подразделы:

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

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