Acpi version features что это

ACPI (Advanced Configuration and Power Interface) – это стандарт (спецификация), определяющий способы программного управления электропитанием компонентов компьютера с помощью встроенных средств ОС (операционной системы). Другими словами данная технология предназначена для управления состоянием персонального компьютера и энергопотреблением его компонентов.

Кроме управления электропитанием данный стандарт позволяет выполнять конфигурацию устройств Plug and Play.

Управление электропитанием и конфигурирование устройств Plug and Play осуществляется на уровне операционной системы (предшественник спецификации ACPI стандарт АРМ реализован на уровне BIOS), то есть ОС практически полностью управляет энергопотреблением и конфигурированием устройств ПК.

Спецификация ACPI требует поддержки со стороны, как материнской платы, так и подключаемых устройств.

Для технологии ACPI определяют несколько состояний и подсостояний системы (компьютера): глобальные состояния системы, состояния ЦП (центрального процессора) и состояния устройств.

Глобальных состояний системы различают четыре:

G0 (S0) – нормальное функционирование системы;

G1 (S1, S2, S3, S4) – режимы уменьшенного энергопотребления, о которых мы поговорим чуть ниже.

G2 (S5) – программное выключение. В данном состоянии компьютер выключен, но блок питания находится под напряжением.

G3 – состояние в котором питание полностью отключено от блока питания (БП).

Режимы уменьшенного энергопотребления (S1, S2, S3, S4):

S1 (Power On Suspend, POS, Doze) – режим энергосбережения, при котором отключается монитор, винчестер, но на центральный процессор и ОЗУ (модули оперативной памяти) питание подается, снижается частота системной шины. Процессорные кэши сброшены, процессоры не выполняют инструкции, отключен генератор тактовой частоты ЦП.

S2 (Standby, Standby Mode) – режим уменьшенного энергопотребления. При данном режиме происходит отключение монитора, винчестера. От ЦП отключается напряжение питания. Останавливаются все тактовые генераторы (продолжают работать только те тактовые генераторы, которые необходимы для работы оперативной памяти). Питание подается только на системную память (в ней хранится информация о состоянии системы).

S3 (Suspend to RAM, STR, Suspend) – ждущий режим. При данном режиме энергосбережения питание подается только на оперативную память (в ней хранится информация о состоянии системы). Все другие компоненты ПК отключены.

S4 (Suspend to Disk, STD, Suspend to Hard Drive, S4-Hibernation) – глубокий сон. При данном режиме энергосбережения текущее состояние системы записывается на винчестер, после чего следует отключение питание всех компонентов ПК.

Для стандарта ACPI определяют несколько состояний процессора:

C0 – процессор работает в номинальном режиме.

C1 (Halt) – состояние уменьшенного энергопотребления. Работа процессора приостановлена, но он может незамедлительно вернуться в рабочее состояние.

C2 (Stop-Clock) – работа процессора приостановлена. Но регистры и кэш остаются в рабочем состоянии. Процессор может немедленно приступить к обработке заданий.

C3 (Sleep) – режим сна. Процессор в спящем режиме не обновляет кэш.

Для технологии ACPI также определяют четыре состояния устройств:

D0 – устройство работает в номинальном режиме.

D1 – режим уменьшенного энергопотребления (устройство использует меньше энергии чем состояние D0).

D2 – режим уменьшенного энергопотребления (устройство использует меньше энергии чем состояние D1).

D3 – устройство выключено.

Интерфейс автоматического управления конфигурацией и питанием (ACPI) пришел на смену уже устаревшего АРМ (Advanced Power Management).

Источник

Технологии ACPI и OnNow

В данной статье пойдет речь о вопросе управления энергопотреблением в современных компьютерах, выражаясь в специфической терминологии — Power Managment. Нет-нет, не закрывайте окно браузера, считая, что вас это не касается, поскольку вы не являетесь владельцем ноутбука и не состоите в партии зеленых. Речь пойдет о гораздо более интересных вещах: совместной инициативе Intel, Microsoft и Toshiba — ACPI, и одном из наиболее интересных ее практических воплощений в Windows98/NT — технологии OnNow, должной обеспечить «постоянно доступный PC».

Итак, что же собственно это такое — ACPI? Для начала, наверное, стоит расшифровать эту аббревиатуру. ACPI, в переводе на человеческий язык, означает Advanced Configuration and Power Interface. Или, говоря по-русски, «интерфейс расширенного конфигурирования и управления питанием». Его задача — обеспечить взаимодействие между операционной системой, аппаратным обеспечением и BIOS системной платы.

Посмотрим сначала, что творится в этой области сегодня. Большинство материнских плат, даже вышедших на базе таких относительно новых чипсетов как VIA Apollo MVP3 или Intel 440BX, не поддерживают расширенное управление энергопотреблением ACPI, несмотря на то, что по идее, ACPI-совместимым считается еще аж 430TX, а сам ACPI был анонсирован в апреле 1996 года. Его использование начинается только сегодня, по мере того, как для вышедших недавно материнских плат создаются новые версии BIOS, частично поддерживающие ACPI.

