Я прочитал пост на "Что такое приостановка".
Однако я хотел бы знать, какие именноГлобальное состояние ACPIнажатие кнопки «Приостановить» приводит к. Может кто-нибудь объяснить это?
В частности, как узнать, приведет ли нажатие кнопки Suspend в Ubuntu 16.04 к S1, S2, S3, S4 или S5? Это определяется настройками в UEFI/BIOS или Ubuntu или и там, и там?
решение1
Это зависит от Ubuntu (и возможностей BIOS). По-другому и быть не может, поскольку операционной системе необходимо скоординировать множество вещей, чтобы войти в любое состояние выше S2. Однако BIOS может сообщить операционной системе, что она хотела бы войти в определенное состояние.
В Ubuntu, Linux и современных ПК в целом существует два режима приостановки:
Suspend-to-RAM (ACPI S3) отключает ЦП и все другие устройства, если только они не указывают, что им нужно оставаться в S3. Основная память (ОЗУ) сохраняет свое питание и поддерживает состояние системы для последующего возобновления.
Suspend-to-disk или "hibernate" (ACPI S4) сохраняет состояние системы на энергонезависимом носителе данных, обычно жестком диске или SSD, и полностью отключает систему. Операционная система может видеть сохраненный образ системы при перезагрузке и выбирать возобновление с него.
В настоящее время эта функция по умолчанию не включена и не доступна пользователям настольных компьютеров Ubuntu.
Другие упомянутые вами глобальные состояния ACPI:
S1 и S2 — это состояния с меньшим потенциалом энергосбережения, но более быстрым возобновлением. Обычно они не считаются состоянием приостановки, но компьютер может автоматически перейти в них, как только ЦП не используется в течение нескольких миллисекунд. Обычно это делается ЦП и BIOS без прямого взаимодействия с операционной системой.
Функция выключения питания (S5) означает именно то, что вы и подумали.
(Источник)
решение2
Q1. Как узнать, приведет ли нажатие кнопки «Приостановить» в Ubuntu 16.04 к состоянию S1, S2, S3, S4 или S5?
Ответ1:В моей системе я нашел информацию в файле/proc/acpi/пробуждение. Также командыacpitool -wилиacpitool -eпредставить ту же информацию, что и в/proc/acpi/пробуждение.
В2.Определяется ли это (т. е. глобальное состояние ACPI) настройками в UEFI/BIOS или Ubuntu, или и там, и там?
Ответ2:Ответ — UEFI/BIOS. Можно изменить глобальное состояние ACPI, определенное UEFI/BIOS в Ubuntu, однако любые изменения должны выполняться только в целях отладки и разработки.
В соответствии с Linux/ACPI,«Модификация DSDT предназначена только для отладки и разработки». Также,«DSDT — это аббревиатура от Differentiated System Description Table (Таблица описания дифференцированной системы). Эта таблица содержит Differentiated Definition Block (Блок дифференцированного определения), который предоставляет информацию и данные конфигурации о базовой системе. Он всегда вставляется в пространство имен ACPI операционной системой во время загрузки»..
В соответствии сIntelOpenSource.org Linux*-ACPI:
Таблица DSDT (Differentiated System Description Table) является основной таблицей AML в BIOS. Согласно описанию acpidump, DSDT можно извлечь из машины, изменить ASL и скомпилировать новый AML DSDT. В разделах ниже показаны два способа указать Linux использовать этот измененный DSDT вместо версии, поставляемой с BIOS.
Обратите внимание, что переопределение DSDT — это только отладочная техника. Это нежизнеспособный способ запустить производственную систему, поскольку ни один поставщик не будет поддерживать систему, если клиент изменил системную прошивку, и ни один дистрибьютор Linux не сможет поддерживать измененную системную прошивку.
В ранние дни Linux ACPI модификации DSDT были обычным делом для обхода как ошибок BIOS, так и ошибок Linux. Однако сегодня заявленная цель проекта Linux ACPI заключается в том, чтобы Linux работал на немодифицированной прошивке. Таким образом, база данных DSDT на старом acpi.sourceforge.netвеб-сайт в настоящее время во многом является историческим артефактом.
Для более подробного понимания ACPI, а также глобального состояния и S-состояний, полезно прочитать «Спецификации расширенной конфигурации и интерфейса питания» отwww.acpi.info.
решение3
По моему опыту, состояние приостановки определяется BIOS. На одном из моих ПК состояние питания в BIOS может быть установлено на «S3» или «Отключено». Установка «S3» переводит ПК в режим приостановки/ожидания. Установка «Отключено» переводит ПК в режим S1, поскольку вентилятор процессора продолжает вращаться. Гибернация всегда имеет значение «S4», а выключение питания — «S5».