¿Qué hace una computadora cuando se congela?

TLDR: Procesando hasta el punto de que no puede continuar agregando cosas nuevas a la lista de “tareas”, incluido el movimiento del mouse.

Ver una computadora realmente solo puede hacer una cosa a la vez. Las computadoras están programadas para priorizar ciertas acciones y realizar otras acciones cuando están menos ocupadas. Por lo tanto, la computadora hace una larga fila para todas sus tareas (incluida la tarea de agregar más elementos a esta lista de tareas). Luego, sistemáticamente, baja la línea y hace cada elemento en su lista, milisegundos por milisegundos. Pueden surgir muchos problemas para alterar este orden, por lo general hay suficientes tareas de ‘redireccionamiento’ o ‘espera’ en la lista que si la computadora se atasca o necesita detenerse en una tarea, podría dejar eso en la memoria y pasar a la siguiente tarea .

Entonces, cuando la computadora se congela, está utilizando todos sus recursos para lograr su lista de tareas y se queda atascado hasta el punto de que ni siquiera puede agregar cosas nuevas a la lista y tomarse el tiempo para responder a las nuevas entradas del usuario.

Estoy seguro de que alguien más inteligente que yo puede dar una respuesta más clara.

Existen numerosos problemas que pueden hacer que una computadora se congele, uno ya mencionado es un punto muerto, también llamado los filósofos que cenan, lean sobre esto.

La mayoría de los OS / RTOS están escritos en C / C ++ y dependen en gran medida de punteros, estos cuando se usan correctamente son muy potentes, especialmente cuando se trata de hardware / controladores. PERO, puede causar una respuesta que parece cancerosa, extendiendo y destruyendo la memoria, y que al igual que el cáncer eventualmente derribará el sistema.

Además, considere la unidad de protección de memoria MPU, puedo detectar cosas como una pila de tareas que se ha extendido más allá de sus límites o que se ha accedido a un área protegida de memoria. Pero es lo que hace OS / RTOS con ese conocimiento que dicta si el Kernel se congela.

Hay cientos de formas para que un núcleo se congele … Acabo de enumerar algunas de ellas.

Similar al sobrecalentamiento, la falla del hardware puede causar un congelamiento del sistema. Los controladores son piezas de software que permiten que los dispositivos de hardware se comuniquen con otros dispositivos de hardware y el sistema operativo. El sistema informático utiliza constantemente los controladores, con un alto riesgo de falla.

Por ejemplo, supongamos que está utilizando una aplicación o varias aplicaciones que utilizan la RAM de su computadora. Hay algunas aplicaciones que pueden intentar usar la memoria de otras aplicaciones, pero los controladores de su computadora no permitirán que esto suceda. Esto hace que todo el sistema informático se bloquee y se congele.

Cuando una computadora se congela, puede ser causada por un “punto muerto”.

Cuando un programa de software adquiere un bloqueo para un recurso, significa que ningún otro programa puede adquirir el mismo bloqueo y debe esperar a que el programa que lo mantiene lo libere. Dos o más programas de software pueden contener bloqueos para varios recursos compartidos del sistema. Estos programas pueden entrar en un estado en el que se están esperando para liberar esos bloqueos.

Según Deadlock – Wikipedia, “un punto muerto es un estado en el que cada miembro de un grupo de acciones está esperando que algún otro miembro libere un bloqueo”.