что, это просто сериализация памяти и регистров
«Сериализация», вероятно, был неправильным термином; кто бы ни сказал вам, что, вероятно, просто означает "копирование".
Давайте посмотрим, как эти два понятия отличаются.
По существу, сериализация означает, что объект преобразуется в поток последовательных байтов, и таким образом, что впоследствии его можно точно восстановить из этого потока. Почему я подчеркнул «последовательный»? И вот почему: если объект ссылается на другой объект, который находится в другом месте памяти (то есть не является «смежным» с сериализуемым объектом), то сериализация также приведет этот другой объект в поток байтов, так что нет никаких зависимостей для объекты в определенном месте памяти. В итоге получается один байтовый массив, который может содержать полный граф объектов без каких-либо дополнительных ссылок на внешние объекты.
Теперь, все это, вероятно, не будет необходимо в спящем режиме. Вы создаете полный снимок оперативной памяти компьютера, регистров ЦП и регистров ввода-вывода, просто копируя все это на жесткий диск (без каких-либо изменений или переупорядочений). (Несколько более интеллектуальный процесс гибернации может включать только память, фактически выделенную операционной системой, т. Е. Только используемую память.)
Но я осмелюсь сказать, что гибернация немного сложнее, чем эта: например, когда дело доходит до регистров ввода / вывода, очень быстро становится возможным, что вы не сможете просто скопировать обратно сохраненные значения регистров; вам также может потребоваться записать регистры ввода-вывода в правильном порядке , чтобы вернуть какое-либо устройство ввода-вывода в прежнее состояние. Я мог бы предположить, что стандарт (ы) PCI / AGP имеют специальную обработку для состояний энергосбережения, так что вы можете запросить у устройства моментальный снимок его текущего состояния через выделенные регистры ввода / вывода. (Но это только догадки.)