Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

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


Что контролирует и чем управляет ACPI.

Что контролирует и чем управляет ACPI.

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

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

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

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

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

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

Processor Power Management - при простаивании системы, 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 битов определяются как стандартные. Из оставшихся 16 битов, 15 (16-30) могут быть использованы различными производителями для своих специфических нужд. Последний возможный бит зарезервирован и интерпретируется как неизвестный статус.

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

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

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

Рис. 1

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

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

System Initialization Failure Watchdog.

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

Pre-Os Boot Failure Watchdog.

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

OS Boot Failure Watchdog.

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

OS Hang Watchdog.

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

Shutdown Failure Watchdog.

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

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

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

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

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


Лицензия