On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru






 

Hibernate - как много в этом звуке: муки

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

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

Отчасти именно по этой причине сегодня один из самых часто задаваемых пользователями вопросов - "Почему у меня не работает спящий режим?".

Но обо всем по порядку. Не так давно на смену систем с APM - Advanced Power Management (расширенное управление питанием) пришли компьютеры, разработанные с учетом новой спецификации ACPI - Advanced Configuration and Power Interface (расширенный интерфейс конфигурирования ПК и управления питанием). ACPI - не ОС или программа. Это некий межплатформенный интерфейс или набор рекомендаций, так называемых "спецификаций", которые были приняты ведущими компьютерными компаниями (Intel, Microsoft, Toshiba и Phoenix), чтобы добиться стандартизации метода конфигурирования и управления питанием в компьютере и его улучшения.

Первоначально акцент был сделан, конечно, на портативные ЭВМ, для которых рациональное управление питанием - одна из главных задач, но с появлением Windows 98 это нововведение коснулось и PC. В сегодняшних моделях компьютеров с помощью ACPI назначаются прерывания и распределяются по различным устройствам ресурсы, информация об их функционировании передается системе, используются различные энергосберегающие режимы. Таким образом, главная задача ACPI - обеспечение взаимодействия между ОС, аппаратными средствами и системным BIOS.

Однако по не вполне понятным причинам (все из-за того самого разброда) решается она в действительности не лучшим образом, что особенно ярко проявляется в отношении новомодного энергосберегающего режима Hibernate ("Спячка").

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

Однако для пользователя главное их достоинство состоит именно в УПРАВЛЕНИИ питанием, в возможности очень быстро привести компьютер в работоспособное состояние после длительного перерыва. Согласитесь, чрезвычайно удобно, если система готова пробудиться за нескольких секунд, чтобы принять входящее обращение по телефону или ответить на запрос по локальной сети.

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

Вряд ли есть смысл распространяться о преимуществах, недостатках и особенностях нового стандарта - подробную информацию о взаимосвязанных технологиях ACPI, SIPC и OnNow вы найдете в интернете, например на сайте www.microsoft.com/hwdev. Нас же сейчас интересует только одна сторона этого вопроса - Великая Проблема Спящего режима.

Спячка

На сегодня имеются два наиболее продвинутых режима энергосбережения. Во-первых, это Suspend to RAM (STR), при котором останавливаются жесткие диски, выключается монитор, мощность, подводимая к большинству компонентов, уменьшается (или снимается совсем), работа CPU приостанавливается - в идеале только RAM остается активной, сохраняя все наработанные до перехода в Suspend данные.

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

Однако если в этом режиме пропадет электропитание или у ноутбука разрядятся батареи, то все данные из памяти будут потеряны. К сожалению, в настольных компьютерах этот режим полностью реализуется не часто из-за того, что многие материнские платы не умеют обесточивать все компоненты ПК по отдельности, поэтому вместо него используется более простой "ждущий режим" (Stand by), при котором питание остается не только на RAM, но и на некоторых других устройствах.

Но, дабы избежать неожиданной потери данных при разрядке аккумулятора, в переносных компьютерах появилась более подходящая для ноутбуков функция Suspend to Disk, или Hibernation, - "спящий режим", при переходе в который вся информация из оперативной памяти записывается в специальный файл или раздел на жестком диске, после чего снимается питание со всех узлов ПК без исключения.

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

В ноутбуках это достигалось средствами BIOS. С выходом же Windows 2000 и Windows Me спящий режим стал поддерживаться не только BIOS, но и самой ОС (OS-controlled ACPI S4 sleep state, то есть "спящий режим ACPI S4, управляемый ОС", он же Hibernate), при этом для Windows гораздо предпочтительнее ее собственный механизм управления электропитанием, чем то, что дает BIOS.

В принципе, спящий режим может присутствовать и на системах с Windows 98, но это происходит очень редко, поскольку здесь, как в случае с ноутбуками, необходима его реализация на уровне BIOS, в котором дело часто ограничивается лишь режимом Stand by. Также желательно, хотя и необязательно, наличие самого ACPI-совместимого BIOS - на некоторых старых системах, оснащенных только APM, Hibernate вполне успешно работает, в частности, если используется Windows 2000, чуть более качественно управляющая этим режимом. В общем, условий много...

И вот именно этот граничащий с шаманством спящий режим является самым лакомым куском новой технологии для многих пользователей ПК. Конечно, в Windows Me все равно приходится несколько раз в день полностью перегружать ПК из-за нестабильности ОС и приложений для нее, но вот в Windows 2000 вполне реально месяц-два погружать ПК исключительно в "зимнюю спячку", забыв о его выключении. Если учесть, сколько времени грузится "винтукей", то польза спящего режима очевидна.

Таким образом, если ваш ПК достаточно современный, а фортуна не повернулась к вам задом, то режим Hibernate уже присутствует в вашей системе - его надо только включить. Для этого в диалоге "Управление электропитанием" на вкладке "Спящий режим" (Control Panel > Power Options > Hibernation) просто установите флажок, разрешающий использование этого режима. Теперь внимание! Сразу после этого сделайте резервную копию реестра, например, запустив системную утилиту Scanregw.exe, производящую резервирование после проверки реестра на ошибки.

Дело в том, что спящий режим также легко потерять, как и включить. Теперь в меню "Пуск" нажмите "Завершение работы" и выберите опцию "Спящий режим" (Start > Shutdown > Hibernate). Компьютер погрузится в сон. Через пару минут (быстрое повторное включение вредно для жестких дисков) попробуйте его разбудить, нажав кнопки на клавиатуре или пошевелив мышью. Повторите эту процедуру несколько раз. Если все благополучно и претензий к этому режиму нет, то дальше читать не обязательно. Если же ПК в целом или отдельные его компоненты ведут себя нестабильно, то вы - мой клиент.

Прежде всего рассмотрим такой (очень возможный) вариант, когда в диалоге "Управление электропитанием" вообще нет вкладки, отвечающей за спящий режим. В этом случае отчаиваться не стоит, так как добиться ее появления все-таки можно.



Литература по Win9x