OpenXS Russian Man Pages FreeBSD UnixWare 2 Solaris 8 UnixWare 7 GNU/Linux

apm(4)

Устройства и драйверы устройств

apm(4)

НАЗВАНИЕ

apm - интерфейс APM BIOS

СИНТАКСИС

apm0

ОПИСАНИЕ

Специальный файл устройства apm - это интерфейс к подсистеме расширенного управления питанием Intel/Microsoft (APM - Advanced Power Management) BIOS на ноутбуках.

apm предлагает следующие функции управления питанием.

  1. Когда система пробуждается из режима останова (suspended mode), apm настраивает системные часы в соответствии с RTC.
  2. Когда система пробуждается из режима останова, apm посылает сообщение демону syslogd(8), содержащее время пробуждения и продолжительность периода останова.
  3. apm замедляет часы процессора при отсутствии активности в системе (работающих процессов, прерываний и т.п.). Эта функция доступна только в системах, APM которых поддерживает замедление процессора.
  4. apm представляет собой специальное символьное устройство. Приложения могут через этот интерфейс управлять подсистемой APM или выбирать информацию о состоянии APM. apm экспортирует следующие интерфейсы. Эти символы определены в заголовочном файле "/usr/include/machine/apm_bios.h".
    APMIO_SUSPEND
    Остановить систему.

    APMIO_GET
    Получить информацию об управлении питанием.

    APMIO_ENABLE
    APMIO_DISABLE
    Включить/отключить управление питанием.

    APMIO_HALTCPU
    APMIO_NOTHALTCPU
    Управляет выполнением команды HLT в процедуре переключения контекста ядра.

    APMIO_GETPWSTATUS
    Получить информацию по батареям.

    Некоторые реализации APM выполняют команду HLT (остановить процессор пока не произойдет прерывание) в вызове "Idle CPU" (ожидание процессора), а другие -нет. Поэтому включение APMIO_HALTCPU может привести к избыточным выполнениям команды HLT, поскольку "Idle CPU" вызывается из процедуры переключения контекста ядра, обязательно выполняющей команду HLT. Это может снижать пиковую производительность системы.

    Кроме того, система зависает, если команда HLT отключена в процедуре переключения контекста ядра, а реализация подсистемы APM на машине не выполняет HLT в вызове "Idle CPU". В некоторых реализациях, не поддерживающих замедление таймера процессора, подсистема APM может и не выполнять HLT. apm отключает поддержку операции APMIO_NOTHALTCPU на таких машинах.

    Текущая версия apm не вызвает "Idle CPU" из процедуры переключения контекста ядра, если не поддерживается замедление таймера, и по умолчанию выполняет команду HLT. Поэтому в большинстве случаев использовать эти две операции не нужно.

    Эти интерфейсы используются командой apm(8).

  5. apm опрашивает события подсистемы APM и обрабатывает следующие из них.
    Имя Действие Описание
    PMEV_STANDBYREQ остановка системы запрос ожидания
    PMEV_SUSPENDREQ остановка системы запрос останова
    PMEV_USERSUSPENDREQ остановка системы запрос останова пользователем
    PMEV_CRITSUSPEND остановка системы критический запрос останова
    PMEV_NORMRESUME восстановление системы обычное восстановление
    PMEV_CRITRESUME восстановление системы критическое восстановление
    PMEV_STANDBYRESUME восстановление системы восстановление из состояния ожидания
    PMEV_BATTERYLOW уведомление батарея разряжена
    PMEV_UPDATETIME настройка часов изменить время

ОШИБКИ

ПРЕДУПРЕЖДЕНИЕ! Многие, если не большинство, современных реализаций APM-bios в ноутбуках содержат ошибки. Используя этот интерфейс, мы можете повредить экран или батареи ноутбука. (В MS-Windows этой проблемы нет потому, что там используется интерфейс в реальном режиме.) Если вы заметили странности в поведении системы при использовании этого кода, отключите питание и батареи как можно быстрее, лучше - немедленно, и отключите этот код.

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

Когда интерфейс apm активен, вызов процедуры настройки BIOS с помощью горячих клавиш может вызвать серьезные трудности при возобновлении работы системы. Программы настройки BIOS следует вызывать в процессе начальной загрузки или из DOS.

Некоторые реализации подсистемы APM не могут обрабатывать некоторые событие, например, нажатие кнопки питания или закрытие ноутбука. В таких случаях систему надо сотанавливать только с помощью команды apm(8) или zzz(8).

Замедление врашение диска, уменьшение подсветки экрана и включение питания по требованию (power on demand) в текущей версии не поддерживаются.

ССЫЛКИ

apm(8), zzz(8)

АВТОР

Тацуми Хосокава (Tatsumi Hosokawa) (hosokawa@jp.FreeBSD.org)

FreeBSD 4.6, 1 ноября 1994 года

Copyright 2002 В. Кравчук, OpenXS Initiative, перевод на русский язык


FreeBSD UnixWare 2 Solaris 8 UnixWare 7 GNU/Linux OpenXS Russian Man Pages