Data Centers

Windows 98 gives power management a new name

Power management is more than an afterthought in the design of computers. Paul Suiter examines early power-management structures and discusses the Windows 98 power-management utility, the OnNow system.


Power management has been in the PC industry for many years, yet we still look at the process as a small part of the functions within a PC. But is power management merely an afterthought in the design of computers? Not when you get into the details of the power-management functions that the system is constantly performing.

We have progressed to a point where the computer is making its own power-management decisions based on information gained through applications, hardware, and user preferences. Just as our bodies regulate our temperature and how much energy we use, the home PC can do the same for itself. In this Daily Drill Down, I’ll discuss early power-management structures, and I’ll examine the Windows 98 power-management utility, the OnNow system.

In the beginning
In early power-management structures, the BIOS was where the user chose the limited adjustments available. Choices usually consisted of the amount of time before the monitor or hard drives were turned off or before the whole system went to sleep mode. Unfortunately, these choices would sometimes put the system in a “coma” state. You could hear the power supply running its fan, but no one was home and you were not about to get in. Even if you are a firm believer in saving energy, having your computer die every time the power manager kicked in could make you change your mind.

Not only would this early type of power management lock up your computer, it also would cause many problems with applications that were running. With older power management that ran at the BIOS level, users would often find that the power manager would kick in at inopportune times. This was because the BIOS could not recognize running applications and would power down. The user would have to turn off power management each time he or she ran a long program, or the user would keep the timers reset for power management by causing a wakeup event. The types of wakeup events that kept the power management system from responding were also limited. Generally, you needed a keystroke or mouse movement to make the computer return to full power or to reset the power manager’s timers to avoid sleep mode.

Advanced Power Management
There were further advances in the BIOS’s ability for power management with the introduction of a power management system that would become standardized. The Advanced Power Management (APM) selections found within most BIOS screens was a new interface between the system BIOS and the system devices. The new interface included more regulation by allowing manufacturers of peripheral devices and expansion cards to actually build this standard into their products. Even as a standard, the way APM was displayed to the user for the various BIOS designs was different in each case. This caused confusion when users moved from one BIOS manufacturer to another.

The APM design also added a new function for the Windows operating system. The addition of the Suspend option to the Start menu allowed users to place their computer directly into the sleep mode, bypassing the power-management timers. Using the Suspend option gave the operating system direct influence over the power-management system in the BIOS.

But problems with an application not being able to communicate its resource requirements to the BIOS would still plague the APM design. This was also a problem in reverse. The BIOS was unable to transmit the reason for a sleep mode initialization, and the operating system was not able to determine the reasons behind a request for a power-management action. The operating system was forced to make the necessary adjustments and functions to complete the request to power down—whether or not the request was valid at the time.

Power management through the APM BIOS was also limited to controlling the major components attached to the motherboard—for example, the video and hard drives. There were no abilities for the control of peripherals attached through USB ports or similar devices. This arrangement was not always efficient.

The only true way to get a system that can control its own use of power efficiently is to have a combination of hardware and software working together to control power management. So, engineers went to work and found better ways to use power management that would interface both the hardware and software to create a power-management relationship that provided more information for better efficiency.

Microsoft’s OnNow power management
Power, in its various forms, is a commodity that all of us need. It is only to our benefit, as computers become more prevalent in our lives, that they also become more efficient. Advances in the structure of power usage have been mainly in the hardware side, through the Green PC power management structure in the BIOS. But Microsoft is bringing the whole system together—applications and hardware—as a single unit of power management. With the introduction of Windows 98, Microsoft brought to the table a new power-management utility—the OnNow system—that can monitor hardware through its Windows operating system. The OnNow system is a powerful integrated management system that can vary the power usage of the PC without degrading the time until the system is returned to its full power state.

The OnNow power-management system monitors your computer’s software, peripheral devices, and hardware to check to see how much power they need. The operating system directs the power management. Heat and noise are also factors in determining the system's power-management mode. Instead of letting the system get to a critical level, the OnNow system acts in a proactive manner; it determines which areas can be reduced and still maintain the current necessary level of operation.

In some cases, the computer does not have to be at full power to use some applications and devices. Applications work through the power-management interface, and the operating system adjusts its use of power according to the activities. Acting as a layer of decision processes, the OnNow power-management system makes decisions at several areas. These decisions are called power policies. Each area of the system will contain its own policy owner. Not only is the operating system receiving the information to set the power level for the whole system, each area is also setting its power level. By placing the power-management decision process for a component within its own area, you receive the most efficient control possible.

When instructions for the power management of the system do come down the pipe, the actual control of the devices in the PC will remain with the device drivers. OnNow will also use Win32 Driver Model (WDM) class drivers to manage the individual device classes. Using this model will ensure that the components remain synchronous with the power-management instructions of the operating system. When the operating system determines that the system should be placed in sleep mode, it sends the command out to the control layers in order for the process of reducing power to the devices to begin. While the minidrivers are saving the device settings, the bus drivers are controlling the actual status of power usage. This will work in reverse when something happens that requires the use of full system power.

