thrasing
DESCRIPTION
HiperpaginacionTRANSCRIPT
-
2.2 Hiperpaginacin
-
Qu es el Thrashing? Los sistemas operativos multi-procesos, deben
administrar la memoria de la mejor manera posible
para que todos los procesos coexistan. Para esto, el
SO. usa una tcnica llamada paginacin, que divide la
memoria en distintas pginas que le son asignadas a
cada proceso.
El Thrashing ocurre cuando subsistema de memoria
virtual de un equipo est en un estado constante de
paginacin, intercambiando rpidamente datos en la
memoria con datos en el disco. Esto causa que el
rendimiento del equipo se degrade o colapse.
-
El aumento de la carga en una memoria de
tamao fijo hace que la particin promedio
disminuya, obligando a un aumento en la tasa de
fallos de pgina. La carga a la cual el tiempo
medio entre fallos de pgina de la CPU es igual al
tiempo de servicio de disco es un punto clave:
Con cargas superiores, la mayora de trabajos se
ponen en cola en el disco de paginacin, que se
convierte en el cuello de botella del sistema.
-
Como ejemplo, considere un trabajo que requiere 1
segundo de tiempo de CPU en un sistema con un tiempo
de servicio de error de pgina de 10 milisegundos. En una
pequea carga, el trabajo consigue un particin grande y
genera (por ejemplo) 20 fallos de pgina, que requieren
un total de 0,2 segundos de tiempo de disco; la eficiencia
de la CPU de este trabajo es
1 / (1 + 0,2) = 0,83. En una carga intermedia, la particin
del trabajo se ha apretado un poco y se genera (por
ejemplo) 100 fallos de pgina; la eficiencia de la CPU se
reduce a 0,5. En una carga del sistema grande, la
particin del trabajo se ha exprimido mucho y genera (por
ejemplo) 1.000 errores de pgina; su eficiencia se reduce
a 0,09. En las cargas pequeas, el trabajo se encuentra
CPU-bound; en las grandes cargas, es Disk-bound.
-
Cmo solucionarlo?
La solucin al Thrashing es un controlador de carga que
permite a todos los trabajos el espacio de memoria
suficiente para mantener su eficiencia de CPU a 0,5 o
superior. Para lograr esto, un controlador de carga separa
los trabajos enviados en dos conjuntos: activos y en
espera. A los trabajos activos se les permite mantener el
espacio en la memoria principal. El resto de trabajos
estn en espera. El criterio del conjunto de trabajo es el
ideal para decidir cundo activar un trabajo en espera.
-
Referencias:
Tanenbaum & Woodhull, Operating Systems: Design and Implementation, (c)
2006 Prentice-Hall, Inc.