APM(4)

명칭
apm - APM BIOS 인터페이스

서식
device apm0 at isa?

해설
apm (은)는 랩탑 PC 의 Intel / Microsoft APM (Advanced Poewr Management) BIOS 에의 인터페이스입니다.

apm (은)는 다음의 전원 관리 기능을 제공합니다.

1.  시스템이 중지 모드로부터 복귀했을 때에, apm (은)는 시스템의 시계를 RTC 에 맞춥니다.

2.  시스템이 중지 모드로부터 복귀했을 때에, 시스템이 복귀했을 때 각과 중지 모드중에 경과한 시간으로 구성된다 메세지를, apm 하 syslogd(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
        커널 문맥 변환 routine에서의 HLT 의 실행을 제어합니다.

        HLT (세치기가 발생할 때까지 CPU 를 정지) 인스트럭션을 “Idle CPU” 호출 중(안)에서 실행하는 APM 의 실장도 있고, 그렇지 않은 것도 있습니다. 그러니까 이것을 유효하게 하면(자), “Idle CPU” (을)를 호출하는 커널 문맥 변환 routine가 원래 HLT 인스트럭션을 실행하는 것으로써, 여분의 HLT 인스트럭션을 실행하게 될 가능성이 있습니다. 이 결과, 시스템의 피크 성능을 감소시킬 가능성이 있습니다.

        또, 커널 문맥 변환 routine에서의 HLT 인스트럭션을 무효로 했을 경우, 머신의 APM 의 실장이 “Idle CPU” 그리고 HLT 를 실행하지 않는 경우에는, 시스템은 행업 합니다. CPU 클락의 감속을 서포트하고 있지 않는 실장에서는, APM 는 HLT (을)를 실행하지 않을지도 모릅니다. 그러한 머신에서는, apm 하 APMIO_NOTHALTCPU 의 조작을 무효로 합니다.

        현재의 버젼의 apm (은)는, 클락의 감속이 서포트되어 있지 않은 경우에는, 커널 문맥 변환 routine로부터 “Idle CPU” (을)를 호출하지 않고, 디폴트에서는 HLT 인스트럭션을 실행합니다. 따라서, 대체로의 경우에는 이러한 2 개의 조작을 실시할 필요는 없습니다

    이러한 인터페이스는 apm(8) (와)과 apmconf(8) 하지만 사용합니다.

5.  apm (은)는 APM 이벤트를 폴링 해, 다음의 이벤트를 처리합니다.
    명칭                   동작             해설
    PMEV_STANDBYREQ        중지       대기 요구
    PMEV_SUSPENDREQ        중지       중지 요구
    PMEV_USERSUSPENDREQ    중지       유저 중지 요구
    PMEV_CRITSUSPEND       중지       비상 중지 요구
    PMEV_NORMRESUME        resume       통상의 복원
    PMEV_CRITRESUME        resume       비상 복원
    PMEV_STANDBYRESUME     resume       대기 복원
    PMEV_BATTERYLOW        메세지 통지   전지 부족
    PMEV_UPDATETIME        시계 맞추어라       시각을 갱신

버그
경고! 현재로서는, 랩탑 머신의 APM BIOS 의 실장은, 거의까지는 가지 않아도 버그투성이입니다. 이 인터페이스를 사용하면(자) LCD 디스플레이나 전지를 위험에 처할 가능성이 있습니다. (이것이 MS-Windows 로 문제가 되지 않는 이유는 리얼모드 인터페이스 (을)를 사용하고 있기 때문입니다. ) 이 코드를 사용해 당신의 시스템이 기묘한 동작을 하는 것을 발견했을 경우에는, 전원 플러그와 전지를 즉시까지는 가지 않아도 가능한 한 빨리 뽑아, 이 코드를 무효로 해 주세요.

저희들은 이 코드가 동작하게 되는 것에 관심을 가지고 있습니다. 비정상인 동작의 관찰 결과를 꼭 저희들에게 연락해 주세요.

apm 하지만 유효한 때, hot key를 사용해 BIOS 설정 routine를 호출하면(자) 시스템 resume시에 중대한 장해를 일으킬 가능성이 있습니다. BIOS 설정 프로그램은 bootstrap시 또는 DOS 로부터 호출해야 합니다.

APM 의 실장에 따라서는, 전원 버튼을 누른 것이나 커버를 닫는다고 했다 이벤트를 취급할 수가 없는 경우가 있습니다. 그러한 실장으로 시스템을 중지 하는 경우에는, 반드시 apm(8) 또는 zzz(8) 만 (을)를 사용해 주세요.

디스크 감속, LCD 백 라이트 제어, 파워 On Demand는 현재의 버젼에서는 서포트되고 있지 않습니다.

관련 항목
apm(8), apmconf(8), zzz(8)

저자
Tatsumi Hosokawa <hosokawa@jp.FreeBSD.org>