¿Por qué ‘se arregla’ el PC al apagar y volver a encender?

Comparte otras experiencias o lo que sea, no relacionadas a la Informatica.
Responder
Avatar de Usuario
paulofutre
Mensajes: 3708
Registrado: Mar Sep 11, 2007 4:18 am
Ubicación: MADRID

¿Por qué ‘se arregla’ el PC al apagar y volver a encender?

Mensaje por paulofutre »

Interesante artículo en mi modesto entender. Nos explica alguna de las bases de la informática como es la "arquitectura" de nuestros amigos los PCs:

¿Por qué ‘se arregla’ el PC al apagar y volver a encender?
Imagen
Pantallazo Azul de la muerte en una cabina de internet y teléfono

Si se queda congelada la pantalla, prueba a apagar y volver a encender. Que la grabadora de cds no expulsa el disco o sale de ella sonidos similares a las cuerdas vocales de algún concursante de castings (tipo OT, Factor X, La Voz,…), prueba a apagar y volver a encender. Que, de repente, no sale en pantalla lo que escribes con el teclado, prueba a apagar y volver a encender. Que no hay forma de que el ratón se mueva, prueba a apagar y volver a encender. Que el PC ahora no puede reproducir vídeos, prueba a apagar y volver a encender…

Y podría decir más y más ejemplos. Además quién dice PC, dice móvil, tableta, reproductor mp3s, automóvil,… Ya hay muchos aparatos electrónicos que usan la llamada arquitectura de von Neumann. La arquitectura de von Neumann es el gran invento del siglo pasado, si dicha arquitectura no existiese habría que inventar otra similar, pues si no estuviera presente nos pasaríamos el mayor tiempo cambiando cables del PC de sitio.

¿Pero qué es la arquitectura de von Neumann? Explicada de forma sencilla es una forma de ‘ordenar’ cada parte del ordenador (también para los móviles, tabletas, reproductor mp4,… pero diré sólo ordenador o PC a partir de ahora, para no hacer tediosa la lectura) de forma que no haga falta cambiar de sitio los cables de un ordenador cada vez que lo queramos utilizar para otra cosa, por ejemplo para no cambiar cables de sitio cuando quiero dejar de usar el ordenador para escribir un email y lo use para ver una serie.

Esta ordenación consiste en separar el ordenador en tres partes:
- La memoria principal: vamos, la memoria de nuestro sistema, la RAM de toda la vida, que es la leche;
- La CPU: que es la que, hace operaciones como sumas, restas, multiplicaciones, divisiones, guarda cosas nuevas en la RAM, se trae cosas de la RAM para operar (sumar, restar,…) con ella,… Se trata del llamado procesador, tu amigo ‘Intel’ o ‘AMD’, ése de la etiqueta del PC.
- El sistema de entrada/salida (a partir de lo que sigue lo llamaré ‘E/S’): tu monitor, tu teclado, tu ratón, tu pendrive, tu disco duro (ese cuya capacidad se mide ya en cientos de GB, y cuando no en Teras), tu disco duro externo multimedia, la tarjeta gráfica,… En síntesis es lo que no es el procesador y la RAM.
Imagen
http://papeldeperiodico.com/wp-content/ ... 00x265.jpg

La mejor forma de ver esto es como un torrente de información y datos. La memoria principal tiene los datos y la información, y la CPU hace cosas con ellos y devuelve, la información resultante, a la RAM o al sistema E/S. Y eso es lo que hace el ordenador, el móvil, la tableta,… todo el tiempo.

