CLASE N 5 Segunda Clase Administrador De Memoria Paginaci N
Los sistemas de gestión de memoria hasta ahora mencionados, están sujetos al
hecho que el programa a ejecutar debe estar totalmente cargado en memoria
principal para poder operarlo.
El crecimiento del tamaño de los programas trajo como consecuencia que los
mismos pueden exceder su tamaño con respecto a la partición de memoria a
asignada. Los creadores de los sistemas operativos requerían crear alguna
alternativa que permitiera la ejecución de estos programas, evitando así la
correspondiente división del mismo para su ejecución por partes.
Surgiendo entonces el concepto de MEMORIA VIRTUAL la cual se basa en que
los programas pueden con certeza ser de mayor tamaño a la memoria real a
asignar.
El programa en ejecución se mantiene en memoria secundaria (DISCO) y se
lleva a memoria principal
aquella(s) parte(s) del programa que va a ser
ejecutado, en forma discontinua (diferentes partes de partición no continuas),
permaneciendo en disco duro el resto del mismo, intercambiando (swapin swapout) dichos pedazos entre disco y memoria según se requiera.
Esta técnica se llama paginación la cual se maneja como a continuación se
expresa:
1. La memoria física se divide en trozos (particiones) cada uno del mismo
tamaño llamados FRAMES = MARCOS, el conjunto de marcos que
conforman la memoria física se llama “ESPACIO REAL DE
DIRECCIONES”, real si, ya que allí es de donde se extrae la información
para ejecutar en el procesador.
2. La memoria lógica (o virtual) también se divide en bloques del mismo
tamaño (entre ellos y mismo tamaño de los marcos) y recibe el nombre
de PÁGINAS. El conjunto de direcciones ó paginas donde se encuentra el
programa a ejecutar en memoria secundaria o virtual se llama “ESPACIO
VIRTUAL DE DIRECCIONES”
Cuando un programa se va a ejecutar solo se lleva a los marcos aquellas partes o
paginas del programa que se ejecutan.
Para saber qué página está en qué marco, se requiere un puente que las asocie,
La TABLA DE PÄGINAS, que no es mas que un vector cuyo índice indica la
pagina del programa en ejecución, y su contenido (del vector) el marco donde
ella (la pagina) se encuentra en memoria principal.
Pueden existir varios programas ejecutándose a vez, cada uno con su tabla
de páginas independiente, pero compartiendo la misma memoria principal.
Cuando el procesador requiere una dirección virtual para ser ejecutada, este lo
debe buscar en memoria real y hacer la transformación a la dirección de
memoria física correspondiente.
PASOS QUE SIGUE EL ADMINISTRADOR DE MEMORIA DURANTE
LA ADMINISTRACIÓN DE PROCESOS O PROGRAMAS
1. El procesador pide ejecutar una dirección que se encuentra en memoria
virtual la dirección requerida esta en disco
2. El administrador busca la dirección dentro de las direcciones virtuales identificando en qué pagina se encuentra dicha dirección.
3. Con ayuda de la tabla de páginas, busca el marco ó frame donde se
encuentra esta pagina (en memoria principal).
4. Si se encuentra en memoria principal, quiere decir, que el contenido del
vector indica el marco donde se encuentra la pagina en cuestión. Transformará la dirección virtual en dirección real de memoria física.
5. Si la pagina no se encuentra en memoria, el contenido del vector Tabla de
memoria tendrá como contenido “X”, entonces:
el administrador buscará un frame vacío, pudiendo suceder:
6. Que haya un frame vacío, entonces se carga la página a ejecutar en el
frame encontrado, se actualiza la tabla de paginas indicando el frame
donde la página quedó, y se ejecuta.
7....
Regístrate para leer el documento completo.