Por qué reiniciar el ordenador es la solución a (casi) todos los problemas

Cuando estamos atascados con un problema, una estrategia habitual es “volver empezar desde cero”. Hacer tabula rasa y retomar el problema nos permite evitar posibles errores previos que nos hayan pasado desapercibidos y nos ofrece una mejor perspectiva sobre cómo se produce el problema.

En el campo de la informática, esta estrategia también se aplica. ¿Tu ordenador va lento o no responde? Prueba a reiniciar el ordenador. ¿El programa no funciona? Mátalo y vuelve a ejecutarlo. De hecho, esta solución se utiliza con tanta frecuencia y con tanta efectividad que ha adquirido la categoría de un chiste de la profesión. Como muestra, tenemos el gag por excelencia de la serie IT Crowd: Roy, un administrador de sistemas responde todas las consultas telefónicas de sus usuarios con un “Have you tried turning it off and on again?“. Al final se cansa de hacerlo y graba esta respuesta en su contestador automático para responder así a todas sus llamadas.

Ya sea en IT Crowd o en Star Trek, reiniciar es la solución mágica a cualquier problema - Imagen calificada como fair use

Ya sea en IT Crowd o en Star Trek, reiniciar es la solución mágica a cualquier problema – Imagen calificada como de uso justo (fair use)

Hablemos de por qué reiniciar el ordenador es una solución tan efectiva. En primer lugar, un ordenador tiene dos tipos diferentes de memoria:

  • La memoria no volátil permite almacenar los datos a largo plazo incluso cuando apagamos el ordenador. Como desventaja, este tipo de memoria es (comparativamente) lenta. Algunos ejemplos pueden ser un disco duro, un disco óptico (CD, DVD o Bluray) o un lápiz USB.
  • La memoria volátil es muy rápida pero requiere energía continuamente para mantener sus contenidos. Por su velocidad, la memoria volátil se utiliza como memoria de trabajo del ordenador.

Esta memoria de trabajo es gestionada por el sistema operativo, que controla qué procesos se están ejecutando y asigna un espacio a cada proceso. Cada proceso almacena en este espacio los datos que está manipulando en este momento y solicita recursos al sistema operativo (como por ejemplo, más memoria, acceso a la CPU o acceso a un periférico) que debe liberar cuando deje de necesitarlos.

Un programa puede tener errores de programación que causen que el ordenador se comporte de forma inestable:

  • Por ejemplo, un error de programación puede hacer que un programa entre en un bucle infinito, consumiendo CPU sin hacer nada y ralentizando el resto de procesos.
  • Otros errores de programación se centran en un uso inadecuado de los recursos: un proceso solicita una gran cantidad de recursos, o bien va realizando pequeñas peticiones a lo largo del tiempo pero sin liberar los recursos conseguidos previamente. El resultado final es que el resto de procesos tienen pocos recursos disponibles y deben esperar a que queden libres.
  • En particular, la gestión de la memoria puede ser un ámbito problemático. Además de acaparar memoria sin liberarla, un proceso puede intentar acceder a memoria que o bien no había solicitado o bien había liberado previamente. Este acceso erróneo puede modificar los datos del proceso de forma imprevista o, en casos más extremos, modificar los datos de otros procesos o el código binario de algún proceso.
  • El sistema operativo también puede tener sus propios defectos que provoquen que haya recursos que queden permanentemente bloqueados sin poder usarse o procesos que acaban su ejecución pero siguen ocupando recursos (zombies).

Reiniciar un ordenador es una forma de reparar la memoria de trabajo “a lo bruto”: borrándola y empezando desde cero. Usando este método no es necesario preocuparse de cuál era la causa del problema: volvemos a un estado “correcto” de la memoria de trabajo y, si no vuelven a producirse las mismas circunstancias que llevaron al error, no volverá a producirse.

Así pues, reiniciar un ordenador es tan efectivo por tres razones:

  1. Porque sirve para resolver diferentes tipos de problemas a la vez: acumulación de recursos, procesos zombies, programas que han entrado en bucle infinito, corrupción de la memoria…
  2. Porque no necesitamos dedicar tiempo a diagnosticar la causa del problema.
  3. Porque si el error aparecía por una combinación de circunstancias poco habituales, generalmente no se volverá a producir y parecerá que hemos “arreglado” el problema.

Sin embargo, hay que tener en cuenta que reiniciar no es una solución a todos los problemas. Por ejemplo, no arregla problemas de hardware ni elimina malware (si lo hubiera). Y tampoco resolverá la papeleta si nuestro ordenador no es suficientemente potente, ya sea porque ejecutamos demasiados programas al arrancar el ordenador o porque el programa que queremos usar necesita más recursos de los que disponemos.

Robert Clarisó es Doctor en Informática por la UPC. Actualmente es el director del Máster Universitario de Ingeniería Informática de la UOC y es investigador del grupo SOM Research Lab. Sus intereses de investigación se centran en métodos formales, ingeniería del software y herramientas para e-learning.

Comentar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Leer entrada anterior
Introducción a las bases de datos NoSQL en grafo

Las bases de datos NoSQL ya no son una novedad sino una realidad que encontramos en muchas de las aplicaciones...

Cerrar