Para entender la respuesta a la pregunta del inicio era necesario que supieras eso y otra cosa que tengo que contarte. Por si no lo sabías: tu ordenador te engaña. Puede que te hayas dado cuenta antes pero la realidad es que si pudiéramos hacer una foto a la información que pasa por el ordenador en un instante de tiempo, cada parte del PC sólo hace una cosa en cada instante de tiempo. ¿Cómo te engaña? Aprovecha cuándo una parte del ordenador está sin hacer algo, para que lo haga, aunque luego necesite otra parte que ahora está ocupada. También una parte puede irse turnando, un ejemplo con el disco duro en un momento en que abrimos un fichero de vídeo y seguidamente un documento de texto, el PC haría: ahora voy cargando el vídeo, después voy cargando el documento, después sigo cargando el vídeo, después sigo cargando el documento,… El orden de los turnos los controla el sistema operativo que uses.

Otro asunto que seguramente no conozcas, y de importancia para este tema, es que cada parte del ordenador tiene un poquito de memoria. De hecho el procesador tiene de 3 a 4 niveles diferentes de memoria. Pero es que también hay memoria en el sistema de E/S: los llamados buffers de memoria para: el teclado, el ratón, los altavoces, la impresora,… Los buffers de memoria son otra forma más de guardar datos, aunque en este caso de forma intermedia, un ejemplo: el buffer del teclado guarda todas las teclas que escribes en el teclado, y del buffer salen las teclas para ser procesadas por el ordenador; así si el ordenador está muy ocupado, no saldrán las letras pulsadas en el monitor, hasta que esté desocupado, pero saldrán las que pulsaste y en el mismo orden que las pulsaste.

Y con esto ya tenemos todas las piezas del puzzle preparadas. Dentro de unos pocos párrafos serás de los elegidos que están a punto de conocer la respuesta a la pregunta del título. A todo esto, mira que en la serie IT Crowd decían eso de “Have you tried turning it off and on again?” (“¿Has probado a apagar y volver a encender?”) muchas veces, pero bien que se guardaban el secreto.
http://www.youtube.com/watch?feature=pl ... n2FB1P_Mn8

En resumen, tenemos: un porrón de partes del PC (internas o externas), cada una con su memoria, que sólo puede hacer una cosa a la vez, y que se suelen turnar cuando lo dice tu sistema operativo (Windows, Android, iOS, Mac OS, Linux,…), y que pueden quedarse esperando a que otra parte del PC esté libre (porque, según el sistema operativo, ese recurso no se pueda turnar).

Si, vale, pero ¿cómo llega a ese colapso en el todo se queda ‘pillado’ y no podemos hacer nada? voy terminar de atar cabos de todo lo que he dicho antes con un ejemplo. Imagina que la CPU (tu amigo procesador Intel o AMD) está muy ocupado, tan ocupado que no puede atender a otra cosa, como el ratón o el teclado. La CPU en muchas ocasiones puede quedarse un rato haciendo una multiplicación demasiado larga, o muchas cuentas, y así se queda manejando grandes cantidades de megabytes con la memoria principal. Cuando más veces puede pasar esto es el caso de programas grandes, como un videojuego con muchos gráficos, o el emulador de Android, o una máquina virtual, o un navegador web con muchas ‘pestañas’. Cosas como éstas dejan al procesador con la memoria o la tarjeta gráfica (la responsable de todo lo que sale en nuestro monitor) a solas y sin querer que lo moleste otro objeto, mientras éste se queda esperando, y esperando, y esperando,… Tanto que el usuario pierde la paciencia, teclea control+alt+suprimir y le da a finalizar tarea y… ahí le toca esperar otra vez. Porque ahora la CPU no sólo tiene que cancelar todo lo que tenía previsto hacer después con esos datos, sino que restablecer la memoria a como estaba antes de abrir ese programa ‘pesado’. Esa situación final es responsabilidad del sistema operativo el cómo tratarla.

