Software de Windows para guardar el estado de la aplicación arbitraria

14

El software VM hace un gran trabajo al guardar el estado cuando lo "apaga", lo que permite un retorno instantáneo e inmediato a ese estado anterior.

¿Existe alguna aplicación para Windows que me permita hacer lo mismo para cualquier software arbitrario? Me permitiría guardar / restaurar el estado, posiblemente a través de un comando o botón de shell que se agrega a cada ventana.

Editar: para mayor claridad, hay dos tipos de aplicaciones: las que guardan sus propios estados y las que guardan los estados de otros. Los que guardan su propio estado son como Chrome, que al cargar, recarga las ventanas que tenía abiertas la última vez.

Eso no es lo que estoy preguntando; Estoy pidiendo una aplicación que pueda guardar el estado de otras aplicaciones, algo así como lo hace el software VM; pero para cualquier aplicación (Una prueba trivial sería cargar notepad ++, escribir un montón de cosas y guardar el estado; en el estado de reinicio, debería ser capaz de deshacer muchos niveles de lo que escribió, como si nunca cerrara la aplicación. )

cenizas999
fuente
+1 Pregunta interesante. Como las otras preguntas similares no han recibido ninguna respuesta buena (si es que hay alguna), soy escéptico.
Nifle
@Nifle estuvo de acuerdo. En principio, esto debería ser posible (guarde un volcado de memoria de la aplicación, vuelva a cargar cuando reinicie), por lo que tengo la sensación de que existe; Simplemente no puedo encontrar una aplicación que lo haga.
cenizas999
Leer: hibernación.
Hola71
En mi caso, la hibernación no es una solución. Era un usuario muy hibernado hasta que compré un disco SSD. Verifique la respuesta de @Matthew A. Schneider.
Mario S

Respuestas:

3

A riesgo de ser rechazado, encuentro que tengo que dar una respuesta negativa.

Mucha gente desearía esto, incluido yo mismo. También he buscado durante mucho tiempo dicho producto, antes de entender que no existe y, de hecho, no puede existir. Tal vez sean posibles implementaciones limitadas de suspender / cancelar suspensión, pero no las generales.

Piense, por ejemplo, en suspender una aplicación que tiene un archivo abierto en el CD o una conexión a Internet abierta. Ahora imagine lo que se necesitaría para "suspenderlo" y "suspenderlo": todos los archivos y conexiones se guardarán al suspender, luego se suspenderá la suspensión para volver a crearse, la unidad de CD puede verificarse y abrirse el archivo, las conexiones a Internet se restablecerán -establecido con toda la información de inicio de sesión en el sitio, etc.

Esto es demasiado complejo de implementar en cualquier sistema operativo, y también sería un agujero de seguridad, evitando la necesidad de ingresar el inicio de sesión si el estado de una aplicación fue "capturado" justo después del inicio de sesión. Para suspender correctamente una aplicación, uno solo necesitaría guardar el estado de todo el sistema operativo (que existe).

harrymc
fuente
44
Si funciona para la hibernación, no hay razón para que no funcione en el escenario descrito por OP. Tendría que restablecer los identificadores de archivos, por supuesto, y administrar la seguridad, pero nadie dijo que sería fácil. Dicho esto, descargar la memoria sin procesar requiere privilegios que solo se supone que tiene el sistema operativo. Tendría que confiar seriamente en la aplicación para otorgarle privilegios de sistema operativo (suponiendo que incluso sea posible otorgarle tales privilegios).
Xr.
@Xr: La hibernación es para toda la computadora, lo cual dije que existe (aunque no se garantiza que las aplicaciones no fallen al despertar). El caso de "una aplicación" realmente no existe, ya que el estado de la aplicación es parte del estado del sistema operativo. Como usted dice, este mecanismo es posible, pero debe integrarse en el propio sistema operativo. Una aplicación que se ejecuta en el espacio de usuario no tiene el acceso requerido a las tablas y controladores del sistema, y ​​esto también requiere un conocimiento muy especializado de ellos.
harrymc
Tienes razón en que es complejo. Comencé una pregunta SO sobre esto y la respuesta fue, como se esperaba, "es muy complejo de construir debido a todos estos problemas".
cenizas999
5

