改进系统启动性能

计算机用户最常请求的功能之一是从关机、待机和休眠状态快速启动。 为了减少启动时间,Windows 使用多种技术,其中包括:

  • 从启动操作列表中删除可以延迟到启动完成后的流程和服务。

  • 根据请求模式预提取内存页,以在以前的系统启动时加载这些页面。

  • 设备初始化与加载操作系统所需的磁盘 I/O 操作重叠。

  • 使设备初始化可以并行执行,而不是按顺序执行。

内核模式驱动程序应执行以下步骤来提高启动过程的性能:

  • 当计算机从关机状态 (冷启动) 启动时,设备驱动程序应仅执行初始化设备所需的操作,并延迟所有其他设备操作,直到启动完成。 将驱动程序的初始化代码限制为使设备可供使用所需的操作。

  • 当计算机从待机或休眠状态启动 (热启动) 时,必须在启动完成之前初始化的驱动程序应使用高优先级工作线程和关键队列工作项来卸载它所需的任何小任务。 否则,不相关的线程可能会耗尽驱动程序线程的处理器时间,并且启动将延迟。

  • 在从待机或休眠状态热启动期间,驱动程序的 DPC 例程或DISPATCH_LEVEL运行的初始化代码应避免长时间的执行时间阻止其他驱动程序运行。 有关详细信息,请参阅 在启动时从Low-Power状态共享处理器资源

  • 在从待机或休眠状态热启动期间,正常运行的设备驱动程序应立即完成 S0 设置电源 IRP,然后请求 D0 设置电源 IRP。 如果驱动程序立即完成 S0 set-power IRP,则操作系统可以在驱动程序将设备重新初始化为后台任务时完成启动。 有关详细信息,请参阅 从Low-Power状态快速启动

  • 设备驱动程序不应在短时间内保持旋转锁,尤其是在从关机状态冷启动时。 否则,其他设备初始化不能并行进行。

本节包括下列主题:

在从低功耗状态启动期间共享处理器资源

从低功耗状态快速启动