Итак, повторюсь, основная задача ACPI — способность разумно включать и выключать PC и подключенную к нему периферию. Причем, помимо принтеров, сетевых карт, дисководов CD-ROM и прочая и прочая, могут быть и такие, пока еще экзотические устройства, как телевизор, видеомагнитофон, музыкальный центр. И конечно речь идет об умной активации PC. Так, чтобы видеоплеер при установке в него кассеты смог разбудить PC, который включил бы телевизор.

Однако на данный момент ACPI может интересовать среднего пользователя только как теоретическая архитектура. Куда интереснее основанная на нем технология OnNow, уже сегодня могущая предоставить кое-какие вполне осязаемые приятности. Ее цели: убрать задержки при включении и выключении компьютера, позволить обслуживающим приложениям, таким как дефрагментация диска или проверка на вирусы выполняться в то время, когда компьютер выключен, и вообще, улучшить общую картину энергопотребления PC.

Режим S3 (настоящий OnNow) не может быть реализован из-за того, что существующие системные платы не имеют схем разделенного питания компонентов. Поэтому, до выхода следующего поколения материнок OnNow в полном объеме реализован быть не может. Пока же, путем модификации BIOS, можно добиться только некой эмуляции — S4.

Первой же материнской платой, которая будет иметь раздельные схемы питания для своих узлов и будет, таким образом, поддерживать режим S3 станет ASUS P2B-E — модификация давно известной системной платы P2B от Asustek. Кроме возможности suspend-to-memory, кстати, P2B-E будет иметь 5 слотов PCI. В серийное производство эта плата будет запущена в ноябре текущего года.

Но вернемся к нашим баранам. Спецификацию OnNow разрабатывала небезызвестная вам фирма Microsoft. Угадайте с трех попыток, кто по этой спецификации должен стать управляющим центром компьютера по всем этим вопросам? Первые два ответа можно не считать, правильно — Windows.

В общем, я полагаю, тенденцию вы уловили. Компьютер, постоянно находящийся наготове.

Обидно, однако, что пока с практическим использованием ACPI очень дела обстоят неважно. Возьмем самое яркое видимое и единственное на данный момент проявление ACPI в Windows 98 — Hibernate (по-русски — зимняя спячка). Проще говоря, это то самое хваленое сбрасывание данных из оперативной и видеопамяти на винт, с последующим быстрым восстановлением при включении компьютера. Таким образом, у нас получается аналог спящего режима, когда к вашим услугам предоставлены всегда запущенные приложения, но с нулевым потреблением энергии. Так вот, после появления в вашем компьютере версии BIOS, поддерживающей ACPI и некоторых манипуляций с установкой Windows 98, у вас действительно в Control Panel/Power Management появится пара вожделенных пунктов:

Acpi version features что это. Смотреть фото Acpi version features что это. Смотреть картинку Acpi version features что это. Картинка про Acpi version features что это. Фото Acpi version features что это

И соответствующий пункт в закладке Advanced:

Acpi version features что это. Смотреть фото Acpi version features что это. Смотреть картинку Acpi version features что это. Картинка про Acpi version features что это. Фото Acpi version features что это

Я уже не говорю о не так хорошо заметных проявлениях в списке системных устройств:

Acpi version features что это. Смотреть фото Acpi version features что это. Смотреть картинку Acpi version features что это. Картинка про Acpi version features что это. Фото Acpi version features что это

Как вам нравятся такие устройства, как ACPI System Button или Composite Power Source?

Но для появления всего этого после перепрошивки BIOS недостаточно просто переустановить Windows 98. Поддержка ACPI — опциональная, поэтому при инсталляции надо запустить SETUP с ключами /P J или же поправить реестр, добавив в ветке HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrent VersionDetect новую DWORD-переменную ACPIOption, установленную в 1.

Однако, небольшое но. Ох уж это но, всегда оно появляется. Как обычно, новая технология отказывается работать в Windows сразу и без ошибок. Эта печальная практика затронула и OnNow. В Windows 98 фактически он не работает. До выхода Service Pack 1 все ограничится этими красивыми, но, к сожалению, бесполезными картинками. Сегодня в Windows’98 не работают ни Hibernate, ни вообще, какие либо функции управления питанием через ACPI. Весь контроль над ними берет на себя APM. Взять тот же Composite Power Source (по-русски говоря, — блок питания в корпусе): при входе в спящий режим через ACPI он должен выключаться, а при входе через APM (сегодня) — не выключается. Улавливаете разницу в уровне контроля над железом?

Про Hibernate я вообще молчу. Там все отягощается еще и файловой системой. По крайней мере, по текущей информации, Hibernate не будет работать с FAT32. Только с FAT16. Кроме этого, для работы необходимы поддерживающие OnNow драйвера видеокарты. Пока их только делает ATI. Но и этого еще недостаточно. Многие из существующих CD ROM и SCSI-контроллеров с Hibernate также работать не могут. Остается надеяться, что к выходу SP1 (1999 год) Microsoft удастся справиться с этими проблемами. А производителям комплектующих — написать драйверы, позволяющие их продуктам корректно работать с ACPI. Уж больно не хочется видеть окно, возникающее сейчас на моем экране при попытке уйти в Suspend Mode:

Acpi version features что это. Смотреть фото Acpi version features что это. Смотреть картинку Acpi version features что это. Картинка про Acpi version features что это. Фото Acpi version features что это

