¿Puedo "hibernar" un programa?

17

Sí, sé que la hibernación generalmente se aplica a una computadora. (Hiberne su significado al guardar la memoria del programa en el disco y poder restaurarlo de manera consistente).

Sin embargo, hibernar un programa puede ser muy útil. Supongamos que quiero jugar un juego, pero algunos programas como Firefox, Acrobat ocupan 500M de memoria, por lo que quiero liberarlo. Cerrar y luego iniciar puede llevar mucho tiempo, especialmente si los datos de la sesión no se pueden almacenar. Entonces, en cambio, voy e hibernarlos. Entonces, ¿hay alguna manera de que pueda hibernar un programa?

apoorv020
fuente
¿Qué sistema operativo estás usando?
Ian C.
1
Windows 7, 64 bits. También volví a plantear la pregunta.
apoorv020
buena mejora para un sistema operativo ...
kokbira
2
Relacionados (pero no hay respuestas) superuser.com/questions/170434/...
Sathyajith Bhat

Respuestas:

8

Hay una pregunta relacionada sobre esto en StackOverflow. Está más relacionado con la programación, pero la respuesta principal aceptada explica por qué lo que intenta hacer es difícil y ofrece una alternativa viable.

Básicamente, ejecute sus aplicaciones de 'negocio' en una máquina virtual, y pause / hiberne / ciérrelo cuando desee jugar.

Ƭᴇcʜιᴇ007
fuente
4

Si bien esto no es una hibernación real , el proceso puede suspenderse. Inmediatamente dejará de usar ciclos de CPU, pero seguirá usando memoria. Afortunadamente, esta memoria se cambiará a un archivo de paginación, si luego inicia cualquier aplicación que requiera mucha memoria, por lo que no es un problema real. El proceso suspendido no puede sobrevivir al reinicio / cierre de sesión, pero esto será suficiente para jugar un juego.

Pregunta relacionada: ¿ Suspender / Reanudar un proceso de la manera fácil?

Internamente, la suspensión del proceso podría hacerse a través de diferentes enfoques :

  • Par de funciones SuspendThread y ResumeThread .

  • NtSuspendProcess función (no documentada oficialmente) que se ha introducido con Windows XP Sp0 y funciona en todas las versiones del sistema desde entonces.

  • Interfaz de depuración proporcionada por Microsoft, utilizando las funciones DebugActiveProcess y DebugActiveProcessStop . Cuando un depurador se adjunta a un proceso remoto, todos los hilos del objetivo se suspenden inmediatamente hasta que el depurador da una señal para permitirles ejecutar.

Hay varias herramientas disponibles que pueden suspender un proceso:

Además, el Monitor de recursos ( Task ManagerPerformanceOpen Resource Monitor) en Windows Vista y superior puede suspender / reanudar procesos:

Monitor de recursos

beatcracker
fuente
0

"Hibernar" una aplicación no sería más rápido que simplemente cerrarla y reiniciarla, aunque su punto sobre los datos de la sesión es válido. En general, no habría mucha, si alguna ventaja.

CarlF
fuente
55
¿Con qué lógica dices que hibernar no sería más rápido? Hibernar y restaurar un sistema operativo es más rápido que un reinicio.
apoorv020
Piensa en lo que es hibernar. Requiere copiar la imagen del programa en el disco duro y luego volver a copiarla. Cerrar el programa y luego reiniciarlo solo requiere copiarlo del disco duro. Windows se inicia muy lentamente, por razones que no sé. Para otros sistemas operativos, por ejemplo, Linux, hibernar y despertar lleva más tiempo que simplemente apagar y reiniciar, al menos en todos los sistemas míos en los que lo he probado. Es conveniente pero no rápido.
CarlF
Bien, iniciar algunos programas es bastante lento, toma mucho tiempo, especialmente firefox. Sin mencionar irritante también.
apoorv020
3
Closing the program and then restarting it only requires copying it from the hard disk. Están olvidando añadir en el tiempo que tarda en llegar el programa de devolución en el estado en que estaba, por ejemplo, la reapertura de un montón de pestañas del navegador, abrir un archivo en un editor, etc.
Synetech
-2

Como está en Windows, siempre puede crear dos cuentas de usuario y usar la función de cambio rápido de cuenta en Windows y usar cada una de ellas para diferentes conjuntos de aplicaciones. Como Windows prácticamente hiberna, las otras visiones se abrieron en la computadora. Creo que sí.

TripingPC
fuente
2
Cambiar entre cuentas de usuario en Windows 7 no hiberna ni suspende de ninguna otra manera la actividad en la cuenta no activa. Puede probarlo usted mismo reproduciendo algo de audio en una cuenta y luego cambiando a la otra cuenta y observando que el audio continúa reproduciéndose.
Digo reinstalar a Mónica
Wellllllllll ..... en realidad deja de dibujar la pantalla.
djsmiley2k en la oscuridad