sistema operativo, administracioin de momoria

Administración de la memoria

Cómo funciona la administración de memoria en los sistemas operativos?

La función principal del administrador de memoria es administrar la memoria con eficiencia, llevar los registros de cuales partes de la memoria están en uso, asignar memoria a procesos cuando la necesitan y liberar la memoria cuando los procesos terminen.

  • Al principio toda la memoria está vacía excepto por el espacio ocupado por el sistema operativo.
  • Llega un proceso y este ocupara una parte del espacio disponible.
  • El espacio no ocupado será el espacio disponible para otro programa o proceso.
  • Si otro proceso desea ocupar un espacio en la memoria, esta primero verificara que cuenta con espacio disponible, de no contar con suficiente espacio lo enviara a cola de procesos, hasta que algún proceso termine y cuente con suficiente espacio.
  • Cuando un proceso termina la zona de memoria ocupada por este proceso es liberada y se convierte en espacio disponible.
  • Se conservan una tabla de partes de memoria ocupadas, una de partes de memoria libres y la cola de entrada de procesos en memoria.

Los diferentes tipos de memoria:

Sin abstracción de memoria:

Es la más simple de los tipos de memoria, usada por los primeros computadores mainframe. Con este tipo de memoria cada programa simplemente veía la  memoria física, bajo estas condiciones al principio no se podía tener dos programas ejecutándose en memoria al mismo tiempo

Ejemplo: si un programa escribe un valor en la ubicación X, se borra cualquier valor que el segundo programa haya tenido en esa ubicación, por lo tanto ambos programas fallarían de inmediato.

Una abstracción de memoria: espacios de direcciones:

Esta es una Versión muy simple de la ubicación dinámica, consiste en asociar el espacio de direcciones de cada proceso sobre una parte distinta de la memoria física, los programas se cargan en ubicaciones consecutivas de memoria en donde haya espacio y sin reubicación durante la carga.

Memorial virtual:

La memoria virtual, permite simular una memoria RAM de mayor tamaño que la que tienes instalada en tu equipo. Es un mecanismo del cual se encarga el sistema operativo.

  • Este tipo de memoria permite separar la memoria lógica del usuario de la memoria física.
  • Un proceso en ejecución no tiene porque encontrarse totalmente en memoria principal, solo una parte de este.
  • Ahora un proceso puede ser mayor que la memoria física.
  • Permite transferencia de información entre memoria principal y secundaria.
  • Usa un dispositivo de almacenamiento secundario como dispositivo de intercambio.

Descripción  y gráfica de los Algoritmos de remplazo de páginas

Los Algoritmos de reemplazo de página son aquellos algoritmos de sistemas operativos que están diseñados para solucionar el problema de decidir qué página de las que reside en memoria bajo un frame o marco debe salir para dejar entrar a otra que está siendo referenciada.  Al ser los reemplazos de página fundamentales para la paginación bajo demanda, es importante que los sistemas operativos implementen los algoritmos más efectivos.

Algoritmo FIFO:

El algoritmo FIFO reemplaza las páginas de la forma que el primero que entra es el primero que sale.

Algoritmo Óptimo:

El Algoritmo Óptimo, también conocido como OPT elige la página de la memoria que vaya a ser referenciada más tarde, las páginas se rotulan con el número de instrucciones que se ejecutarán antes de que se haga la primera referencia a ella y cuando se presenta un fallo de página, se reemplaza la que más instrucciones falten para referenciarla y así ir aplazando lo más que se pueda los fallos de página.

Algoritmo LRU:

La estrategia consiste en llevar a disco la página que ha permanecido por más tiempo sin ser accesada, El fundamento de esta estrategia es que estadísticamente se observa que mientras más tiempo permanece una página sin ser accesada, menos probable es que se accese en el futuro inmediato.

Algoritmo de Segunda Oportunidad

Este es un algoritmo que deriva del algoritmo FIFO. El Algoritmo de Segunda Oportunidad evita deshacerse de una página de uso frecuente, hace uso del bit R inspeccionándolo de tal forma que, si es 0, la página es antigua y no utilizada, por lo que, en caso de fallo de página, es reemplazada de manera inmediata. En caso de que dicho bit sea 1, es cambiado a cero y se cambia al final de la lista de páginas como si hubiera llegado en ese momento a la memoria. Luego continúa la búsqueda siguiendo lo que avanza en la lista.

Algoritmo NRU:

Es uno de los esquemas que intentan aproximarse al algoritmo LRU. Específicamente es una modificación del algoritmo de segunda oportunidad, el cual considera el bit de referencia R y el bit de modificación M como un par ordenado (R, M) respectivamente.

Algoritmo LFU

Este pide que la página con el menor contador sea reemplazada. Esto se justifica en que una página usada con mucha frecuencia tendrá un contador más grande. Un problema de este esquema es cuando una página es usada intensamente durante la fase inicial de un proceso y luego no vuelve a ser usada, lo cual genera un contador mucho mayor y la página permanece en memoria sin poder ser sacada.

Algoritmo Aging:

Este algoritmo desciende del NFU, mejorándolo al realizar un corrimiento de 1 bit a la derecha antes de aumentar el contador de uso en 1 bit a la izquierda en su forma binaria. Esto provoca que las páginas cuyas referencias son más actuales tengan más importancia que aquellas que fueron referidas hace tiempo, asegurando que páginas usadas recientemente pero no frecuentemente tengan mayor prioridad frente a páginas usadas hace tiempo pero con mayor referencia. Así la página con el menor contador es elegida para ser reemplazad.

Algoritmo MFU:

El algoritmo Most frequently used (MFU) o Más frecuentemente utilizado, que al contrario del LFU está basado en el argumento de que la página con el menor contador fue probablemente traída hace poco y aún no ha sido usada, por lo que la página con el mayor contador será la «víctima» en este caso.

Qué son las cuestiones de diseños para los sistemas de paginación y Cuestiones de implementación.

Cuestiones de diseños:

Es una técnica de manejo de memoria, en la cual el espacio de memoria se divide en secciones físicas de igual tamaño. Los programas se dividen en unidades lógicas que tienen el mismo tamaño que los marcos de páginas, de esa manera se puede cargar mas paginas de información en cualquier marco de pagina en memoria.

Cuestiones de implementación:

Participación del sistema operativo en la paginación:

  1. Crear un proceso
  2. Ejecutar un proceso
  3. Fallo de página
  4. Terminar un proceso

Manejo de fallos de página:

El hardware hace un trap al kernel y se guarda cierta información acerca del estado de las instrucciones especiales de la CPU.

Qué es la Segmentación y cuál es su importancia dentro de la memoria:

Es un esquema de manejo de memoria mediante el cual la estructura del programa refleja su división lógica, llevándose a cabo una agrupación lógica de la información en bloques de tamaño variable denominados segmentos y cada uno de ellos tiene información lógica del programa.

1 comentario en “Administración de la memoria”

  1. Pingback: Los Sistemas de Archivos – AGdiscover

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *