Лабораторна робота № 3. Технології ACPI і OnNow

ACPI (англ. Advanced Configuration and Power Interface — вдосконалений інтерфейс конфігурації і управління живленням) — відкритий промисловий стандарт, вперше випущений в грудні 1996 року і розроблений спільно компаніями HP, Intel, Microsoft, Phoenix і Toshiba, який визначає спільний інтерфейс для виявлення апаратного забезпечення, управління живленням і конфігурації материнської плати і пристроїв. Його завдання - забезпечити взаємодію між операційною системою, апаратним забезпеченням і BIOS системної плати.

ACPI прийшло на зміну технології APM (англ. Advanced Power Management), яка на той час мала такі проблеми:

·               спільна робота компонентів ПК була відсутня, як така: диски починали розкручуватися, коли це абсолютно було непотрібно, екран гаснув під час роботи, оскільки текстовий редактор забув відмітитися у операційної системи, і т.д;

·               BIOS системної плати, операційна система і застосування сперечалися один з одним за контроль над апаратним забезпеченням комп'ютера. Але будь-яке зовнішнє щодо материнської плати устаткування не брало участь в процесі управління енергоспоживанням;

·               наявне управління енергоспоживанням в основному обмежувалось материнською платою;

·               відсутність гарячої заміни пристроїв та необхідність вимикати або перезавантажувати комп'ютер при додаванні нових пристроїв;

·               додатки не піклувалися про економію споживаної комп'ютером енергії, та й працювали не дуже.  

Основною задачею ACPI є управління живленням, що має два значні удосконалення в порівнянні з попередніми стандартами. По-перше, концепція ACPI передає управління живленням операційній системі (ОС). Така модель вигідно відрізняється від моделі APM (Advanced Power Manager), що існувала до цього, в якій за управління живленням відповідальний BIOS материнської плати, а можливості ОС в цьому відношенні сильно обмежені. У моделі ACPI BIOS надає операційній системі методи для прямого деталізованого управління апаратним забезпеченням. Таким чином, ОС отримує практично повний контроль над енергоспоживанням.

Інша важлива частка специфікації ACPI — це надання на серверах і настільних комп'ютерах таких можливостей по управлінню живленням, які до того були доступні тільки на портативних комп'ютерах. Наприклад, система може бути переведена в стан надзвичайно низького енергоспоживання, в якому живлення подається лише на оперативну пам'ять (а можливо, і вона знаходиться без живлення), але при цьому переривання деяких пристроїв (годинник реального часу, клавіатура, модем і т. д.) можуть досить швидко перевести систему з такого стану в нормальний робочий режим (тобто «збудити» систему).

Окрім вимог до програмного інтерфейсу ACPI також вимагає спеціальної підтримки від апаратного забезпечення. Таким чином, підтримку ACPI повинні мати ОС, чіпсет материнської плати і навіть центральний процесор.

Інтерфейс ACPI організовується шляхом розміщення в певній області оперативної пам'яті декількох таблиць, що містять опис апаратних ресурсів і програмних методів управління ними. Кожний тип таблиці має певний формат, описаний в специфікації. Крім того, таблиці, що містять методи управління пристроями і обробки подій ACPI, містять код на мові AML (ACPI Machine Language) — машинний незалежний набір інструкцій, представлений в компактній формі. Операційна система, підтримуюча ACPI, містить інтерпретатор AML, який транслює інструкції AML в інструкції центрального процесора, виконуючи таким чином методи або обробки подій.

Деякі з цих таблиць повністю або частково зберігають статичні дані в тому сенсі, що від запуску до запуску системи, вони не змінюються. Статичні дані, як правило, створюються виробником материнської плати або BIOS і описуються на спеціальній мові ASL (ACPI Source Language), а потім компілюються в уявлення на AML.

Інші таблиці зберігають динамічні дані, які залежать, наприклад, від установок BIOS і комплектації материнської плати. Такі таблиці формуються BIOS на етапі завантаження системи до передачі управління ОС.

Роль ОС в цій моделі полягає в тому, що вона переводить різні компоненти апаратного забезпечення з одного стану (наприклад, нормальний режим роботи) в інше (наприклад, режим зниженого енергоспоживання). Перехід з одного стану в інше відбувається, як правило, по події. Наприклад, падіння температури на ядрі процесора є подією, по якій ОС може викликати метод зменшення швидкості обертання вентилятора. Інший приклад: користувач дав явну вказівку переходу системи в сплячий режим із збереженням оперативної пам'яті на диск, а через деякий час адміністратор мережі провів включення системи за допомогою функції WAKE-ON-LAN.

З погляду ACPI, всього є 4 стани ПК:

·               G0 (S0) (Working) — нормальна робота.

·               G1 (Suspend, Sleeping, Sleeping Legacy) — машина вимкнена, проте поточний системний контент (system context) збережений, робота може бути продовжена без перезавантаження. Для кожного пристрою визначається «ступінь втрати інформації» в процесі засипання, а також де інформація має бути збережена і звідки буде зчитана при пробудженні і час на пробудження з одного стану до іншого (наприклад, від сну до робочого стану). Виділяють 4 стани сну:

·               G2 (S5) (soft-off) — м'яке (програмне) виключення; система повністю зупинена, але під напругою, готова включитися у будь-який момент. Системний контент загублений.

·               G3 (mechanical off) — механічне вимкнення системи; блок живлення ATX відключений.

Стани центрального процесора

Виділяють чотири стани функціонування процесора (від C0 до C3).

·               C0 — оперативний режим.

·               C1 (відомо як Halt) — стан, в якому процесор не виконує інструкції, але може негайно повернутися в робочий стан. Деякі процесори, наприклад Pentium 4, також підтримують стан Enhanced C1 (C1E), для нижчого енергоспоживання.

