We've all see the Control Panel applet for Power Options: It lets you control a wide variety of power-related settings, such as when the system goes into standby mode, and how the system interacts with the UPS. Because you can control Windows 2000's power management through a simple interface, it's easy to miss what's really going on. In this article, I'll take you on a behind-the-scenes tour of Windows 2000's power management capabilities.
Functions of Power Management Services
When you first glance at the Power Options applet, shown in Figure 1, you might assume that the Windows 2000 power management system is limited to turning the monitor and hard disks on and off, and putting the system to sleep. However, this isn't the case.
Besides interacting with the UPS (which is beyond the scope of this article), power management performs four critical functions (beyond the obvious):
- The power management services must be able to wake a sleeping system instantly. After all, putting the computer to sleep would be pointless if the user had to wait for a full boot sequence to complete during the wake up. It would be just as easy to have the user turn the system off. Instead, the user can simply press the power button, and the computer will instantly return the user to the point at which the computer went to sleep.
- The power management services must be able to respond to wake-up events. A wake-up event is some event the computer must be awake to handle. For example, suppose a computer has a fax modem, and someone tries to send a fax to that computer. The modem receiving the call could be a wake-up event. (This is a further illustration of why it's important for a computer to wake instantly from a sleep state--if the computer takes a long time to wake up, the caller will hang up before the computer wakes up to receive the fax.) Other examples of wake-up events include running scheduled tasks such as virus scans or automatically downloading e-mail messages. Many computers also contain wake-on-LAN capabilities, which will wake the computer if it receives a packet from across the network.
- The power management services must be able to adjust software to changing power states. If a computer is going to sleep, it must be able to communicate that information to applications so that certain types of applications can stay semi-active, while others hibernate. For example, you don't want your computer to wake up just because your word processor is set to do an auto-save every ten minutes. On the other hand, you don't want the Task Scheduler to completely go to sleep if it has important tasks to perform. The power management services must know the differences between such programs and be able to interact with them accordingly.
- The power management services must be able to fully interact with the hardware. Various devices have different power requirements while in sleep mode, depending on what they do. For example, if your system uses a wake-on-LAN feature, the network card must retain some amount of power to provide that functionality. The Windows 2000 operating system must be able to interact with hardware devices to ensure that they have the proper amount of power for their current function. Not only must the operating system interact with the power needs of existing devices, but if you add devices to your system in the future, the power management services must also be able to interact with those new devices.