The OnNow system also makes some changes in how your system’s power button works. In the Advanced section of the Power Management utility, you can choose for the power button to:
  • shut down the PC (just as if you had chosen Shutdown from the Start menu)
  • place the system in a standby mode

This ability is the key to the OnNow system. When you specify that you want the power button to place the system in a standby mode, pressing the power button will seem to turn the PC off. But when you press the button again, voila—instant PC. No more boot process. As soon as the monitor warms up, you are ready to go. You can leave on your computers and shut them down only for maintenance.

You may see a new tab called Hibernate. (Don’t worry if this tab does not show up—all manufacturers do not support this option.) Using this tab, you can choose for your system to be placed into hibernation when you push the power button. With hibernation, the system will save all information in memory to the hard drive and then move to sleep mode. This way, if you need to leave for a long period of time right in the middle of something, you can press the power button and have the system go into hibernation. When you return and press the power button again, all the information is restored.

The Advanced Configuration and Power Interface
Microsoft decided that the OnNow system needed a standard for the peripherals and add-on cards to follow. There has to be a communication line between the motherboard, its resources, and the operating system in order to make the OnNow system work properly. This is where the Advanced Configuration and Power Interface (ACPI) fits in. The ACPI BIOS is interlaced throughout the computer and its hardware. This interface works between the operating system and the system hardware, providing the operating system with the configuration of the devices attached to the motherboard. The ACPI BIOS also relates the power-management structure of the system BIOS to Windows so it can coordinate its actions with the system BIOS.

The ACPI is the most advanced of the power-management schemes. It is also the most difficult to enable. The reason for this difficulty is that the hardware within the computer must support this system standard. All peripherals, the motherboard, and the BIOS have to be designed for the ACPI code. Currently, the only operating systems using this standard are Windows 98 and Windows 2000. Peripheral devices are being made that do fall under this standard, but the count is fairly low at this time. Many of the BIOS manufacturers have incorporated ACPI into their BIOSs, and the newest motherboards are starting to deploy these ACPI-enabled BIOSs.

ACPI is enabled when installing Windows 98 on machines that fall into the list of good ACPI systems. A quick way to determine whether your system has ACPI enabled is to go to Control Panel, double-click System, and choose the Device Manager tab. Click on the plus sign next to System Devices. If ACPI is enabled, you will see ACPI system button at the top, along with multiple statements of ACPI in the lines below.

If you do not have any references to the ACPI component and your motherboard and other devices support ACPI, and you want to enable it, there are two ways to do so.

The first way is to enable the ACPI option. The preferred method is to reinstall or install Windows by typing
setup /p j

The second way to enable the ACPI option is to manipulate the Registry by adding the ACPIOption string. Here’s how:
  1. Type Regedit in the Run command box of the Start menu.
  2. Follow the path HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\
    CurrentVersion\Detect.
  3. Add the string value ACPIOption.
  4. Set the string value to 1.
  5. Close the Registry, go to Control Panel, click the Add New Hardware icon, and run the detection process for both Plug and Play and the non-Plug and Play hardware.
Remember, you should always be sure you have a verified backup copy of your Registry and system files before attempting any type of modification to your system's configuration.
At the end of the detection process, you can view the findings. You should see a line in the review box that states that the ACPI BIOS component has been found. You may also see a line for the removal of the Plug and Play components. The ACPI BIOS will take control of your Plug and Play devices. You will see this when the computer restarts and goes through all the devices and resets them under ACPI. Click the Finish button, and you’ll be asked to insert your Windows 98 CD. After Windows finishes copying files to your computer and reconfiguring it, click Yes to restart the system.

If you’re running Windows 2000 and you’ve updated your BIOS to use ACPI, or you haven’t installed ACPI just yet, you’ll first have to enable the ACPI option within the system BIOS. As in Windows NT 4, you’ll need to reinstall Windows 2000 for the option to take effect.

Conclusion
Time is the only true test of whether OnNow and the Advanced Configuration and Power Interface will be the next generation of power management. As of now, I have not seen a great deal of concern from the general computer community on the power-management issue. But power management will be essential to the computer systems of the future—and this will drive the advancements in the OnNow system.

Paul Suiter received his first taste of the deadline rush as a photographer for the Montgomery Advertiser, where he earned four photography awards. After receiving degrees in economics and business management from Auburn University, Paul entered the college book business. After managing two bookstores for three years, Paul became a business analyst for EDS. Four years later, Paul continues with EDS, taking its equipment apart, while working with G3 switches and advanced imaging programs. But, he’s finally getting back to one of his favorite pastimes—writing. (Of course, he also enjoys spending time with his wife and son.)

The authors and editors have taken care in preparation of the content contained herein, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for any damages. Always have a verified backup before making any changes.

Editor's Picks

Free Newsletters, In your Inbox