Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #66, ИЮНЬ 2004 г.

Мобильные юниксы vol.1

Anton Karpov

Xakep, номер #066, стр. 066-104-7


WWW

www.kernel.org

freshmeat.net

acpi.sourceforge.net

swsusp.sourceforge.net

fdd.com/software/radeon/

ACPI в подробностях

ACPI (Advanced Configuration & Power Interface, Расширенное Управление и Интерфейс Питания) – это открытый стандарт 1996 года, разработанный компаниями Intel, Toshiba, Hewlett-Packard и Microsoft, описывающий управление хардварными частями компа. В отличие от его предшественника APM (Advanced Power Management, Расширенное Управление Питанием), полная поддержка и управление подсистемой ACPI возможна не только на уровне BIOS (firmware), но и на уровне операционки. То есть теперь ОС может, согласно своим нуждам, управлять частотой процессора, контролируя температуру, потребление энергии и т.п., что дает гораздо большую гибкость. Текущая версия ACPI – 2.0c (acpi-20020404), поддерживает как 32-разрядные, так и 64-разрядные платформы. В разработке – версия 3.0.

Работа процессора контролируется режимами управления питанием, т.н. C-states (С1-С3), когда используется не вся мощность процессора (например, когда система неактивна и вся мощь процессора не требуется), тем самым регулируется его температура, а также "усиленным" управлением питанием (throttling control, T-states), когда процессор "засыпает" на определенные промежутки времени, например, для избежания перегрева и экономии потребляемой энергии. Кроме этого, существует т.н. управление производительностью (performance control, P-states), в простейшем случае это программное снижение частоты работы процессора со снижением рабочего напряжения все с той же целью – протянуть на аккумуляторах как можно дольше (технологии Intel SpeedStep и Centrino).

Сонное царство ACPI

Самая известная и, пожалуй, часто используемая фишка в подсистеме ACPI – это т.н. sleep states, состояния системы. Всего их шесть, обозначаются они как S-state (от S0 до S5). Помимо очевидных состояний "все включено" (S0 – "working"), когда идет нормальная работа, и "все выключено" (S5 – "soft off"), когда питание отключено, однако система может реагировать на внешние воздействия (например, всем известная возможность включения компа нажатием на клавишу или включение по сети – "wake-on-lan" – как раз из области S5), существуют режимы S3 – "Suspend to RAM", когда система выключается, но текущее состояние дампится в оперативную память, позволяя моментально восстановить рабочую сессию без повторной загрузки ОС и приложений, виндовый "Suspend" - как раз переход в это состояние. S4 – "Suspend to Disk", то же самое, но состояние оперативки дампится на раздел винчестера или в файл, что позволяет не затрачивать энергию на "подпитку" памяти, в виндах этому состоянию соответствует режим "Hibernate". Наконец, режим S1 – "Stopgrant" - выключение процессора, и S2 – зарезервированное, но не используемое состояние.

Конкретная реализация ACPI может не поддерживать некоторые состояния, но, как правило, S3, S4 и S5 поддерживаются всегда. Помимо sleep states, ACPI умеет управлять температурным режимом, регулируя работу кулера, а также контролировать работу процессора.

Назад на стр. 066-104-6  Содержание