Меню Рубрики

Интерфейс управления для acpi microsoft windows что это

Интерфейс управления для acpi microsoft windows что это

Многим из вас знакомо слово ACPI. Кто-то видел его в статьях про NT-системы, кто-то в Диспетчере устройств, а кто-то еще где-нибудь. Однако далеко не все хорошо знают, что это такое. Обычное определение вроде «ACPI — это менеджер питания» слишком поверхностно отражает суть этой системной архитектуры. Между прочим, с приходом ACPI в индустрию канули в лету «разборки» между BIOS’ом и операционкой, появился спящий режим и еще куча полезных функций, о которых раньше можно было только мечтать. Конечно, на полноту изложения данный материал не претендует, но ответ на вопрос, вынесенный в заголовок, дает. Итак, что же такое ACPI?

Промышленный стандарт управления питанием компьютера и его устройствами с помощью ОС был необходим технологии как воздух, ведь постоянные конфликты операционной системы и оборудования мешали разработке и того, и другого. BIOS никак не мог угодить операционке, она — ему. Каждый хотел конфигурировать устройства по-своему. Представляете, что бы было, если бы не существовал ACPI при нынешнем многообразии различных девайсов? Даже подумать страшно. Вот поэтому ведущими IT-компаниями было принято решение отделить «софт от харда» и разработать системную архитектуру, которая брала бы на себя всю тяжесть общения с BIOS’ом. Заодно разработчики не забыли об энергопотреблении, поэтому ACPI еще должен был управлять питанием. 1 декабря 1996 года консорциум, состоящий из Hewlett-Packard Corporation, Intel Corporation, Microsoft Corporation, Phoenix Technologies Ltd. и Toshiba Corporation, объявил о завершении работы над новым стандартом — ACPI, что расшифровывается как Advanced Configuration and Power Interface, или расширенный интерфейс конфигурирования и управления питанием компьютера. ACPI состоял из множества составляющих, главной из которых был специальный участок кода BIOS, обеспечивающий поддержку компьютером новой архитектуры. То есть со старым оборудованием новый стандарт был несовместим.

Разумеется, это повлекло за собой обновление парка компьютеров. Как это обычно делается, мы с вами, уважаемые читатели, очень хорошо знаем. За примером даже ходить далеко не надо — достаточно вспомнить историю с PCI-E. Правда, парк компьютеров еще не полностью обновился, ведь апгрейд обходится достаточно дорого. Но, как ни крути, плата без PCI-E уже считается устаревшей. С ACPI было точно так же, только польза от него не так сомнительна. Скорее даже наоборот, ведь вместе с ACPI пришел APIC, а это значит, что одно прерывание теперь могло использоваться несколькими устройствами! Для того времени это была настоящая сенсация. Первым процессором с поддержкой ACPI можно считать самый ранний Celeron, однако поддержка нового интерфейса была реализована настолько криво, что эту функцию приходилось отключать. Важно также отметить, что ACPI окончательно вытеснил Plug and Play и, по словам создателей, «обеспечил использование существующих интерфейсных разъемов более безопасным и потенциально более эффективным способом». Помимо участка кода BIOS, в состав ACPI также входила улучшенная схема управления питанием (Advanced Power Management), прикладной программный интерфейс (API), специальный машинный язык (ACPI Machine Language) и еще некоторые полезные вещи. Появился новый термин — OS Power Management, где ACPI, разумеется, отводилась главная роль.

Основные цели разработки

1. Компьютерная система должна выполнять конфигурирование устройств программными средствами. Управление питанием должно быть более
функциональным и безопасным.
2. Использование ПК должно стать более экономичным.
3. Разработчики оборудования имеют максимальную свободу при проектировании готовых систем: от самых легких решений до самых экстремальных при полной поддержке ОС.
4. Политика управления питанием слишком сложна для реализации в ROM BIOS, поэтому должна осуществляться исключительно самой ОС.
5. Унификация всех алгоритмов питания в единый стандарт ACPI позволит избавиться от конфликтов операционной системы и BIOS’а в вопросах конфигурирования устройств.
6. ОС развивается независимо от аппаратного обеспечения, поэтому на всех ACPI-совместимых машинах можно будет добиться увеличения
производительности и стабильности за счет смены операционной системы.
Нужно сказать, что разработчики своих целей достигли. Стоит рассмотреть структуру работы ACPI подробно.

Структура ACPI