Итог: любимый город может спать спокойно. По крайней мере, до 99 года, когда выйдет SP1 для Windows 98, а комплектующие и программы научатся работать в паре с ACPI.

Возможно, однако, что OnNow будет все же работать через BIOS, в обход операционной системы. Например, плате ASUS P2B-E не будет требоваться команда Windows 98 для перехода в S3 (suspend-to-memory), а уже давно вышедшая плата Aopen AX-6BC умеет делать S4 (suspend-to-disk) не пользуясь средствами операционной системы.

Источник

ACPI — технология управления питанием

В наших с вами компьютерах существует множество опций, к существованию которых мы давно привыкли и воспринимаем их как должное. Среди них есть и такие, которые были введены в компьютерную жизнь благодаря принятию в середине 90-х гг. ведущими производителями компьютерного оборудования стандарта ACPI(Advanced Configuration and Power Interface — Расширенный интерфейс управления настройкой и питанием). Этот стандарт предоставляет операционной системе и, как следствие, пользователю компьютера мощные и эффективные средства для контроля аппаратных компонентов и управления их работой.

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

Acpi version features что это. Смотреть фото Acpi version features что это. Смотреть картинку Acpi version features что это. Картинка про Acpi version features что это. Фото Acpi version features что это

Эти функции кажутся нам теперь совершенно естественными, но в ранних версиях Windows, таких как Windows 95, не поддерживавших технологию ACPI (не говоря уже об операционных системах семейства DOS), операционная система не могла даже автоматически выключить компьютер, и пользователю приходилось самостоятельно нажимать кнопку питания для того, чтобы выключить системный блок.

История создания

Нельзя сказать, что стандарт ACPI появился на пустом месте. До его появления существовал стандарт управления питанием APM. Однако он поддерживался исключительно на уровне BIOS. Кроме того, его возможности были ограничены и в настоящее время этот стандарт практически не используется.

ACPI изначально разрабатывался в качестве открытого стандарта. Первая реализация ACPI была создана в 1996 году компаниями Toshiba, Intel и Microsoft, к которым позже присоединились Phoenix и Hewlett-Packard. Стандарт ACPI постоянно совершенствуется, а его последняя версия была выпущена в 2011 г. Первоначально в ACPI использовалась 16 и 32-битная адресация, которая позже сменилась 64-битной. В версии ACPI 3.0, вышедшей в 2004 г., была добавлена поддержка разъемов SATA, а также шины PCI Express.

На сегодняшний день эта технология поддерживается большинством операционных систем, а также процессорных архитектур. Помимо семейства ОС Microsoft Windows стандарт ACPI поддерживается также такими семействами ОС, как Linux и Free BSD.

Принцип работы

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

Функции ACPI хранятся в БИОСЕ компьютера. Это справедливо, разумеется, для тех BIOS, которые поддерживают ACPI. Кроме того, для работы функций ACPI требуется поддержка технологии со стороны операционной системы.

ACPI на уровне BIOS состоит из нескольких компонентов, которые включают ядро ACPI и таблицы данных. В отличие от таких встроенных в BIOS технологий, как PnP, реализация ACPI в рамках BIOS не столь объемна, а функции ACPI BIOS ограничиваются организацией загрузки таблиц ACPI в память компьютера. Таблицы данных ACPI содержат сведения об аппаратной конфигурации и помогают операционной системе управлять аппаратными компонентами.

Преимущества

Какие же преимущества дает повсеместное внедрение стандарта ACPI простому пользователю?

Основная функция ACPI – контроль со стороны операционной системы за потреблением энергии всего компьютера и его отдельных компонентов. Например, при помощи функций ACPI операционная система может погрузить компьютер в режим сна, а также автоматически выключить питание. На практике пользователь может так настроить поведение компьютера, что он ничем не будет отличаться от электронной бытовой техники, такой, например, как музыкальный центр или телевизор, которые готовы к работе сразу же после того, как вы нажимаете их кнопку питания. При этом пользователь может пропустить ставшую традиционной загрузку компьютера.

Но этим возможности ACPI не ограничиваются. Пользователь может также запрограммировать поведение кнопки выключения питанием на системном блоке. При ее нажатии система будет спрашивать у вас, что делать — выключать ли компьютер, переводить ли его в спящий режим, режим гибернации, то есть, приостановки работы компьютера с сохранением текущей сессии, или ничего не делать. Единственной кнопкой на блоке, не зависящей от программных установок, на компьютере, поддерживающем ACPI, осталась лишь кнопка Reset.

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

Стандарт ACPI определяет несколько режимов потребления энергия – номинальный режим, энергосберегающий режим, режим полной остановки, и.т.д. Эти режимы поддерживаются как всем компьютером, так и его отдельными компонентами, в том числе и центральным процессором.

Пользователь может настроить уровень поддержки ACPI компьютером, а также включить или выключить отдельные опции ACPI в БИОСЕ при помощи интерфейса настроек BIOS Setup.

Основные преимущества технологии:

Заключение

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

Источник

Тонкая настройка ACPI на примере Thinkpad X220

Лирика

За прошедшие пару месяцев мне довольно часто приходилось вступать в дискуссии о всевозможных портативных компьютерах: ломать копья в спорах какой производитель лучше и почему, обсуждать совместимость с GNU/Linux и то, как в этой системе настроить ту или иную функцию и, периодически, меня таки просят поделиться конфигами. Под влиянием этих самых обсуждений и родилась данная статья.

