Un conjunto de trabajo es un concepto en informática que determina la cantidad de memoria requerida por un proceso en un intervalo de tiempo determinado.
En otras palabras, el conjunto de trabajo de un proceso es el conjunto de páginas en el espacio de direcciones virtuales del proceso que se encuentran actualmente en la memoria física [1] (asignadas al espacio de direcciones del proceso).
Peter Denning (1968) define "el conjunto de informaciónde trabajo de un proceso en un punto en el tiempocomo el conjunto de información referenciado por un proceso durante un intervalo de tiempo" [2] . Por lo general, una página de memoria se toma como una unidad de información . Se propone pensar en el conjunto de trabajo como una estimación aproximada del conjunto de páginas a las que accederá el proceso en el futuro (por ejemplo, dentro de las próximasunidades de tiempo) y, lo que es más importante, como un indicador de qué páginas deben mantenerse en la memoria principal para que el proceso se ejecute más rápido.
Para el rendimiento, importa qué páginas permanecen en la memoria principal (a diferencia de las páginas que se desplazan a la memoria auxiliar): dejar demasiadas páginas propiedad de un proceso en la memoria principal reducirá la cantidad de procesos que pueden ejecutarse simultáneamente. Si quedan muy pocas páginas de proceso en la memoria principal, la tasa de fallas de página se disparará y la cantidad de procesos activos actualmente en ejecución tiende a cero.
De acuerdo con el modelo de conjunto de trabajo , un proceso puede estar en RAM si y solo si el conjunto de todas sus páginas utilizadas actualmente (o el conjunto de páginas utilizadas más recientemente, que a menudo se usa como una aproximación) puede estar en RAM. El modelo funciona según el principio de "todo o nada", es decir, si la cantidad de páginas de memoria que necesita el proceso crece y no hay espacio libre en la RAM, entonces el proceso se descarga de la memoria por completo para liberar memoria para uso de otros procesos.
A menudo, una computadora muy cargada puede tener tantos procesos en la cola que, si se permite que se ejecuten en el mismo intervalo de tiempo , la cantidad de memoria a la que se refieren excederá la cantidad de RAM, lo que resultará en una paliza de la memoria virtual .
La descarga de algunos procesos de la memoria hace que la ejecución de todos los procesos, incluso los descargados temporalmente de la memoria, se complete mucho antes que al intentar iniciar todos los procesos al mismo tiempo. La ejecución del proceso terminará mucho antes que ejecutar cada proceso uno a la vez, ya que la simultaneidad permite que un proceso se ejecute mientras otros esperan que se complete el acceso al disco duro u otros recursos globales. En otras palabras, la estrategia del conjunto de trabajo evita la hipertrofia de la memoria virtual al tiempo que mantiene un alto grado de multiprogramación . Por lo tanto, esta estrategia optimiza la utilización de la CPU y el ancho de banda.
La principal dificultad para implementar el modelo descrito es hacer un seguimiento del conjunto de trabajo. Para hacer esto, de todo el flujo de accesos del proceso a las páginas de memoria, se rastrean los últimos accesos durante un intervalo de tiempo llamado ventana del conjunto de trabajo. Con cada acceso a la memoria, se agrega un nuevo enlace a la página al comienzo de la ventana, y el enlace más antiguo está fuera de ella. Se considera que una página pertenece al conjunto de trabajo si hay un enlace a ella en la ventana del conjunto de trabajo [3] .
Para evitar la sobrecarga asociada con el almacenamiento de una gran cantidad de referencias a páginas de memoria, el cálculo del conjunto de trabajo a menudo se implementa al realizar un seguimiento de la última vez que se accedió a una página de memoria. Se considera que una página pertenece al conjunto de trabajo si la diferencia entre la hora actual y la hora del último acceso no supera el tamaño de la ventana del conjunto de trabajo. Si esta diferencia supera el tamaño de la ventana, es posible que se elimine la página.
La estrategia del conjunto de trabajo no es un algoritmo de reemplazo de página; sin embargo, los algoritmos de reemplazo de página pueden tener en cuenta el conjunto de trabajo de un proceso y no eliminar las páginas que posee. Por ejemplo, existe una versión modificada del algoritmo de reloj llamada WSClock.
de los sistemas operativos | Aspectos|||||
---|---|---|---|---|---|
| |||||
Tipos |
| ||||
Núcleo |
| ||||
Gestión de procesos |
| ||||
Gestión y direccionamiento de memoria | |||||
Herramientas de carga e inicialización | |||||
caparazón | |||||
Otro | |||||
Categoría Wikimedia Commons Wikilibros Wikcionario |