Sin virtualización, su única opción en Microsoft Windows es pausar / reanudar aplicaciones. Las utilidades que pueden hacer esto son PySuspend y Pausep . Esto no le permitirá realizar ningún tipo de "deshacer".

Si bien hay productos de virtualización como QubesOS que pueden hacer lo que está buscando en sistemas Linux, es probable que no lo vea en Microsoft Windows sin el soporte directo de Microsoft. Sin embargo, incluso con QubesOS, debería ser posible ejecutar un producto de virtualización como VirtualBox o VMWare Workstation para ejecutar aplicaciones de Windows. También puede ejecutar aplicaciones de Windows a través de wine , con todos los beneficios de la abstracción QubesOS.

Alternativamente, puede ejecutar varias máquinas virtuales que ejecutan una copia separada de Windows debajo de cada una de ellas. Algunas versiones de MS Windows le permiten ejecutar una o más copias del sistema operativo, virtualizadas, bajo una sola licencia.

ewindisch
fuente
Sí, en el peor de los casos, siempre puedo tener mi PC como un cliente "ligero" y ejecutar todo dentro de una VM (con un 10% de rendimiento en el caso de VM Ware). Ese no es un mal plan de respaldo, a menos que comparta su computadora con no técnicos que se preguntan qué está haciendo :)
cenizas999
¿Estas herramientas le permiten pausar, cerrar la aplicación y luego reanudar desde el estado anterior?
cenizas999
1
PySuspend y Pausep emiten un Windows equivalente a las señales POSIX SIGSTOP / SIGCONT. Esto no permite que la aplicación se "cierre" por completo, no libera ninguna asignación de memoria. Simplemente detienen el proceso de usar cualquier CPU hasta que usted desactive / reanude el proceso.
ewindisch
1

Es factible Mira lo siguiente.

Twinsplay: http://www.twinsplay.com/learn-more-about-twinsplay

SmartClose: http://download.cnet.com/SmartClose/3000-2094_4-10784165.html

Matthew A. Schneider
fuente
1
¿Por qué esos? ¿Cómo resuelven el problema?
ale
Creo que esta respuesta fue injustamente rechazada. Siguiendo la respuesta @harrymc, esas son buenas alternativas a la aplicación solicitada por ashes999. En este momento estoy buscando algo como las cenizas lo quieren, porque tengo un disco SSD y no quiero hibernar. En ese sentido, SmartClose me parece una solución interesante que estoy intentando en este momento.
Mario S
SmartClose ( ghacks.net/2008/12/03/smart-close ) y probablemente Twinsplay también simplemente vuelven a abrir las ventanas y cuentan con las aplicaciones para haber salvado su estado
micrófono
0

Esto es lo que hace SmartSuspend de Jaryba (anteriormente Librato) . Es un contenedor de VM ligero para aplicaciones que le permite suspender, reanudar y migrar solo una aplicación, al igual que lo haría con una VM, pero con mucho menos sobrecarga. En este momento no es compatible con Windows, pero apuntan a mind-2011 para el soporte de Windows. Funciona razonablemente bien con aplicaciones basadas en Linux. Algunas aplicaciones no liberan licencias como se prometió cuando SmartSuspend las suspende, pero la mayoría lo hace y puede dividir el tiempo en software costoso bastante bien con el producto.

Ian C.
fuente
3
Agradable, pero sin soporte de Windows = sin soporte = inútil. Necesito esto para Windows, por eso etiqueté la pregunta "Windows". Además, no hay un enlace de descarga en su sitio. Yech
cenizas999
@ Ashes999 ya viene. Por eso te puse a ello. No es barato
Ian C.
Estoy tentado a rechazar esta respuesta. Software que aún no existe e incluso si existiera, ¿no funciona para Windows? Eso definitivamente no es lo que estoy buscando.
cenizas999
1
Es 2015 y todavía no es compatible con Windows ...
Mario S
El sitio de Jaryba ahora está muerto / vacío
micrófono hace