Большую часть своего компьютерного стажа я пользуюсь лаптопами так называемой «бизнес серии»: IBM ThinkPad 600, HP-Compaq nc2400, Lenovo ThinkPad X61T, Lenovo ThinkPad X220.

Acpi version features что это. Смотреть фото Acpi version features что это. Смотреть картинку Acpi version features что это. Картинка про Acpi version features что это. Фото Acpi version features что это

Были кратковременные перерывы, когда приходилось перебиваться абы-чем, то бишь компьютерами потребительского сегмента: Apple ibook G4 и Acer aspire 5112 и именно в эти моменты приходило понимание того, как сильно не хватает таких очевидных и привычных вещей, как трекпоинт и док-станция.

Что это такое? Подставка для лаптопа с разъемом питания и всевозможными дополнительными портами. В некоторые модели можно установить дополнительный жесткий диск или аккумулятор. Док-станция избавляет от необходимости каждый раз подключать весь набор кабелей, приходя на рабочее место и отсоединять, уходя.

Особенно удобна такая конфигурация под управлением GNU/Linux (в моем случае, Debian stable), где несколькими скриптами можно детально описать поведение компьютера.

Описание сценария работы

На работе я использую конфигурацию с внешним монитором и bluetooth клавиатурой Lenovo ThinkPad kt1255. Лаптоп практически никогда не выключается, вместо этого используется suspend to ram. Опишу сценарии обработчиков:

— Пробуждение в доке с закрытой крышкой: включить внешний монитор, активировать bluetooth и подключить клавиатуру, cpu performance
— Открытие крышки в доке: погасить внешний монитор и перевести изображение на внутренний
— Извлечение с открытой крышкой: дополнительно отключит клавиатуру и bt, cpu on-demand
— Извлечении с закрытой крышкой: залочить экран, перевести изображение на внутренний экран отключив внешний, вырубить клавиатуру и bt-модуль, cpu в on-demand, перейти в pm-suspend
— Закрытие крышки не в доке: блокировка экрана, pm-suspend

Непосредственно настройка

Какими-либо DE я не пользуюсь, да и не вижу смысла возлагать на них функцию управления питанием. Потому, настраивать будем средствами acpid.

Настройку начинаем, как обычно, с установки нужных программ:

Далее, смотрим какие события у нас генерятся при отстыковке лаптопа:

Стоит отметить, что ThinkPad Mini Dock Series 3 не предоставляет proc интерфейса.

Напишем правила для событий:

Правило на закрытие крышки идет в комплекте с пакетом acpi-support. Приведем его к надлежащему виду, указав путь к скрипту-обработчику:

А теперь перейдем к самому интересному: скриптам, описывающим реакцию на события при описанных выше условиях.

Поясню, на всякий случай, что 90:7F:61:10:A3:BC — это адрес моей клавиатуры. Настраиваются bluetooth устройства достаточно просто:

В дальнейшем, когда устройства связаны, достаточно передать

Чем мы в скриптах и пользуемся.

Опишем обработчик стыковки:

Подводные камни

После обновления до debian 8, где в системе появился systemd, я столкнулся со следующей проблемой: при закрытии крышки, pm-suspend почему-то отрабатывал два раза. То есть выполнялся скрипт lid.sh, но параллельно с ним производилось действие pm-suspend без всяких скриптовых обвязок.

Главным подозреваемым, конечно же, стал новый инициализационный комбайн. И не зря: после десяти минут гугления выяснилось, что, оказывается, systemd пытается, до кучи, брать на себя и функцию по управлению событиями acpi, но делает это покамест не слишком хорошо: на данный момент не может обрабатывать события подключения адаптера питания и батареи.

Переписывать скрипты под новые веяния моды желание также не возникло, потому было проделано следующее:

Тем самым мы отучили systemd делать то, о чем не просят и все встало на круги своя. В принципе, то же самое стоит сделать с HandleSuspendKey, HandleHibernateKey и HandlePowerKey, если есть желание обрабатывать нажатия через acpid.

Заключение

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

Недостаток у такого подхода ровно один: вызывает сильное привыкание.

Источник

Технология ACPI и Windows2000

ACPI. В последнее время эта аббревиатура всё чаще и чаще попадается на глаза. Расшифровывается она весьма просто, Advanced Computer Management and Interface, но что кроется за этой фразой, для многих остаётся загадкой. Системам управления питанием простые пользователи традиционно не уделяли особого внимания, руководствуясь мнением, что пара лишних киловатт, сожжённых в месяц, не имеют большого значения. Но, ACPI не является простым механизмом для экономии пары ватт энергии, его возможности гораздо шире, и при правильном использовании он способен коренным образом изменить пути и принципы взаимодействия пользователя и машины.

Начало истории развития систем управления питанием на ПК можно датировать 1989 годом, когда корпорация Intel выпустила процессор i386SL, в котором впервые была реализована возможность отключения процессора в случае его длительного бездействия. Почти сразу же появились и другие устройства, поддерживающие технологии SL, которые заняли свою нишу на рынке ноутбуков, превратив их в действительно мобильные устройства. Однако, SL работал только на уровне BIOS, без всякого взаимодействия с операционной системой, что приводило к определённым проблемам и неудобствам, главным из которых было невозможность для ОС определить, какие устройства отключены, что приводило к серьёзным неприятностям, вплоть до полного зависания системы при попытках ОС обратится к отключенному устройству.