En cuanto a la situación de que ‘te quedas esperando, esperando, esperando,…’ y nunca termina (y que suele acabar en ‘apaga y vuelve a encender’ o en tareas finalizadas), se la conoce como interbloqueo (en inglés, deadlock, también se le llama ‘abrazo mortal’). Al quedarse la CPU con un objeto a solas, se ha producido un bloqueo de la CPU, y todos los demás elementos se han quedado esperando a que esa CPU se libere para poder ser usada. Esto del interbloqueo no sólo pasa con la CPU, puede pasar con cualquier otro elemento (monitor, altavoces, pendrive, teclado,…).
Imagen
Aunque no lo creas Windows Vista tiene una pantalla roja de la muerte y no azul.

El interbloqueo, y aquí viene lo curioso, hasta la fecha no tiene solución y su prevención puede fallar (y de hecho suele fallar), y cada sistema operativo lo intenta evitar o solucionar de formas diferentes. Así que ya tenéis un problema más para resolver si queréis ser famoso en el mundo de la informática y forraros. Por ahora los interbloqueos que no acaban con los programas implicados finalizados por el usuario, acaban con el ordenador reiniciado.

Si se trata del clásico ‘pantallazo azul de la muerte‘, que tantas alegrías ha dado en Windows, o en sus diferentes versiones (en Linux y en Mac OS X es negro, le llamamos ‘Kernel Panic‘; en Windows Vista y en las PlayStation 2 y 3 son rojos, la llamada ‘pantalla roja de la muerte‘), que se arregla al apagar y volver a encender, suele ser porque hay algún programa ha escrito parte los resultados de sus operaciones, sobre la memoria temporal del sistema operativo. Por ejemplo un virus escribe el número ’3′ sobre una parte de la RAM en la que está el sistema operativo Windows, en vez de sobre la parte libre de la RAM; esto, una vez más, es culpa del sistema operativo por dejar que el virus pueda escribir sobre él mismo, antaño era responsabilidad del programador del programa que se comportara de esa forma errónea.

Todas las memorias excepto el disco duro (incluyo los buffers) son temporales, por lo que cuando apagas se borran, además la CPU y todo lo conectado deja lo que estaba haciendo, es más la memoria que tenía (registro y cachés) sobre ‘lo que estaba haciendo’ se ha borrado también, por lo que incluso si ha habido alguno de esos famosos ‘pantallazos azules de la muerte’ que no ha afectado al disco duro (en especial la zona del sistema operativo), lo que pasó, siempre que no fuera en el disco duro (porque ésa no es memoria temporal), se quedó borrado. Cuando apagas eso es lo que ocurre, y claro, como ya está borrada toda memoria temporal, al volver a encender todo estaba tal y como estaba antes de ocurrir aquel error.

Y eso es todo. Nada de magia, ni revoluciones de la electrónica contra los humanos, ni de ‘uy, mi dueño se ha enfadado, voy a arreglarme sólito’. Puede que la realidad sea más cutre, pero la mayoría de las veces funciona. ¿No?


Fuentes de las imágenes:
- Imagen del inicio sacada del artículo de la wikipedia ‘Pantalla azul de la muerte‘.
http://es.wikipedia.org/wiki/Pantallazo_azul
-Esquema de la arquitectura de von Neumann sacada del artículo de la wikipedia ‘Arquitectura de von Neumann‘.
http://es.wikipedia.org/wiki/Arquitectu ... on_Neumann
- La imagen de la pantalla roja de la muerte la saqué del artículo de la wikipedia ‘Pantalla roja de la muerte‘
http://es.wikipedia.org/wiki/Pantallazo_rojo


FUENTE: http://papeldeperiodico.com/por-que-se- ... -encender/

Saludos.
Saludos y ♪Forzatleti♫
Avatar de Usuario
mr.x
Mensajes: 411
Registrado: Mar Ene 11, 2011 1:36 pm
Ubicación: Argentina

Re: ¿Por qué ‘se arregla’ el PC al apagar y volver a encender?

Mensaje por mr.x »

Muy buena info, se agradece enormemente :plano1 :plano1 :plano1 :plano1 :plano1
Responder

Volver a “Fuera de Tema”