In 25+ years of gaming, I have not once had the need (or thought) to suspend a game for weeks or months, wanting it to "just be in the background", so that I can just start it up again.
Most games let you save whenever or save on exit so you don't lose anything, etc.
Those that don't are usually designed around repeating content, anyway. E.g. Borderlands is designed with respawning enemies in mind so you don't really lose a thing when it resets you to some nearby checkpoint.
Anyway, I don't think this can really be done on any PC platform in a way that would work universally for an arbitrary running program.
But
Virtualization would probably be the easiest approach here - save the state of the entire virtualized machine and restore it when "loading" the game.
I have
But the reason it hasn't been so far is because I don't think anyone has ever requested that.
But that still requires the game to actually support this, doesn't it.
I don't see how this could be reliably done on a system level. Not on a PC, anyway.
Just dumping and restoring RAM wouldn't be enough. You also have video RAM (and addresses on main RAM would reference addresses on video RAM so even those would have to match), you also have file states, states of the OS that depend on the game, other applications that depend on the currently running games, user-launched applications that might want to actually check on and change the game's state (e.g. for speed hacks to speed up slow turn-based games).
The list of things you'd have to mind for this to actually work reliably on a system level is pretty gigantic. Maybe possible on console as:
- Consoles have much less going on at any given time than a PC has
- Consoles are a closed platform where the OS devs will always know what's happening. On a PC, OS devs cannot know what will or won't happen as users have full control over what programs are installed and running (some of which deeply influence the OS itself)
- but I'd still bet it is very complicated and very error prone (and comments seem to suggest that is the case).