thrasing

6
2.2 Hiperpaginación

Upload: didier-gomez-lemus

Post on 06-Sep-2015

218 views

Category:

Documents


0 download

DESCRIPTION

Hiperpaginacion

TRANSCRIPT

  • 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.