Чтобы понять, как работает та или иная технология, необходим хороший пример. В технической документации разработчики пишут следующее: «Предположим, что ОС имеет политику разделения всех запросов ввода/вывода на ленивых и неленивых. Ленивые запросы (редактирование текста или электронных таблиц) объединяются в группы и исполняются устройством только тогда, когда оно начинает работать по какой-либо _другой_ причине. Неленивые операции заставляют устройство работать при первой же отправке запроса». Для ОС важно различать, какие операции являются ленивыми, а какие — нет. Кроме того, система должна знать состояние всех своих устройств, ведь выключенный девайс никогда ничего делать не станет. Все это обеспечивает ACPI. В то время, когда какая-то железка простаивает без дела, ACPI-драйвер снижает ей мощность питания и вместе с этим уменьшает общее энергопотребление работающей системы. Представьте, что в вашем системном блоке установлен автоответчик. Его задача — отвечать на входящие звонки. Разумеется, вам звонят не постоянно, поэтому большую часть времени автоответчик совершенно ничего не делает, зря потребляя драгоценную электроэнергию. Это очень нерационально. Поэтому ACPI создает девайсу специальную политику поведения, согласно которой он входит в состояние глубокого сна, однако при входящем звонке устройство проснется в течение одной секунды и ответит на вызов. Разумеется, есть одно но: автоответчик обязательно должен быть ACPI-совместимым.

Как было сказано выше, появилось новое состояние оборудования — спящий режим. Состояние всех устройств сохраняется на жесткий диск, а затем может быть восстановлено при следующей загрузке операционной системы. Преимущества спящего режима очевидны. Это быстрый старт системы, возможность продолжения работы с того места, где остановился в прошлый раз, практически моментальное выключение. К минусам можно отнести лишь обязательное наличие файла hiberfil.sys размером с оперативку и остающиеся в памяти невыгруженные dll’ки, которые со временем тормозят работу. Тем не менее, эта фича хорошо прижилась в народе, и многие ею пользуются. Производители корпусов стали даже выпускать модели с двумя кнопками: включение/выключение и спящий режим. Отныне любая кнопка на системном блоке (кроме Reset, конечно) являются программируемой — ACPI позволяет переопределять их. Откройте апплет Электропитание в Панели управления, вкладка Дополнительно. Видите, здесь можно переназначить действия кнопок на вашем корпусе. Благодаря возможностям ACPI мы можем отправлять компьютер в спящий режим по нажатию кнопки Power на системном блоке (если системный блок ATX — впрочем, AT уже можно найти только в музее). ..\Электропитание.jpg. ..\ACPI.jpg Все устройства подключаются к виртуальной ACPI-шине, хотя реальный ввод/вывод идет через обычные интерфейсы (IDE, AGP и т.д.). В этом можно убедиться, если в Диспетчере устройств в меню Вид выбрать пункт Устройства по подключению. Сначала Windows загружает ACPI-драйвер, опрашивающий ACPI-контроллер на предмет подключенных к нему устройств, главным из которых является PCI-шина. Затем выявляются подключенные платы расширения, и процесс повторяется до тех пор, пока не будут определены все шины и подключенные к ним устройства. ..\Device.jpg ACPI состоит из трех компонентов: ACPI-регистры, ACPI BIOS и ACPI-таблица.

ACPI-таблица. ACPI-таблица описывает интерфейсы аппаратных средств. Некоторые из этих описаний могут ограничивать использование устройством каких-либо функций, но большинство из них позволяют устройствам выполнять произвольные последовательности операций. ACPI-таблица содержит так называемые блоки определения (Definition Blocks), которые могут быть запрограммированы из-под ОС. Другими словами, ACPI использует встроенный интерпретатор псевдокода, называемый ACPI Machine Language (AML). AML исполняет код, содержащийся в блоках определения.
ACPI-регистры. Здесь содержится ограниченная часть описания интерфейсов из ACPI-таблиц для быстрого доступа к таким данным.
ACPI BIOS. Это часть кода BIOS, которая совместима с ACPI-спецификациями. Как правило, это код, отвечающий за загрузку, засыпание/пробуждение и перезагрузку машины. ACPI-таблицы также обеспечиваются за счет ACPI BIOS.

ACPI и железо

Специальная таблица описывает поведение обычных и ACPI-совместимых программных и аппаратных средств.

Тип железа Обычная OS ACPI OS с OSPM
Обычное железо Обычная ОС на обычном оборудовании делает то, что делала всегда Если ОС испытывает недостаток в поддержке нужного железа, она осуществляется исключительно за счет BIOS
Обычное и ACPI-железо в одной машине Работает точно так же, как обычная ОС на обычном железе Во время загрузки ОС переключает совместимое оборудование из обычного режима в режим OSPM/ACPI, и с этого момента система имеет поддержку OSPM/ACPI
Только ACPI-железо Управление питанием отсутствует Полная поддержка всех функций OSPM/ACPI

Выводы и заключение

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

2. Новая системная архитектура является достаточно переносимой — как между различными ОС, так и между процессорами.

3. Внедрение ACPI в ОС позволило несколько упростить (и удешевить) разработку кода BIOS, исключив из него примитивные энергоуправляющие функции.

