Maybe another feature to add to systemd, especially if systemd ends up managing the lifecycle of our user session: it would be nice to be able to do what Apple's iOS and Lion do: you start all your programs, and the system is allowed to switch them off under pressure, but the user is never made aware of it.
From what I understand, iOS and OSX apps get notified so the can dump their state themselves when necessary. This checkpointing would be even nicer, because app devs wouldn't have to change anything; it would just transparently work.