3.8.2 Стандарты управления питанием

Предыдущая  Содержание  Следующая V*D*V

Существуют два стандарта управления питанием, поддерживаемых Linux: стандарт APM и ACPI. Оба эти стандарта имеют свои корни в архитектуре x86. Основное различие между этими двумя стандартами в том, что при управлении питанием ACPI позволяет больше управлять изнутри ОС, тогда как APM больше зависит от BIOS. Управление питанием встраивается в ядро при выборе во время конфигурирования ядра опции CONFIG_PM; пользователю будет предложено выбрать стандарт APM или ACPI. В зависимости от выбранного варианта внутри ядра, должны быть выбраны соответствующие приложения пользовательского пространства; например, если в качестве стандарта управления питанием в ядре был выбран APM, то также должно быть выбрано приложение apmd.

Стандарт APM, введённый Microsoft и Intel, выделяет большую часть контроля управления питанием в BIOS. BIOS контролирует список устройств и знает, как определить бездействие системы, чтобы переводить систему в режимы пониженного энергопотребления. Решение позволить BIOS выполнять такое управление имело много недостатков:

 

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

BIOS определяет только активность устройств, расположенных на материнской плате. Устройства, находящиеся не на материнской плате, например, подключенные к шине USB, не могут участвовать в управлении питанием.

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

 

Когда стало ясно, что APM не был идеальным стандартом управления питанием, был разработан новый стандарт, названный ACPI. Обоснованием APCI было то, что большая часть политик управления питанием должны обрабатываться в ОС, поскольку она может принять лучшие решения в отношении нагрузки на систему и, следовательно, она может управлять питанием процессора и периферийных устройств. Стандарт ACPI всё ещё делает систему зависимой от BIOS, но в меньшей степени. При использовании интерпретируемого языка, названного AML (ACPI Machine Language, Машинный Язык ACPI), ОС может работать с устройствами, не имея большой информации об устройствах.

 

Предыдущая  Содержание  Следующая