Sistemas operativos modernos

AO 10 AO AO A1 7 A1 Al A2 5 A2 A2 A3 4 A3 A3 A4 6 A4 A4 A5 3 C ® A5 BO 9 BO BO B1 4 81 B1 82 6 82 B2 83 2 83 84 5 84 B4 85 6 85 B5 86 12 86 B6 C1 3 01 01 C2 5 02 02 C3 6 03 03 (a) (b) (c) Figura 4-28. Reemplazo de páginas local y global, a) Configuración original, b) Reemplazo de páginas local, c) Reemplazo de páginas global. na asignará a cada proceso. Una forma de hacerlo es supervisar el tamaño del conjunto de tra­ bajo con base en los bits de envejecimiento, pero este enfoque no necesariamente previene la hiperpaginación. El tamaño del conjunto de trabajo podría cambiar en microsegundos, mien­ tras que los bits de envejecimiento son una medida burda que abarca varios tics del reloj. Otro enfoque consiste en tener un algoritmo que asigne marcos de página a los procesos. Una forma de hacerlo es determinar en forma periódica el número de procesos ejecutables y asignar a cada proceso una porción equitativa. Así, con 12,416 marcos de página disponibles (es decir, no ocupados por el sistema operativo) y 10 procesos, cada proceso recibe 1241 mar­ cos. Los seis restantes integran una reserva que se usará cuando se presenten fallos de página. Aunque este método parece equitativo, no tiene mucha lógica asignar porciones iguales de la memoria a un proceso de 10 KB y a uno de 300 KB. En vez de eso, las páginas podrían re­ partirse en proporción al tamaño total de cada proceso, de modo que un proceso de 300 KB ob­ tendría 30 veces más que uno de 10 KB. Tal vez sería prudente asignar a cada proceso una cantidad mínima para que pueda ejecutarse por pequeño que sea. Por ejemplo, en algunas má­ quinas, una sola instrucción de dos operandos podría requerir hasta seis páginas porque la ins­ trucción misma, el operando de origen y el operando de destino podrían cruzar fronteras de página. Con una asignación de sólo cinco páginas, un programa no podría ejecutarse con una instrucción así. Si se emplea un algoritmo global, es posible iniciar cada proceso con cierto número de pá­ ginas proporcional a su tamaño, pero la asignación deberá actualizarse en forma dinámica a medida que se ejecuten los procesos. Una forma de administrar la asignación es utilizando el algoritmo de frecuencia de fallos de página (PFF; page fault frequency). Éste indica cuándo hay que aumentar o reducir el número de páginas asignadas al proceso, pero no dice nada acer­ ca de cuál página reemplazar si hay un fallo; sólo controla el tamaño del conjunto asignado.

RkJQdWJsaXNoZXIy MjI4NDcx