Tamaño de página e hiperpaginación
Uno de los aspectos importantes en el diseño del sistema operativo lo constituye el tamaño de página. Por un lado, entre menor sea el tamaño de la página menor será la fragmentación interna que se produce, lo cual optimiza el uso de la memoria principal.
Sin embargo, cuanto menor sea está división, mayor es la cantidad de páginas requeridas en memoria, pues aumenta el tamaño de la tabla de páginas y la probabilidad de fallos de página incrementa también, necesitándose recurrir con mayor frecuencia a la función de intercambio.
De otro lado, en la medida en que el tamaño de página sea mayor, la función de intercambio se podrá optimizar dado que la memoria virtual se basa en el HD y, como ya se observó, la transferencia de datos se optimiza en la medida en que el bloque transferido es mayor.
Lo anterior se complica aún más con el principio de cercanía de referencia, el cual consiste en que después de un tiempo, todas las páginas en memoria contendrán partes de las referencias más recientes del proceso y la tasa de fallo de páginas será menor. Sin embargo, al incrementar el tamaño de página cada una de ellas contendrá posiciones cada vez más distantes de cualquier referencia reciente, aumentando la tasa de fallos de página.
Ahora bien, un excesivo uso de la función de intercambio, debido al incremento de la tasa de fallos de página, dará como resultado la posibilidad de que justo la página candidata al salir de la memoria principal, para un intercambio, sea solicitada por la siguiente instrucción. De esta forma, el sistema deberá volver a ejecutar otro intercambio sin haber ejecutado nada productivo para el proceso, este fenómeno es denominado hiperpaginación (thrashing).
También se puede presentar cuando un proceso comienza a necesitar más marcos de página de los que dispone. Es aquí donde el proceso puede llegar a utilizar algunos marcos de otro proceso que probablemente también entre en hiperpaginación, derivando en un funcionamiento general de bajo rendimiento, ya que el sistema ocupa más tiempo paginando que ejecutando.