logo

¿Qué es el Thrash?

En informática, movimiento de piernas es el bajo rendimiento de un sistema de memoria virtual (o paginación) cuando las mismas páginas se cargan repetidamente debido a la falta de memoria principal para mantenerlas en la memoria. Dependiendo de la configuración y el algoritmo, el rendimiento real de un sistema puede degradarse en varios órdenes de magnitud.

En informática, paliza Ocurre cuando los recursos de memoria virtual de una computadora se usan en exceso, lo que genera un estado constante de paginación y fallas de página, lo que inhibe la mayor parte del procesamiento a nivel de aplicación. Provoca 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.

Para saber más claramente acerca de la paliza, primero debemos saber acerca de los fallos y el intercambio de páginas.

    Error de página:Sabemos que cada programa está dividido en algunas páginas. Una falla de página ocurre cuando un programa intenta acceder a datos o código en su espacio de direcciones pero no se encuentra actualmente en la RAM del sistema.Intercambio:Siempre que ocurre una falla en una página, el sistema operativo intentará recuperar esa página de la memoria secundaria e intentará intercambiarla con una de las páginas en la RAM. Este proceso se llama intercambio.

Paliza Es cuando la falla de página y el intercambio ocurren con mucha frecuencia a un ritmo más alto, y luego el sistema operativo tiene que dedicar más tiempo a intercambiar estas páginas. Este estado en el sistema operativo se conoce como paliza. Debido a la paliza, la utilización de la CPU será reducida o insignificante.

¿Qué es el Trash?

El concepto básico implicado es que si a un proceso se le asignan muy pocos fotogramas, habrá demasiados y frecuentes errores de página. Como resultado, la CPU no realizaría ningún trabajo valioso y la utilización de la CPU disminuiría drásticamente.

El programador a largo plazo intentaría entonces mejorar la utilización de la CPU cargando algunos procesos más en la memoria, aumentando así el grado de multiprogramación. Desafortunadamente, esto daría como resultado una disminución adicional en la utilización de la CPU, lo que desencadenaría una reacción en cadena de mayores fallas de página seguidas de un aumento en el grado de multiprogramación, llamado thrashing.

Algoritmos durante la paliza

Cada vez que comienza la paliza, el sistema operativo intenta aplicar el algoritmo de reemplazo de página global o el algoritmo de reemplazo de página local.

1. Reemplazo de página global

Dado que el reemplazo global de páginas puede traer cualquier página, intenta traer más páginas cada vez que se encuentra una alteración. Pero lo que realmente sucederá es que ningún proceso obtendrá suficientes fotogramas y, como resultado, la paliza aumentará cada vez más. Por lo tanto, el algoritmo de reemplazo de página global no es adecuado cuando se produce una paliza.

2. Reemplazo de página local

A diferencia del algoritmo de reemplazo de páginas global, el reemplazo de páginas locales seleccionará páginas que solo pertenecen a ese proceso. Entonces existe la posibilidad de reducir la paliza. Pero está demostrado que existen muchas desventajas si utilizamos el reemplazo de páginas local. Por lo tanto, el reemplazo de páginas locales es solo una alternativa al reemplazo de páginas globales en un escenario de destrucción.

Causas de la paliza

Los programas o cargas de trabajo pueden causar ataques y provocar problemas graves de rendimiento, como:

  • Si la utilización de la CPU es demasiado baja, aumentamos el grado de multiprogramación introduciendo un nuevo sistema. Se utiliza un algoritmo de reemplazo de página global. El programador de CPU ve la utilización decreciente de la CPU y aumenta el grado de multiprogramación.
  • La utilización de la CPU se traza en función del grado de multiprogramación.
  • A medida que aumenta el grado de multiprogramación, también aumenta la utilización de la CPU.
  • Si se aumenta aún más el grado de multiprogramación, se produce un thrashing y el uso de la CPU cae drásticamente.
  • Entonces, en este punto, para aumentar la utilización de la CPU y detener el thrashing, debemos disminuir el grado de multiprogramación.

Cómo eliminar la paliza

