tail head cat sleep
QR code linking to this page

manページ  — APM

名称

apm – APM BIOS インタフェース

内容

書式

device apm0 at isa?

解説

apm はラップトップ PC の Intel / Microsoft APM (Advanced Power Management) BIOS へのインタフェースです。

apm は次の電源管理機能を提供します。

  1. システムがサスペンドモードから復帰した時に、 apm はシステムの時計を RTC に合わせます。
  2. システムがサスペンドモードから復帰した時に、 システムが復帰した時刻とサスペンドモード中に経過した時間で構成される メッセージを、 apmsyslogd(8) に通知します。
  3. apm はシステムの活動 (実行可能なプロセス、割り込みなど) がない時に CPU のクロックを減速します。 この機能は APM が CPU のアイドリングをサポートしているシステムでのみ有効です。
  4. apm はキャラクタ型デバイスとしてアプリケーションインタフェースを提供します。 アプリケーションはこのインタフェースを介して APM を制御したり、 APM の状態情報を引き出したりすることができます。 apm は次のインタフェースを提供します。これらのシンボルは " /usr/include/machine/apm_bios.h" で定義されています。
    APMIO_SUSPEND
      システムをサスペンドします。
    APMIO_GET
      電源管理情報を入手します。
    APMIO_ENABLE
    APMIO_DISABLE
      電源管理を有効 / 無効にします。
    APMIO_HALTCPU
    APMIO_NOTHALTCPU
      カーネルコンテキスト切り替えルーチンでの HLT の実行を制御します。

    HLT (割り込みが発生するまで CPU を停止) 命令を " Idle CPU" 呼び出しの中で実行する APM の実装もありますし、そうでないものもあります。 ですからこれを有効にすると、 " Idle CPU" を呼び出すカーネルコンテキスト切り替えルーチンが 元々 HLT 命令を実行することにより、 余分な HLT 命令を実行することになる可能性があります。 この結果、システムのピーク性能を減少させる可能性があります。

    また、カーネルコンテキスト切り替えルーチンでの HLT 命令を無効にした場合、 マシンの APM の実装が " Idle CPU" で HLT を実行しない場合には、システムはハングアップします。 CPU クロックの減速をサポートしていない実装では、APM は HLT を実行しないかもしれません。 そのようなマシンでは、 apm APMIO_NOTHALTCPU の操作を無効にします。

    現在のバージョンの apm は、クロックの減速がサポートされていない場合には、 カーネルコンテキスト切り替えルーチンから " Idle CPU" を呼び出さず、デフォルトでは HLT 命令を実行します。 したがって、大抵の場合にはこれらの 2 つの操作を行う必要はありません

    これらのインタフェースは apm(8)apmconf(8) が使用します。

  5. apm は APM イベントをポーリングし、次のイベントを処理します。
    名称 動作 解説
    PMEV_STANDBYREQ サスペンド 待機要求
    PMEV_SUSPENDREQ サスペンド サスペンド要求
    PMEV_USERSUSPENDREQ サスペンド ユーザサスペンド要求
    PMEV_CRITSUSPEND サスペンド 非常サスペンド要求
    PMEV_NORMRESUME レジューム 通常の復元
    PMEV_CRITRESUME レジューム 非常復元
    PMEV_STANDBYRESUME レジューム 待機復元
    PMEV_BATTERYLOW メッセージ通知 電池不足
    PMEV_UPDATETIME 時計合わせ 時刻を更新

バグ

警告! 現在のところ、ラップトップマシンの APM BIOS の実装は、 ほとんどとまではいかなくてもバグだらけです。 このインタフェースを使用すると LCD ディスプレイや電池を 危険にさらす可能性があります。 (これが MS-Windows で問題とならない理由はリアルモードインタフェース を使用しているからです。) このコードを使用してあなたのシステムが奇妙な動作をするのを発見した場合には、 電源プラグと電池を直ちにとまではいかなくてもできるだけ早く抜き、 このコードを無効にしてください。

私達はこのコードが動作するようになることに関心を持っています。 異常な動作の観察結果をぜひ私達に連絡してください。

apm が有効である時、ホットキーを使って BIOS 設定ルーチンを呼び出すと システムレジューム時に重大な障害を引き起こす可能性があります。 BIOS 設定プログラムはブートストラップ時または DOS から呼び出すべきです。

APM の実装によっては、電源ボタンを押したことやカバーを閉じるといった イベントを扱うことができない場合があります。 そのような実装でシステムをサスペンドする場合には、 必ず apm(8) または zzz(8) だけ を使用してください。

ディスク減速、LCD バックライト制御、パワーオンデマンドは 現在のバージョンではサポートされていません。

関連項目

apm(8), apmconf(8), zzz(8)

作者

Tatsumi Hosokawa <hosokawa@jp.FreeBSD.org>

APM (4) November 1, 1994

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

Unix’s “power tools” are more like power switchblades that slice off the operator’s fingers quickly and efficiently.
— The Unix Haters' handbook