Когда компьютер переходит в состояние ACPI S4, он сохраняет содержимое ОЗУ на диск и выключается.
Но что происходит с регистрами, VRAM или энергозависимой памятью внутри плат расширения или аналогичных?
Когда компьютер переходит в состояние ACPI S4, он сохраняет содержимое ОЗУ на диск и выключается.
Но что происходит с регистрами, VRAM или энергозависимой памятью внутри плат расширения или аналогичных?
Когда выполнение компьютера прервано для сна, все регистры ЦП для текущего исполняющего потока (ов) сохраняются в системном ОЗУ, как и обычная процедура с прерываниями. Таким образом, они сохраняются в ОЗУ и могут быть перезапущены без перерыва.
Видео RAM или VRAM не сохраняются и должны быть заново сгенерированы ОС, когда она проснется, чтобы обновить дисплей, что происходит автоматически. Таким образом, черный экран может привести к очень короткому (обычно незаметному) времени.
Если использованная дополнительная карта извлекается во время сна, процесс, использующий ее, не будет работать после пробуждения, как и любое программное обеспечение для чтения компакт-дисков, если диск извлечен, или любой процесс, использующий неподключенное подключение к Интернету. Что происходит затем, зависит от того, как этот процесс был запрограммирован.
Ответ TL:DR на ваш вопрос: не как часть реализации аппаратного обеспечения /BIOS S4, хотя ОС / драйверы не мешают этому.
В соответствии со спецификацией ACPI операционная система отвечает за инициализацию всех системных устройств до работоспособного состояния после восстановления из спящего режима S4.
Страница спецификации ACPI 7-142 "Состояние системы \ _S4":
- Состояния устройств совместимы с текущими состояниями источника питания. Другими словами, все устройства находятся в состоянии D3, когда состояние системы S4
Состояние D3 определяется как:
D3 - выкл .:
Питание полностью отключено от устройства. При входе в это состояние контекст устройства теряется, поэтому программное обеспечение ОС будет повторно инициализировать устройство при включении питания. Поскольку контекст устройства и мощность теряются, устройства в этом состоянии не декодируют свои строки адреса. Устройства в этом состоянии имеют наибольшее время восстановления.
Все классы устройств определяют это состояние.
Чтобы драйвер работал под Windows (или любой другой ОС), ему нужно будет выделить все необходимые буферы и сохранить некоторое количество информации о состоянии. Это будет сохранено в памяти операционной системы и, следовательно, будет сохранено в файле гибернации.
Операционная система знает, какие устройства нужно инициализировать, и, вероятно, просто вызывает зарегистрированный код инициализации драйвера, который проверит, была ли сохранена какая-либо информация о состоянии в ее внутренних буферах, и вернет карту в рабочее состояние.
Это просто повторяет, что сами карты ничего не знают о том, как вывести себя из режима гибернации и перейти в состояние "включения" по умолчанию, пока Windows (через драйверы) не скажет иначе. Нет необходимости хранить регистры карты вне зависимых от ОС драйверов, которые будут сохранять свое пространство памяти в процессе гибернации.
Они соответствуют Википедии: S4: Спящий режим или Приостановка на диск. Все содержимое основной памяти сохраняется в энергонезависимой памяти, например на жестком диске, и отключается. Также согласно здесь.
Конкретно сказано:
S3 - "Приостановить в ОЗУ"
Все питание процессора отключено, а содержимое его регистров сброшено в оперативную память, которая остается включенной. В Microsoft Windows команда "Ожидание" может быть связана с этим состоянием, если она включена в BIOS. Поскольку для этого требуется высокая степень координации между процессором, чипсетом, устройствами, ОС, BIOS и драйверами ОС, это состояние системы наиболее подвержено ошибкам и нестабильности. Павел Мачек создал небольшой документ с некоторыми подсказками, как решать проблемы с S3. Вы можете найти его в исходных кодах ядра по адресу Documentation/power/tricks.txt. S3 в настоящее время не поддерживается ядром серии 2.4.x в Linux. S4 - "Приостановить на диск"
Питание ЦП отключается, как в S3, но ОЗУ записывается на диск и также отключается. В Microsoft Windows команда "Hibernate" связана с этим состоянием. Вариант под названием S4BIOS является наиболее распространенным, где образ системы хранится и загружается BIOS вместо ОС. Поскольку содержимое ОЗУ записывается на диск, системный контекст сохраняется. Например, несохраненные файлы не будут потеряны после перехода S4. S4 в настоящее время не поддерживается ядром серии 2.4.x в Linux, но вам может повезти с SWSUSP. Некоторые машины предлагают S4_BIOS, поддержка которого считается экспериментальной в Linux/ACPI.