Sistemas operativos modernos

gina virtual específica. Por tanto, en lo conceptual, el acceso de un proceso a la memoria pue­ de representarse con una lista (ordenada) de números de página. Esta lista se denomina cade­ na de referencias y desempeña un papel central en la teoría. Por sencillez, en el resto de esta sección consideraremos únicamente el caso de una máquina con un solo proceso, de modo que habrá una sola cadena de referencias determinista (si hubiera múltiples procesos, tendríamos que tomar en cuenta ia intercalación de sus cadenas de referencias, debido a la multiprograma- ción). Un sistema de paginación puede representarse con tres elementos: 1. La cadena de referencias del proceso en ejecución. 2. El algoritmo de reemplazo de páginas. 3. El número de marcos de página con que cuenta la memoria, m. Imaginemos un intérprete abstracto que funciona como sigue. Se mantiene un arreglo interno, M, que registra el estado de la memoria. M tiene tantos elementos como el proceso tiene pági­ nas virtuales, cifra que llamaremos n. Además, dicho arreglo se divide en dos partes. La parte superior, con m elementos, contiene todas las páginas que están actualmente en la memoria. La inferior, con n - m elementos, contiene todas las páginas a las que se ha hecho referencia una vez pero que se han intercambiado a disco y ya no están en la memoria. En un principio, M es el conjunto vacío, pues no se ha hecho referencia a ninguna página, y no hay páginas en la me­ moria. Al iniciar la ejecución, el proceso comienza a solicitar las páginas de la cadena de referen­ cias, una por una. Conforme llega cada solicitud, el intérprete verifica si la página está en la memoria (es decir, en la parte superior de M). Si no está, hay un fallo de página. Si hay una ra­ nura vacía en la memoria (es decir, si la parte superior de M contiene menos de m números de página), la página se carga y se inserta en la parte superior de M. Esta situación sólo se presen­ ta al principio de la ejecución. Si la memoria está llena (es decir, si la parte superior de M con­ tiene m entradas), se invoca el algoritmo de reemplazo de páginas para que desaloje una página de la memoria. En el modelo, lo que sucede es que una página se pasa de la parte superior de A/ a la inferior, y el número de la página requerida se anota en la parte superior. Además, la parte superior y la inferior podrían reacomodarse por separado. A fin de hacer más claro el funcionamiento del intérprete, examinemos un ejemplo concre­ to empleando reemplazo de páginas LRU. El espacio de direcciones virtual tiene ocho páginas y la memoria física fiene cuatro marcos de página. En la parte superior de ia figura 4-25 tene­ mos una cadena de referencias que consiste en las 24 páginas: 0 2 1 3 5 4 6 3 7 4 7 3 3 5 5 3 1 1 1 7 2 3 4 1 Debajo de la cadena de referencias tenemos 25 columnas de ocho elementos cada una. La primera columna, que está vacía, refleja el estado de M antes de iniciarse la ejecución. Cada columna suce­ siva muestra M después de que se ha solicitado una página y que el algoritmo de página ha proce­ sado la solicitud. El contorno grueso denota la parte superior de M, es decir, las primeras cuatro ranuras, que corresponden a marcos de página en la memoria. Las páginas que están dentro del rectángulo grueso están en la memoria, y las que están abajo se han intercambiado a disco.

RkJQdWJsaXNoZXIy MjI4NDcx