Thrashing (informática)


En ciencias de la computación , la paliza ocurre cuando los recursos de memoria virtual de una computadora se sobreutilizan, lo que lleva a un estado constante de paginación y fallas de página , lo que inhibe la mayor parte del procesamiento a nivel de aplicación . [1] Esto hace que el rendimiento de la computadora se degrade o colapse. La situación puede continuar indefinidamente hasta que el usuario cierre algunas aplicaciones en ejecución o los procesos activos liberen recursos de memoria virtual adicionales.

Después de completar la inicialización, la mayoría de los programas operan en una pequeña cantidad de códigos y páginas de datos en comparación con la memoria total que requiere el programa. Las páginas a las que se accede con mayor frecuencia se denominan conjunto de trabajo .

Cuando el conjunto de trabajo es un pequeño porcentaje del número total de páginas del sistema, los sistemas de memoria virtual funcionan de manera más eficiente y se gasta una cantidad insignificante de computación en resolver fallas de página. A medida que crece el conjunto de trabajo, la resolución de errores de página sigue siendo manejable hasta que el crecimiento alcanza un punto crítico. Luego, las fallas aumentan drásticamente y el tiempo dedicado a resolverlas supera al tiempo dedicado a la informática para la que se escribió el programa. Esta condición se conoce como paliza. Thrashing se produce en un programa que trabaja con enormes estructuras de datos, ya que su gran conjunto de trabajo provoca continuos fallos de página que ralentizan drásticamente el sistema. La satisfacción de los fallos de página puede requerir la liberación de páginas que pronto tendrán que volver a leerse del disco.

El término también se usa para varios fenómenos similares , particularmente el movimiento entre otros niveles de la jerarquía de la memoria , donde un proceso progresa lentamente porque se gasta un tiempo significativo en adquirir recursos.

"Thrashing" también se utiliza en contextos distintos de los sistemas de memoria virtual; por ejemplo, para describir problemas de caché en informática o síndrome de ventana tonta en redes.

La memoria virtual funciona al tratar una parte del almacenamiento secundario , como el disco duro de una computadora , como una capa adicional de la jerarquía de caché . La memoria virtual se destaca por permitir que los procesos utilicen más memoria de la que está físicamente presente en la memoria principal y por habilitar las máquinas virtuales . Los sistemas operativos que soportan la memoria virtual asignan a los procesos un espacio de direcciones virtuales y cada proceso se refiere a direcciones en su contexto de ejecución mediante una llamada dirección virtual. Para acceder a datos como código o variablesen esa dirección, el proceso debe traducir la dirección a una dirección física en un proceso conocido como traducción de direcciones virtuales . En efecto, la memoria principal física se convierte en un caché para la memoria virtual que, en general, se almacena en el disco en las páginas de memoria .