NetBSD-Docs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

suggested APM documentation modifications



I read http://www.netbsd.org/docs/power-mgmt/ recently and thought it
could be made clearer.  My version, below, add no new information; I
simply think it's a better exposition.  Submitted for your consideration. 

=== snip ===

This document describes NetBSD's support for hardward-provided power
management facilities, including the Advanced Power Management (APM)
features found in most modern laptops.  Most of the information is
i386-specific because NetBSD does not support power management on other
architecutures as of this writing. 

The Basics of Power Management (top)

Laptop power management centers around Advanced Power Management. APM is a
BIOS-provided interface to the hardware power management features. NetBSD
receives APM events (such as suspend requests) or makes power management
requests or queries (such as the current battery level).

APM specifies two power-saving modes: standby and suspend.   The precise
meaning of each mode at the hardware level depends on the laptop being
used. [ed: "depends on the BIOS implementation"?] "standby" typically
means a light sleep; it consumes more power and is quicker to restore from
than "suspend". 

APM timers for standby and suspend mode are usually configured in the
BIOS. When the BIOS determines the machine has been "idle" long enough, it
requests that the operating system enter one of the power-saving modes.  

NetBSD has three components that support APM. 

1.  The kernel driver is the interface to the APM BIOS.
2.  The apm daemon, apmd, interfaces with the APM kernel driver and runs
the userland event scripts.
3.  The command line program, apm, interfaces to apmd and can be used to
query battery level or initiate a system suspend.

APM events generally flow as follows:

1.  The APM BIOS queues a standby/suspend request.
2.  The APM kernel driver gets the request event the next time it polls
the APM BIOS (typically once per second) and queues the standby/suspend
request to the apm daemon.
3.  The apm daemon determines whether or not to accept this request, based
on the current power source and the daemon configuration. If the request
is accepted, it performs any standby/suspend activities, then sends the
accept/reject notice back to the kernel driver.
4.  The kernel driver sends the accept/reject notice to the APM BIOS.
5.  If the event request was accepted, the APM BIOS places the hardware in
the specified mode.

=== unsnip ===

"power-saving" is hyphenated because they're two words describing a third
(mode).  Same with "i386-specific [information]".  

In the current document, no special typeface is used consistently to set
off program names e.g. apm and apmd.  I think they should be highlighted
somehow, perhaps with a typewriter font.  

I haven't looked into how the document is maintained.  If the above
changes are accepted (in some form), I could contribute patches in the
future.  

--jkl


Home | Main Index | Thread Index | Old Index