Конечно же, такая ситуация не могла сохраняться долго, поэтому уже в 1991 Intel совместно с Microsoft разработали стандарт APM (Advanced Power Management), который предусматривал активное участие операционой системы в управлении питанием. Теперь, когда функции управления питанием перестали ограничиваться только BIOS, стало возможным реализовать гораздо более продвинутые алгоритмы упраления питанием. Например, с появлением APM стало возможным выключения питания по запросу ОС, что привело к появлению ATX форм-фактора. Кроме этого, стал возможным и обратный процесс, включения питания по запросу. Примером использования такой возможности может служить технология Wake on LAN, разработаная Intel совместно с IBM, которая позволяет включать ПК по сети, просто послав на сетевую карту так называемый «magic packet». Конечно, для этого сетевая карта, материнская плата, и BIOS должны поддерживать эту технологию.

Несмотря на впечатляющие возможности, APM не лишён серьёзных недостатков. APM способен только включать/выключать питание отдельных устройств, или всей системы в целом, его способность гибко реагировать на изменение ситуации ограниченна. Кроме этого, при разработке этого стандарта не учитывали темпов развития ПК и появления новых новых технологий на этом рынке. Например, APM не признаёт существование многопроцессорных систем, и, соответственно, реализовать поддержку APM на SMP (Symmetrical Multi Processor) машинах очень сложно, если вообще возможно.

Решением этих проблем, и логическим развитием APM, стало появление в 1997 году ACPI, разработаного совместно компаниями Intel, Toshiba и Microsoft. В настоящее время этот стандарт является последней разработкой в области управления питанием, в сейчас готовится версия 2.0 его спецификации. Так же как и APM, ACPI предпологает широкое участие ОС в управлении питанием системы, но не ограничивается только этим. Кроме управления питанием, ACPI охватывает ещё ряд вопросов управления системой. При запуске ACPI совместимой ОС, перехватываются некоторые функции BIOS (таких как APM BIOS PNPBIOS) и, кроме этого ACPI интерфейсу передаётся контроль над такими функциями как:

System Power management — ACPI получает контроль над такими функциями, как выключение системы, или перевод её в sleep mode.

Device Power Management — ACPI контролирует потребление питания всех устройств установленных в системе. Так же, он занимается переводом их с одного режима потребления питания на другой, в зависимости от требований ОС, приложений или пользователя.

Processor Power Management — при простаивании системы, ACPI позволяет переводить процессор в энегосберегающий режим, и выводить его из этого режима в случае необходимости.

Plug and Play — ACPI берёт на себя управление подключением и конфигурированием Plug and Play устройств. Кроме этого, в случает отключения устройства, ACPI определяет какие из оставшихся в системе устройств будут затронуты этим, и переконфигурирует их соответствующим образом.

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

Battery Management — эта функция перешла к ACPI от APM систем, она контролирует заряд батарей, расчитывает, сколько времени система сможет поработать на этом заряде, предупреждает пользователя о необходимости перезарядить батареи. Кроме этого, ACPI требует от батарей поддержки Smart Battery, что позволяет ОС контролировать работу баттарей через CMBatt (Control Method Battery) интерфейс.

Thermal Management — кроме конторя питания, ACPI предоставляет возможность контролировать и управлять температурой различных компонетов системы. Для этого используются датчики температуры, и так называемые тепловые зоны.

Embedded Controller — ACPI предоставляет стандартный интерфейс для работы с вставленным контролёром. Этот контролёр управляет такими устройствами как, например, мышь и клавиатура.

System Management Bus Controller — ACPI предосталяет стандартыный интерфейс взаимодействия программного и аппаратного обеспечения с SMBus. Что, в свою очередь, позволяет OEM производителям предоставлять возможность ОС использовать особенности их продуктов в полной мере.

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

Для управления и мониторинга системы, используются два вида объектов, это sensors (датчики) и watchdogs (если дословно, то сторожевые псы. Что это такое на самом деле, станет ясно из дальнейшего текста).

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

Thermal sensor — датчик температуры, соответсвенно, температуру он и измеряет.

Fan sensor — датчик вентилятора, или кулера, измеряет скорость вращения вентилятора.

Voltage sensor — датчик напряжения, измеряет напряжение эллектрического тока.

Конечно же, далеко не полный перечень датчиков, которые используются на ПК, существуют и более экзотические устройства, например Chassis Intrusion Sensor — датчик который позволяет определить, вскрыт корпус или нет.

Датчики делятся на два вида, числовые и основаные на статусе (status based). Числовой сенсор, снимает какое либо значение (температуру, частоту вращения вентилятора, и т.д.), и возвращает числовое значение. Исходя из природы измеряемого значения, такие сенсоры бывают числовыми и аналоговами. Типичным числовым сенсором является счётчик оборотов вентилятора, который абсолютно точно может сказать, сколько оборотов за определённое время делает вентилятор. Типичным аналоговым сенсором можно назвать датчик температуры, у которого появляются такие понятия как регулярность снятия значения (для датчиков температуры обычно это 1 секунда), верхний и нижний пределы диапазона измеряемых значений, и разрешение, которое сообщает с какой точностью производятся измерения.

