GESTION DE MEMORIA.
Subdivisión de la
memoria haciendo lugar a varios procesos, llevando la cuenta de las partes de
memoria que se están utilizando y las que están libres y así gestionar el
cambio de información entre la memoria principal y la memoria secundaria.
Ganancias:
_COMPARTIMENTO: permite el acceso a varios procesos a la misma
zona de la memoria principal para poder compartir y actualizar estructuras de
datos comunes.
_ 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.
* PARTICIONES ESTÁTICAS
la memoria se divide en
partes iguales.
* FRAGMENTACION INTERNA
cualquier programa, sin
importar lo pequeño que sea, ocupará una partición completa y se perderá lo que
sobra.
* PARTICIONES DINÁMICAS
al proceso se le asigna
la memoria exacta que necesita el proceso.
* FRAGMENTACION EXTERNA
fragmentos de memoria
no asignados a un proceso que no pueden ser utilizados por ningún proceso al
ser pequeños.
ALGORITMO DE UBICACIÓN CON PARTICIONES DINÁMICAS
Mejor Ajuste (bestfit):
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.
REUBICACION:
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.
PAGINACION:
Divide en pequeñas
partes del mismo tamaño a la memoria y a los programas.
TABLA DE PAGINAS:
Parte integral del
sistema de memoria virtual del sistema operativo cuando se utiliza paginación.
Son usadas para realizar las traducciones de direcciones en 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 cuando la pagina solicitada para su ejecución acaba de ser bajada a la memoria virtual, el procesador consume mas tiempo intercambiando fragmentos que ejecutando instrucciones de usuario.
TABLA DE PAGINACION
Existen 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.
CONJUNTO RESIDENTE.
tamaño:
** 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.
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 el conjunto
residente mas pequeño.
* El proceso mayor.
* Proceso con mayor ventana de ejecución
restante.