La paliza tiene algunos impactos negativos en la salud del disco duro y el rendimiento del sistema. Por ello, es necesario tomar algunas acciones para evitarlo. Para resolver el problema de la paliza, estos son los siguientes métodos, como:

    Ajuste el tamaño del archivo de intercambio:Si el archivo de intercambio del sistema no está configurado correctamente, usted también puede sufrir una paliza del disco.Aumente la cantidad de RAM:Como la memoria insuficiente puede causar daños en el disco, una solución es agregar más RAM a la computadora portátil. Con más memoria, su computadora puede manejar tareas fácilmente y no tiene que trabajar excesivamente. Generalmente, es la mejor solución a largo plazo.Disminuya la cantidad de aplicaciones que se ejecutan en la computadora:Si hay demasiadas aplicaciones ejecutándose en segundo plano, los recursos de su sistema consumirán mucho. Y el recurso restante del sistema es lento, lo que puede provocar daños. Entonces, al cerrar, algunas aplicaciones liberarán algunos recursos para que puedas evitar la paliza hasta cierto punto.Reemplazar programas:Reemplace aquellos programas que ocupan mucha memoria con equivalentes que usan menos memoria.

Técnicas para prevenir la paliza

El reemplazo de la página local es mejor que el reemplazo de la página global, pero el reemplazo de la página local tiene muchas desventajas, por lo que a veces no resulta útil. Por lo tanto, a continuación se presentan algunas otras técnicas que se utilizan para manejar la paliza:

1. Modelo de localidad

Una localidad es un conjunto de páginas que se utilizan activamente juntas. El modelo de localidad establece que a medida que se ejecuta un proceso, se mueve de una localidad a otra. Por lo tanto, un programa generalmente se compone de varias localidades diferentes que pueden superponerse.

Por ejemplo, cuando se llama a una función, define una nueva localidad donde se hacen referencias de memoria a las instrucciones de llamada a la función, variables locales y globales, etc. De manera similar, cuando se sale de la función, el proceso abandona esta localidad.

2. Modelo de conjunto de trabajo

Este modelo se basa en el concepto mencionado anteriormente de Modelo de Localidad.

El principio básico establece que si asignamos suficientes marcos a un proceso para acomodar su localidad actual, solo fallará cuando se mueva a una nueva localidad. Pero si los fotogramas asignados son menores que el tamaño de la localidad actual, el proceso está destinado a fallar.

Según este modelo, basándose en el parámetro A, el conjunto de trabajo se define como el conjunto de páginas en las referencias de páginas 'A' más recientes. Por lo tanto, todas las páginas utilizadas activamente siempre terminarán siendo parte del conjunto de trabajo.

c++ dividiendo cadena

La precisión del conjunto de trabajo depende del valor del parámetro A. Si A es demasiado grande, los conjuntos de trabajo pueden superponerse. Por otro lado, para valores más pequeños de A, es posible que la localidad no esté cubierta por completo.

Si D es la demanda total de marcos y WSSies el tamaño del conjunto de trabajo para el proceso i,

D = ⅀ WSSi

Ahora bien, si 'm' es el número de fotogramas disponibles en la memoria, existen dos posibilidades:

  • D>m, es decir, la demanda total excede el número de fotogramas, entonces se producirá una paliza ya que algunos procesos no obtendrán suficientes fotogramas.
  • D<=m, then there would be no thrashing.< li>

Si hay suficientes fotogramas adicionales, se pueden cargar algunos procesos más en la memoria. Por otro lado, si la suma de los tamaños de los conjuntos de trabajo excede la disponibilidad de los marcos, algunos de los procesos deben suspenderse (intercambiarse sin memoria).

Esta técnica evita la paliza y garantiza el mayor grado de multiprogramación posible. Por tanto, optimiza la utilización de la CPU.

3. Frecuencia de fallas de página

Un enfoque más directo para manejar la paliza es el que utiliza el concepto de frecuencia de error de página.

¿Qué es el Trash?

El problema asociado con la paliza es la alta tasa de fallas de página y, por lo tanto, el concepto aquí es controlar la tasa de fallas de página.

Si la tasa de errores de página es demasiado alta, indica que el proceso tiene muy pocos fotogramas asignados. Por el contrario, una tasa baja de fallos de página indica que el proceso tiene demasiados fotogramas.

Se pueden establecer límites superior e inferior en la tasa de fallas de página deseada, como se muestra en el diagrama.

Si la tasa de errores de página cae por debajo del límite inferior, los marcos se pueden eliminar del proceso. De manera similar, si la tasa de errores de página excede el límite superior, se pueden asignar más marcos al proceso.

En otras palabras, el estado gráfico del sistema debe mantenerse limitado a la región rectangular formada en el diagrama dado.

Si la tasa de fallas de página es alta y no hay marcos libres, algunos de los procesos se pueden suspender y los asignados a ellos se pueden reasignar a otros procesos. Los procesos suspendidos pueden reiniciarse más tarde.