Основаные на статусе сенсоры «видят» состояние устройства, и засекают изменение его статуса. К таким сенсорам относится, например, Chassis intrusion sensor, который сигнализирует о вскрытии корпуса. Минимально сенсор основаный на статусе может генерить два различных бита (так называемый бинарный сенсор) которые имеют два значения (хорошо/плохо), максимально — до 32. Согласно спецификации, первые 16 битов определяются как стандартные, и имеют следующие значения:

0OKНормальный рабочий статус
1WarningНекритичное предупреждение о возможных неполадках.
2CriticalКритический статус.
3FatalФатальный статус, устройство неработоспособно.
4-15RecervedЗарезервированы для возможного будущего расширения спецификации.

Из оставшихся 16 битов, 15 (16-30) могут быть использованы различными производителями для своих специфических нужд. Последний возможный бит зарезервирован, и интерпритируется как неизвестный статус.

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

0Upper WarningВерхний предел, некритический.
1Lower WarningНижний предел, некритический.
2Upper CriticalВерхний предел, критический.
3Lower CriticalНижний предел, критический.
4Upper FatalВерхний предел, фатальный.
5Lower FatalНижний предел, фатальный.
6-15ReservedЗарезевированя для будущих расширений спецификации.
16-31Vendor definedМогут быть использованы производителями для своих специфических нужд.

Примером практической реализации подобной технологии, может служить технология Smart Doctor, применяемая Asus в своих видеокартах серии Asus6xxx, которая делает выводы о состоянии карты исходя из показаний термодатчика, и заранее заданых значениях температуры чипа, при которых карта может перестать нормально работать.

Кроме этого, для основаных на статусе числовые сенсоры, предусмотрено такое понятие, как допуск (hysteresis), который служит для предотвнащения лишних срабатываний сенсора. Допуск всегда отрицательный для верхних пределов, и всегда положительный для нижних пределов. На нижеприведённой схеме, можно ознакомиться с принципом его работы:

Acpi version features что это. Смотреть фото Acpi version features что это. Смотреть картинку Acpi version features что это. Картинка про Acpi version features что это. Фото Acpi version features что это

Acpi version features что это. Смотреть фото Acpi version features что это. Смотреть картинку Acpi version features что это. Картинка про Acpi version features что это. Фото Acpi version features что это

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

Watchdog — устройства, которые следить за состоянием системы, основываясь на аппаратных таймерах. Такие устройства способны отслеживать зависания системы, и обычно распределяются так:

System Initialization Failure Watchdog. Ошибка при инициализации системы. Это ошибки кототрые возникают при инициализации основных компонентов системы, таких как центральный процессор, опреративная память, и т.д..

Pre-Os Boot Failure Watchdog. Ошибка при загрузке BIOS. Способен обнаружить, и среагировать на ошибки которые возникают в промежутке времени, аппаратное обеспечение компьютера уже инициализировалось, и идёт подготовка к загрузке ОС.

OS Boot Failure Watchdog. Обнаруживает зависаниее системы в процессе загрузки операционой системы.

OS Hang Watchdog. Обнаруживает зависания операционой системы.

Shutdown Failure Watchdog. Обнаруживает зависания в процессе выключения системы.

Согласно спецификации, существует 32 варианта, которыми любой из выше перечисленных watchdog может среагировать на обнаруженные проблемы:

Bit 0Генерирование предупреждающего сообщения, отправляемого на удлённую систему.
Bit 1Запись события в Event Log на локальной машине.
Bit 2Сброс системы.
Bit 3Выключение питания у системы.
Bit 4Выключение, потом включение питания у системы.
Bit 5-15Зарезервированы для следующих расширений спецификации.
Bit 16-30Могут быть использованы производителями для своих нужд.
Bit 31Зарезервирован.

Может использоваться ещё один класс подобных устройств, Heartbeat Watchdogs. Это устройство регулярно проверяет наличие чего либо. Например, LAN Presence Heartbeat Watchdog регулярно проверяет наличие сети.

32 возможных значения генерируемых им битов выглядят так:

Bit 0Генерируется подтверждение наличия наблюдаемого явления.
Bit 1-15Зарезервированы для последующих расширений спецификации.
Bit 16-30Могут быть использованы производителями для своих нужд.
Bit 31Зарезервирован.

Все эти устройства уже давно применялись для мониторинга состояния системы, но с появлением ACPI появилась возможность более гибкого управления системой на основе их показаний. Главным инструментом, который для этого используется, является AМL (ACPI Machine Language) и ASL (ACPI Source Language). AML представляет собой машинный язык, а ASL это его более понятный для человека собрат, на которых можно писать скрипты (скрипт написаный на ASL компилируется в AML), которые будут управлять системой, в зависимости от показаний датчиков, и watchdog, и управлять датчиками и watchdog в зависимости от состояния системы. Примером подобного взаимодействия, могут служить thermal zone (температурные зоны). Температурная зона управляет скоростью вращения вентилятора, или режимом работы другого охлаждающего устройства, в зависимости от температуры охдаждаемого объекта. В зависимости от типа охлаждающего устройства, температурные зоны деляться на активные и пассивные. В активных зонах, как легко можно догадаться, используются активные охлаждающие устройства, такие как вентиляторы, скоростью вращения которых можно управлять. В пассивных зонах используется пассивное охлаждение, и управление температурой сводится, как правило, к понижению напряжения перегревшегося устройства.