·               C2 (відомо як Stop-Clock) — стан, в якому процесор виявляється додатками, але для переходу в робочий режим потрібний час.

·               C3 (відомо як Sleep) — стан, в якому процесор відключає власний кеш, але готовий до переходу в інші стани.

Також виділяють чотири стани функціонування інших пристроїв (монітор, модем, шини, мережеві карти, відеокарта, диски, флоппи і т. д.) — від D0 до D3.

·               D0 — повністю оперативний стан, пристрій включений.

·               D1 і D2 — проміжні стани, активність визначається пристроєм.

·               D3 — пристрій вимкнено.

Крім управління живленням, 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. Що, у свою чергу, дозволяє ОЕM виробникам надавати можливість ОС використовувати особливості їх продуктів повною мірою.

Технологія OnNow PC

 OnNow PC technology - спосіб керування енергоспоживанням системи.

Сутність OnNow PC полягає в різкому зменшенні споживання електричної енергії, але так, щоб система в будь-який момент часу була готова до роботи без перезавантаження її операційної системи (ОС). Так, наприклад, як готовий до неї телевізор, що включається за допомогою мініатюрного віддаленого пульта. Система, в тому числі її персональний комп'ютер (ПК), при включенні залишається спроможною реагувати на зовнішні події: натискання кнопки користувачем, сигнал з мережі. Відбувається це за рахунок того, що невелика, особлива, частина системи залишається постійно включеною.

 

Технологія OnNow PC вимагає виконання наступних умов:

1.  Операційна система бере на себе управління енергоспоживанням.

2.  Всі пристрої, що входять в систему, повинні допускати можливість ефективного регулювання споживання ними електричної енергії.

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

Ініціатива OnNow полягає в розширенні стану G1. Замість простого засинання вводяться 4 режими:

·               S1 — зупиняються тактові генератори CPU і всієї системи, але при цьому стан пам'яті залишається незмінним. Вихід з S1 здійснюється миттєво;

·               S2 — також зупиняються тактові генератори CPU і всієї системи, але до того ж відключається живлення кешу і CPU, а дані, що зберігалися там, скидаються в основну пам'ять. Включення також відбувається досить швидко.;

·               S3 («Suspend to RAM» (STR) в BIOS, що «Чекає режим» («Standby») у версіях Windows аж до Windows XP і в деяких варіаціях Linux, «Sleep» в Windows Vista і Mac OS X, хоча в специфікаціях ACPI згадується тільки як S3 і Sleep) — в цьому стані на оперативну пам'ять (ОЗП) продовжує подаватися живлення і вона залишається практично єдиним компонентом, споживаючим енергію. Оскільки стан операційної системи і всіх застосувань, відкритих документів і т. д. зберігається в оперативній пам'яті, користувач може відновити роботу точно на тому місці, де він її залишив — стан оперативної пам'яті при поверненні з S3 такий ж, що і до входу в цей режим. S3 має дві переваги над S4: комп'ютер швидше повертається в робочий стан, а по-друге, якщо будь-яка запущена програма (відкриті документи і т. п.) містить приватну інформацію — вона не буде примусово записана на диск. Проте, дискові кеші можуть бути скинуті на диск для запобігання порушенню цілісності даних у випадку, якщо система не прокидається, наприклад, із-за збою живлення;

·               S4 («Сплячий режим» (Hibernation) в Windows, «Safe Sleep» в Mac OS X, також відомий як «Suspend to disk», хоча специфікація ACPI згадує тільки термін S4) — в цьому стані весь вміст оперативної пам'яті зберігається в незалежній пам'яті, такий як жорсткий диск: стан операційної системи, всіх застосувань, відкритих документів і т. д. Це означає, що після повернення з S4, користувач може відновити роботу з місця, де вона була припинена, аналогічно режиму S3. Відмінність між S4 і S3, окрім додаткового часу на переміщення вмісту оперативної пам'яті на диск і назад в тому, що перебої з живленням комп'ютера в S3 приведуть до втрати всіх даних в оперативній пам'яті, включаючи всі незбережені документи, тоді як комп'ютер в S4 до цього несхильний. S4 вельми відрізняється від інших станів S і сильніше S1-S3 нагадує G2 Soft Off і G3 Mechanical Off. Система, що знаходиться в S4, може бути також переведена в G3 Mechanical Off (Механічне виключення) і все ще залишатися S4, зберігаючи інформацію про стан так, що можна відновити операційний стан після подачі живлення.

Отже, додатково до швидкого включення і економії електроенергії розглянемо наступні переваги OnNow:

·               Автоматичне викачування файлів з Internet і виконання системних завдань. Так, Internet-додаток може бути налаштований для того, щоб в 3 години ночі включити комп'ютер, проглянути декілька сайтів, і викачати файли, що були оновлені. Природно, якщо воно підтримує ACPI OnNow. Те ж саме відноситься до таких програм, як антивіруси, резервне копіювання, Scandisk тощо.

·               Збереження мережевих з'єднань. Так, при виключенні комп'ютера, або навіть при його "засипанні", мережеве з'єднання рветься, файли закриваються і т.д. При виникненні подібної ситуації, додаток, написаний з урахуванням OnNow, автоматично виконає автозбереження використовуваних файлів на локальному диску і після включення комп'ютера і відновлення з'єднання дозволить користувачеві продовжити роботу.

·               Обробка специфічних подій. Так, факс-модем здатний знаходитися в стані прийому 24 години в добу, незалежно від того, включений комп'ютер чи ні. Якщо він вимкнений, при вхідному дзвінку модем його включить і запустить потрібну програму.