Filosofía
|
La memoria principal puede ser considerada como un arreglo lineal de
localidades de almacenamiento de un byte de tamano. Cada localidad de
almacenamiento tiene asignada una direccion que la identifica.
Una de las funciones basicas que debe implementar un SO es la
Administracion de la Memoria para tener un control sobre los lugares donde
estan almacenados los datos y procesos que actualmente se estan utilizando.
Sea cual sea es esquema de organizacion del almacenamiento que se
adopte para un sistema especifico es necesario decidir que estrategias se
deben utilizar para obtener un rendimiento optimo.
|
Políticas
|
FIFO: Los procesos se despachan de acuerdo a su tiempo de llega a la
cola de procesos listos, si un proceso llega al procesador sale hasta que
termine. La politica FIFO actualmente no se usa como el esquema principal de
un sistema, pero si por ejemplo cuando se usa una politica de prioridades y
hay procesos con la misma prioridad, a estos se les podria aplicar FIFO.
Round Robin: Los procesos se despachan en la forma que lo hace el
FIFO, pero se les asigna una cantidad limitada de tiempo (CUANTUM) en el
procesador, si no termina en ese lapso se manda al final de la lista de
procesos listos.
SJF (Shortest job first - Prioridad del trabajo mas corto): Se ejecuta
primero el proceso en espera que tiene el menor tiempo estimado. SJF favorece
a los procesos cortos, ya que los largos podrian llegar a rezagarse mucho
tiempo e incluso nunca ejecutarse.
SRT (Sortest remaining
time scheduling ? Tiempo restante mas corto. En SJF una vez que un proceso comienza su
ejecucion continua hasta terminar. En SRT, un proceso en ejecucion puede ser
desposeido por uno nuevo de menor tiempo de ejecucion.
HRN: (highest response
ratio next ? Prioridad de la tasa de respuesta mas alta): Politica no apropiativa
que corrige el retraso excesivo de procesos grandes que produce el SJF, para
asi no caer en un favoritismo excesivo por los procesos cortos, lo logra usando
una formula basada en el tiempo de espera y el tiempo de servicio, con lo
cual la prioridad de cada trabajo no solo esta en funcion del tiempo de
servicio.
Memoria
real
La memoria real o principal es en donde son ejecutados los programas y
procesos de una computadora y es el espacio real que existe en memoria para que
se ejecuten los procesos.
Por lo general esta memoria es de mayor costo que la memoria secundaria, pero el acceso a la informacion contenida en ella es de mas rapido acceso.
Solo la memoria cache es mas rapida que la principal, pero su costo es a
su vez mayor.
Cuando no existe memoria virtual no hay diferenciacion entre el espacio
de direcciones y la memoria real; el espacio de direcciones que puede ser usado
en los programas tiene identico tamano al espacio de memoria real posible. Si
se utiliza memoria virtual, el espacio de direcciones disponibles para los
programas es aquel determinado por el tamano de la memoria virtual implementada
y no el espacio de direcciones provisto por la memoria real disponible (el
espacio de la memoria virtual sera mayor que el de la memoria real).
La
organización y administración de la “memoria principal”, “memoria
primaria” o “memoria real” de un sistema ha sido y es uno de los
factores mas importantes en el
diseño de los S. O. (Ver la figura 3.2.1)
Los términos “memoria” y “almacenamiento” se consideran equivalentes. Los programas y datos deben estar en el almacenamiento principal para:
|
Organización de memoria virtual
Almacenamiento virtual significa la capacidad de
direccionar un espacio de almacenamiento mucho mayor que el disponible en el
almacenamiento primario de determinado sistema de computación.
Esta tecnología apareció en 1960 en la Universidad de
Manchester (Inglaterra), en el sistema “Atlas”.
La ilusión de la memoria virtual está soportada por el
mecanismo de traducción de memoria, junto con una gran cantidad de
almacenamiento rápido en disco duro. Así en cualquier momento el espacio de
direcciones virtual hace un seguimiento de tal forma que una pequeña parte de
él, está en memoria real y el resto almacenado en el disco, y puede ser
referenciado fácilmente.
Debido a que sólo la parte de memoria virtual que está
almacenada en la memoria principal, es accesible a la CPU, según un programa va
ejecutándose, la proximidad de referencias a memoria cambia, necesitando que
algunas partes de la memoria virtual se traigan a la memoria principal desde el
disco, mientras que otras ya ejecutadas, se pueden volver a depositar en el
disco (archivos de paginación).
Los métodos más comunes de implementación son
mediante:
• Técnicas de paginación.
• Técnicas de segmentación.
• Una combinación de ambas técnicas.
Administración
de memoria virtual
La clave del concepto de memoria (almacenamiento) virtual esta en la
disociación:
- De las direcciones a las que hace referencia un programa.
- De las direcciones disponibles en la memoria real (almacenamiento primario).
Mientras el proceso se ejecuta con sus páginas actuales, el sistema
carga las demás páginas que estarán disponibles cuando las requiera el proceso.
El S. O. intenta predecir las páginas que un proceso va a necesitar y a continuación precarga estas páginas cuando hay espacio disponible Mientras el proceso ejecuta sus páginas actuales, el sistema carga páginas nuevas que estarán disponibles cuando el proceso las pida, debido a ello, el tiempo de ejecución de un proceso se puede reducir.
El S. O. intenta predecir las páginas que un proceso va a necesitar y a continuación precarga estas páginas cuando hay espacio disponible Mientras el proceso ejecuta sus páginas actuales, el sistema carga páginas nuevas que estarán disponibles cuando el proceso las pida, debido a ello, el tiempo de ejecución de un proceso se puede reducir.
Es un método mediante el cual, un sistema operativo simula tener
másmemoria principal que la que existe físicamente. Para implementar la
memoriavirtual se utiliza un medio de almacenamiento secundario de alta
velocidad deacceso, generalmente en disco duro de la maquina. Un sistema de
memoriavirtual se implementa utilizando paginación como método de
administración dememoria básica y algún mecanismo de intercambio (para
descargar paginas dela memoria principal hacia el disco duro y para cargar esas
paginas de nuevo ala memoria).La memoria virtual es una técnica para
proporcionar la simulación de unespacio de memoria mucho mayor que la memoria
física de una maquina. Esta
“ilusión” permite que los programas se hagan sin tener en cuenta el
tamaño
exacto de la memoria física. La ilusión de la memoria virtual esta
soportada porel mecanismo de traducción de memoria, junto con una gran cantidad
dealmacenamiento rápido en disco duro.
Este comentario ha sido eliminado por el autor.
ResponderEliminar