Browse Prior Art Database

Hibernating and Resuming using a Compressed Memory Image

IP.com Disclosure Number: IPCOM000116099D
Original Publication Date: 1995-Aug-01
Included in the Prior Art Database: 2005-Mar-30
Document File: 2 page(s) / 56K

Publishing Venue

IBM

Related People

O'Quin, JT: AUTHOR [+4]

Abstract

Disclosed is a method for an operating system to hibernate and resume using a compressed memory image written to disk.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 55% of the total text.

Hibernating and Resuming using a Compressed Memory Image

      Disclosed is a method for an operating system to hibernate and
resume using a compressed memory image written to disk.

      Hibernation involves completely saving the state of the machine
to disk, and powering off the machine.  This allows a "rapid resume"
which is a shorter period of time for boot, and returns the machine
to the exact same state it was in before the hibernation occurred
(all the same applications running, etc.).

      A hibernation image can be compressed before it is saved to
disk in order to save disk space required for hibernation and to
allow room for the firmware boot-code to use when resuming from
hibernation.  The problem is in resuming from hibernation, after the
firmware has loaded the compressed memory image from disk and
branched to the resume code.  This resume code must be able to
uncompress the image "in-place" in memory, without either overwriting
the resume code or any of the image that has not yet been
uncompressed.

      The disclosed solution to this problem involves both the code
executed during the hibernation and during the resume.

      During hibernation, there are two key steps.  All data in
memory that is not pinned is forcibly paged out.  These pages in
memory are then marked "free" in a memory bitmap.  Secondly, this
bitmap is saved for use at resume time, so the resume code will know
which pages are free and which are not.  During the...