Кроме этого, возможности ACPI позволяют пользователю самому задавать температурные и другие режимы, в зависимости от текущих потребностей. Например, если пользователь работает в каком либо текстовом редакторе, и не нуждается в излишней процессорной мощности, он может перевести систему в состотяние Silence, при котором выключатся все активные кулеры, понизится напряжение на все ненужные устройства, центральный процессор перейдёт на более низкую тактовую частоту, и т.д. Производительность компьютера упадёт, так же как и потребление энергии, но того что останется с лихвой хватит для весьма обширного списка задач. Или же, пользователь может перевести систему в состояние Performance, когда знает, что задача которая перед ним стоит требует максимальной отдачи от машины.

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

Когда в пределах политики температурной зоны уменьшается скорость вращения, или вовсе отключается вентилятор, то это может привести к сигналу от fan sensor, о недопустимо малой скорости вращения вентилятора. C помощью ASL это можно предовратить, отключив этот датчик когда температурная зона потребует снизить частоту вращения вентилятора ниже порогового значения, на которое настроен датчик. И соответственно, датчик снова будет включен, когда потребутеся поднять скорость вращения вентилятора.

Когда система переводится в энергосберегающий режим, OS Hang Watchdog который следит за тем, повисла система или нет, может принять длительное бездействие за зависание. Поэтому, он должен быть отключен перед входом системы в этот режим, и включен обратно, когда система выйдет из этого режима.

Все датчики и watchdogs общаются с системой через SMBus. Попытка нескольких устройств одновременно обратится к ней, способна привести к длительным задержкам, или повреждению передаваемых данных что, в свою очередь, может привести к неправильной интерпретации этих данных системой. ACPI предусматривает синхронизацию доступа к SMBus, что предотвращает подобную ситуацию.

Но это всё теория, а как дело обстоит с практической реализацией этой самой теории? Несмотря на 3 года, прошедшие с времени появления первой спецификации, нельзя сказать что большинство ПК поддерживают её в полной м

Для реализации ACPI на конкретной машине, обязательно должно выполняться несколько условий. Во первых, машина должна аппаратно соответствовать всем требованиям, предявляемым ACPI, она должна иметь набор датчиков и watchdogs, которые работают в соответсвии с спецификацией ACPI, и т.д.

Во вторых она должна иметь ACPI-совместимый BIOS, через который и будет работать AML. К сожалению, эти требования выполняются далеко не всегда, и наличие в BIOS пункта ACPI Enabled/Disabled абсолютно ничего не гарантирует.

В третьих, операционная система так же должна поддерживать ACPI. Из всех систем доступных на рынке, наиболее полной интеграцией с ACPI обладает недавно вышедшая Windows 2000.

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

В состав Windows 2000 входят два системных ядра, которые специально предназначенны для ACPI совместимых машин. Это ACPI Uniprocessor PC и ACPI Multiprocessor PC. Второе зачастую является единственным способом получить на многопроцессорных системах полный набор функций по управлению питанием, в частности такую удобную функцию как автоматическое выключение машины. Однако, даже здесь не всё так просто. При установке ACPI ядра, все остальные устройства в системе подключаются через ACPI, в чём можно легко убедиться разсортировав их в Device Manager «By Connection»:

Acpi version features что это. Смотреть фото Acpi version features что это. Смотреть картинку Acpi version features что это. Картинка про Acpi version features что это. Фото Acpi version features что это

В связи с этим, могут возникнуть некоторые проблемы. В частности, если ваша система всё таки не полностью совместима с ACPI (например на уровне BIOS), то при установке ACPI ядра система просто откажется загружаться, в любых режимах, в том числе и в Safe Mode, и через заранее сохранёные Hardware Profile. Загрузка остановится сразу же после старта начального загрузчика (он загружается когда на чёрном фоне заполнятеся полоска внизу экрана).

Более того, даже наличие полностью совместимой с ACPI системы не гарантирует загрузку Windows 2000 после смены ядра на ACPI xxxprocessor PC. Причина этого в том, что, не все устройства смогут правильно инициализироваться через ACPI ядро, или не все из них будут иметь ACPI совместимые драйвера. Результатом этого могут быть самые разнообразные сообщения об ошибках, наиболее частым из которых является «Inaccessible boot device» (недоступен загрузочный диск). Поэтому, прежде чем бросаться менять ядро на ACPI, обеспечте себе возможность загрузки с старым ядром. И, если система пройдёт этап начальной загрузки, и «умрёт» уже после прорисовки цветной картинки, которая сопрождает каждую загрузки Windows 2000, значит с большой долей вероятности система совместима с ACPI. Но, что бы заставить его номально работать, придётся переставлять всю систему. При этом, во время инсталяции обязательно должны быть разрешенны ACPI функции в BIOS. В этом случае, система самостоятельно, уже в процессе инстляции определит что система совместима с ACPI, и все устройсва будут устанавливаться с учётом этого факта.