4. Появление этой архитектуры значительно увеличило стабильность работы операционных систем и повысило безопасность использования оборудования.

5. Существование столь большого парка мобильных компьютеров вряд ли было бы возможным без ACPI. Динамическое управление питанием отлично экономит батарею.

Если подвести итог всему вышесказанному, ACPI, безусловно, является новым витком в технологии. Мы рассмотрели основные принципы его работы. За кадром остались неинтересные технические подробности, в которых при желании вы разберетесь сами.

Источник

Технологии 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.

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

  • Совместная работа компонентов системы отсутствует, как таковая: диски начинают раскручиваться, когда это совершенно ненужно, экран гаснет во время работы, поскольку текстовый редактор забыл отметиться у операционной системы, и т.д.
  • BIOS системной платы, операционная система и приложения бьются друг с другом за контроль над аппаратным обеспечением компьютера. Но любое внешнее относительно материнской платы оборудование не участвует в процессе управления энергопотреблением — когда вы добавите в систему встроенный модем, сможет ли он как-то при установке высказать BIOS свои пожелания? И куда его пошлет BIOS?
  • Имеющееся управление энергопотреблением в основном ограничено материнской платой и отличается крайней тупостью. Ну, например, Windows98 скидывает на винт своп-файл. Даже идиоту должно быть ясно, что винт в этот момент активен, этот факт можно даже не проверять. А BIOS системной платы все равно проверяет.
  • Необходимость выключать или перезагружать компьютер при добавлении новых устройств. Кое-где уже наметился прогресс (USB, например), но все равно, до полной горячей замены еще далеко.
  • Ну и, наконец, приложения не заботятся об экономии потребляемой компьютером энергии, да и работают не ахти. Выдерните из включенного компьютера видеокарту — наверняка ведь Word зависнет. 😉

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

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

Как же все-таки это все работает? С точки зрения ACPI, всего имеется 4 состояния PC:

  • G0 — обычное, рабочее состояние
  • G1 — suspend, спящий режим
  • G2 — soft-off, режим, когда питание отключено, но блок питания находится под напряжением, и машина готова включиться в любой момент
  • G3 — mechanical off — питание отключено напрочь

Инициатива OnNow заключается в расширении состояния G1. Вместо простого засыпания, реализованного непонятно как, вводятся 4 режима:

  • S1: (standby 1) останавливаются тактовые генераторы CPU и всей системы, но при этом состояние памяти остается неизменным. Выход из S1 осуществляется мгновенно.
  • S2: (standby 2) также останавливаются тактовые генераторы CPU и всей системы, но к тому же отключается питание кэша и CPU, а данные, хранившиеся там, сбрасываются в основную память. Включение также происходит достаточно быстро.
  • S3: (suspend-to-memory) по замыслу, именно этот режим должен был быть OnNow, но по воле разработчиков пока так не получилось. Должны обесточиваться все компоненты системы, кроме памяти, в которой сохраняются необходимые данные о состоянии CPU и кэша. Включение с восстановлением предыдущего состояния PC действительно происходит Now, то есть практически сразу.
  • S4: (suspend-to-disk) то, что реализовано в каком-то виде сейчас. Все компоненты системы обесточиваются, а данные о состоянии процессора и содержимое кэша и памяти записываются в специально отведенное место на жестком диске. При этом пробуждение может занимать значительное время.

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

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

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

Итак, дополнительно к быстрому включению и экономии электроэнергии подразумеваются следующие плюсы OnNow:

  • Автоматическое скачивание файлов из Internet и выполнение системных задач. Так, Internet’овское приложение может быть настроено для того, чтобы в 3 ночи включить компьютер, просмотреть несколько сайтов, и скачать вновь появившиеся файлы. Естественно, если оно поддерживает API OnNow. То же самое относится к таким программам, как антивирусы, резервное копирование, Scandisk, наконец.
  • Сохранение сетевых соединений. Так, при выключении компьютера, или даже при его «засыпании», сетевое соединение рвется, файлы закрываются и т.д. При возникновении подобной ситуации, приложение, написанное с учетом OnNow, автоматом выполнит автосохранение используемых файлов на локальном диске и после включения компьютера и восстановления соединения, без криков позволит пользователю продолжить работу.
  • Обработка специфических событий. Так, факс-модем способен находиться в состоянии приема 24 часа в сутки, независимо от того, включен компьютер или нет. Если он выключен, при входящем звонке модем его включит и запустит нужную программу.

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

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

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

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

Как вам нравятся такие устройства, как 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:

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

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

Источник

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

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

  • Интерфейс не поддерживается windows 7 что делать и как исправить
  • Интернет эксплорер 8 для windows xp 32 bit майкрософт
  • Интернет через блютуз с компьютера на телефон windows 7
  • Интернет стал медленно работать что делать windows 10
  • Интернет служба устранения неполадок windows отключена как включить