I do contract work for a living, which could include writing a program such as this. However, I don’t do people’s homework for them. That just robs them of an education.
You have my full permission to implement this project any way you please.
Have you noticed how modern programs take longer and longer to start up and shut down, even with the fastest CPUs? You might be tempted to just leave them running, so that when you come back to them, they are instantly ready to go. There are several problems with that.
When an application program goes into suspended animation, it first closes all its files and i/o devices. Then it calls the SUSPEND API of the operating system. The operating system then permanently reserves that the part of the swap file that the application was using. It will eventually swap all real RAM contents to the disk swap file. It does not have to complete that until a power down. It takes the program off the task bar. From the user’s point of view, the program has stopped running.
When the user starts the app up again, the operating system notices that it has that program in suspended animation. It does not need to start a fresh copy. The operating system just starts executing the app right after the SUSPEND API call. It need load only one page into RAM. The application program wakes up. All its virtual RAM is exactly as it left it, including any giant trees of persistent objects.
The virtual RAM will gradually get paged back into real RAM. The app has to reopen its files and reopen its i/o devices, and carry on. It need do nothing to preserve state. It can do this restart very rapidly compared with a traditional program load.
The main disadvantage is you tie up system swap space, even when the program is not running, but since hard disk space is becoming so cheap, this is no longer an issue.
In summary there are two advantages for the user:
![]() |
and suggestions to improve this page to Roedy Green : | ||
| Canadian Mind Products | |||
| mindprod.com IP:[65.110.21.43] | |||
| Your face IP:[38.103.63.61] | The information on this page is for non-military use only. | ||
| You are visitor number 4,330. | Military use includes use by defence contractors. | ||
| You can get a fresh copy of this page from: | or possibly from your local J: drive (Java virtual drive/mindprod.com website mirror) | ||
| http://mindprod.com/project/suspendedanimation.html | J:\mindprod\project\suspendedanimation.html | ||