Для определения степени совместимости вашей системы с ACPI можно воспользоваться тестовыми программами предлагаемыми Microsoft для этой цели. Найти их можно по адресу: www.microsoft.com/hwdev/acpihct.htm

Если окажется, что ваша система не прошла ни одного из этих тестов, то придётся обратится к производителю материнской платы, часто эта проблема решается прошивкой нового BIOS. К сожалению, далеко не все производители имеют ACPI-совместимые BIOS, а даже когда имеют, это не всегда гарантирует хорошую работу. Например, подобная ситуация сложилась с популярной Abit BP6. Уже довольно давно существовали ACPI-совместимые бета-BIOS, но только в середине апреля вышла официальная версия. Найти его можно по адрессу ftp://ftp.abit.com.tw/pub/bios/, называется он bp6qq.exe. Его использоване, это единственная возможность получить поддержку Power Management, в частности отключение питания по запросу, на этой матери в мультипроцессорном режиме. Однако, при его применении многие пользователи столкнулись с рядом проблем. Во первывых, это постоянная 50% загрузка CPU Usage в ACPI режиме (и это на двухпроцессорной системе!), и, как следствие, постоянно повышенная температура процессоров (в среднем на 15-20 градусов выше, по сравнению с не ACPI режимом). Только во второй половине мая вышел очередной официальный BIOS для BP6 — BP6_RU.bin, в котором эта проблема решена. К серьёзным достоинствам официальных версий BIOS можно отнести только наконец то нормально заработавшую поддержку технологии OnNow на AbitBP6.

Разработкой и идеологией OnNow занимается Microsoft, и именно ОnNow считается одним из наиболее заметных преимуществ, которые получает пользователь от ACPI. Основная идея, которая лежала при разработке этой системы, проста. Компьютер должен быстро переходить в энергосберегающий режим, и так же быстро, без продолжительной процедуры загрузки ОС, из его выходить, по нажатию кнопки, движению мыши, телефоному звонку, обращению по локальной сети, запросу программы, изменению какого либо из статусов, или показаний каких либо датчиков, и т.д.. Причём, после выхода из энегроссберегающего режима пользователь должен получить такое же состояние машины, как и до перхода в этот режим, со всеми открытыми приложениями, документами, готовыми для редактирования на том же месте на котором была остановленна работа, интернет-бройзером открытом на том же сайте, которой был открыт в момент перевода системы в спящий режим, и т.д..

Для упорядочения этих процессов, с точки зрения OnNow существует три состояния, в котором может пребывать система:

Working — Система в работе, все устройства находятся в нормальном рабочем режиме, и доступны немедленно.

Sleeping — Система не работает, потребление энергии сильно сниженно, но система может перейти в рабочий режим в очень короткий промежуток времени.

Soft Off — Система не работает, потребление энергии минимально, переход в рабочийй режим потребует полного цикла загрузки BIOS и OC.

Конечно же, система должна легко переходить из одного состояния в другое по требованию пользователя, ОС, програмного или аппаратного обеспечения. Это должно обеспечить возможность такого взаимодействия человека и машины, которое было невозможно до этого. Полностью поддерживающая ACPI и OnNow машина способна самостоятельно принимать/отправлять факсы и электроную почту, она способна самостоятельно включаться и реагировать на изменению каких либо внешних условий, зарегистрированых одним из подключенных к системе датчиков, и т.д..

Кроме этого, если человеку необходимо отойти от рабочего места на незначительное время (например для… вариантов слишком много, вставте нужный самостоятельно), он может перевести машину в Sleep режим, и по возвражещению получить полностью рабочую машину, с уже открытыми приложениями и документами, над которыми он работал, за несколько секунд, без длительного ожидания пока система загрузится. Для этого служит функция Stand by, которая становится стандартной для всех современых ОС. Выход из Stand By возможен по нажатию клавиши мыши, по движению мыши, понажатию кнопки на клавиатуре, и ещё ряду факторов. Определяется это, как правило, в BIOS, раздел Power options. Переход в Stand by обычно производится выбором соответствующего пункта из меню появляющегося при выключении машины. Кроме этого, в последнее время появляется всё больше корпусов, на которых есть кнопка Sleep, которая позволяет вводить/выводить систему в энергосберегающий режим одним нажатием. Однако, далеко не все корпуса обладают подобной функцией, но благодаря гибкости, которую предоставляет ACPI для управления системой, в Windows 2000 возможно запрограмировать кнопку включения питания (которая есть на всех корпусах), что бы машина переходила в Stand by при нажатии на её:

Acpi version features что это. Смотреть фото Acpi version features что это. Смотреть картинку Acpi version features что это. Картинка про Acpi version features что это. Фото Acpi version features что это

К сожалению, функции управления питанием пока что не являются приоритетом при разработке аппартного обеспечения и драйверов дя настольных ПК (в отличии от мобильных систем), поэтому некоторые, а иногда и все, функции про которые рассказано в статье могут не работать на конкретных системах, по самым различным причинам, от некорректного драйвера или BIOS, до полной аппаратной несовместимости с ACPI. Но, ситуация постепенно меняется к лучшему, и при разработке новых устройств и драйверов соответствиям требованиям ACPI уделяется всё большее и большее внимание.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *