Gestión de Memoria

La memoria se subdivide para hacer sitio a varios procesos, el cual lleva la cuenta de las partes de memoria que se están utilizando y las que están libres, así para gestionar el cambio de información entre la memoria principal y la memoria secundaria.   


OBJETIVOS


Reubicación: consiste en traducir las direcciones lógicas a direcciones físicas,                            el cual permite crear un espacio lógico independiente para cada proceso.
Compartimento: permite el acceso a varios procesos a la misma zona de la memoria principal para poder compartir y actualizar estructuras de datos comunes.
Protección: El código de un proceso no puede hacer referencia a posiciones de memoria de otros, si varios procesos comparten la memoria principal, se debe asegurar que ninguno de ellos pueda modificar posiciones de memoria de otro proceso procesos sin permiso.

Particiones Estáticasla memoria se divide en partes iguales.

Fragmentacion Internacualquier programa, sin importar lo pequeño que sea, ocupará una partición completa y se perderá lo que sobra y a esto se le llama

Particiones Dinámicas 
al proceso se le asigna la memoria exacta que necesita el proceso.





Fragmentacion Externa
Fragmentos de memoria no asignados aun proceso que no pueden ser utilizados por 
ningún proceso por ser pequeños.

Se debe usar la compactación para desplazar los procesos que estén contiguos, de forma que toda la memoria libre quede junta en un bloque


Algoritmo De Ubicación Con Particiones Dinámicas


  • Mejor Ajuste(best-fit)                                                                                                   Selecciona el bloque disponible del tamaño mas próximo al solicitado.
  • Primer Ajuste(first-fit)                                                                                                       Selecciona el primer bloque disponible de tamaño suficientemente grande.
  • Siguiente Ajuste(next-fit)                                                                                                          Desde la ultima ubicación elige el bloque disponible.
  • Peor Ajuste(bad-fit)                                                                                                        Genera una lista organizada de los huecos en memoria.                               



Reubicación
El proceso se carga en la memoria, se determina la ubicación real. Tal proceso puede ocupar diferentes posiciones absolutas de la memoria durante su ejecución. 


Direcciones
Lógica: se refiere a la posición de memoria independiente de la asignación actual de datos de la memoria.
Relativa: la dirección de expresa como una posición relativa a algún punto conocido.
Física: es la posición real en la memoria principal. 


Paginación.
Divide en pequeñas partes del mismo tamaño a la memoria y a los programas.

TABLA DE PAGINAS
Son una parte integral del sistema de memoria virtual del sistema operativo
cuando se utiliza paginaron. Son usadas para realizar las traducciones de 
direcciones de memoria virtual.

MEMORIA VIRTUAL

La memoria virtual es un espacio creado por la memoria física para disponer y brindarle mas espacio de memoria al usuario.
.


HIPERPAGINACION
Se produce hiperpaginacion cuando la pagina solicitada para su ejecución acaba de ser bajada a  la memoria virtual, en el cual el procesador consume mas tiempo intercambiando fragmentos que ejecutando instrucciones de usuario.



TABLA DE PAGINACION
Hay tres tipos de bit:
bit de presencia: indica que se encuentra en la memoria principal
bit de modificación  indica que la pagina a sido modificada
bit  de accedido: nos indica los procesos que menos se usa


ALGORITMOS DE REMPLAZO
Optimo: tiene como finalidad retirar la pagina que vaya a ser referenciada mas tarde.
Primero en entrar, primero en salir(FIFO): el sistema operativo solo tiene que guardar en que orden las paginas fueron cargadas, de modo que al no necesitar hacer espacio pueda fácilmente elegir la primera pagina cargada.
Segunda oportunidad: es una pequeña modificación de FIFO. cuando la pagina debe ser sacada se toma la primera en la cola y en vez de sacarla consulta el valor de un bit de referencia.
Reloj:(ultimo en llegar primero en salir)lo que hace es tener una lista circular, de forma que al llegar al ultimo elemento de la lista,pasa automáticamente al primero.
No usadas recientemente: cuando una pagina es referenciada, fija el bit de referencia para esa pagina. similar mente, cuando una pagina es modificada, fija su bit de modificación.
Menos usadas recientemente: este algoritmo difiere de de "no usada recientemente" en el hecho de que aquel solo se fija en el intervalo de tiempo desde que se pusieron en 0 los bits de referencia de las paginas, mientras el algoritmo de "menos usada recientemente" intenta proveer un comportamiento casi optimo mediante la observación de las paginas que menos fueron usada.


TAMAÑO DEL CONJUNTO RESIDENTE
 Asignación fija(local): otorga a cada proceso un numero fijo de paginas en las que ejecutar.
Asignación variable(global): permite que el numero de marcos asignados a un proceso cambie a lo  largo de su vida.

POLÍTICAS DE VACIADO
Forma como se bajan las paginas de la memoria principal a la memoria secundaria

Vaciado Por Demanda:una pagina se escribirá en la memoria secundaria solo cuando haya sido  elegida para remplazarse  fácil y rápido.
Vaciado Previo:escribe la pagina modificada por lotes  requiere saber las paginas que están mas cerca (principio de cercanía).



ALMACENAMIENTO INTERMEDIO
Se hace una lista del conjunto residente de la paginas que han sido modificadas y las que
no han sido modificadas.


Suspensión de procesos
Procesos con prioridad mas baja.
Procesos con fallos de pagina.
Ultimo proceso activo.
Proceso con l conjunto residente mas pequeño.
El proceso mayor.
 Proceso con mayor ventana de ejecución restante.


No hay comentarios:

Publicar un comentario