Vous êtes sur la page 1sur 40

UNIDAD 3 ADMINISTRADOR DE

MEMORIA
ASIGNATURA: SISTEMAS OPERATIVOS I
DOCENTE: SERGIO DIAZ CONTRETAS
EQUIPO 2
BRAUNI MANUEL ELGUERA TORRES
ABIMELEC HERNANDEZ CRUZ
IRVING ARGENII LOPEZ BONFIL
DAYSIRI MARTINEZ DE LA CRUZ
IVAN OMAR MORENO GARCIA
3.
ADMINISTRADOR
DE MEMORIA
Es la parte del sistema operativo que se
encarga de administrar la memoria del
ondenador. Para ello existen diferentes
esquemas de administracin de memoria
desde los mas simples hasta los mas
elaborados.
3.
ADMINISTRADOR
DE MEMORIA
Sistema
Operativo
Memoria
del usuario
Sistema
Operativo
Sistema
Operativo
Sistema monoprogramado Sistema multiprogramado
Un programa puede o no
ingresar a una nica
particin de memoria
Mltiples programas comparten diversas
particiones de memoria
Particiones de tamao fijo
Particiones de tamao variable
3.
ADMINISTRADOR
DE MEMORIA
Sistema Monoprogramado
En un sistema monoprogramado,
la memoria principal se divide en
dos partes: una parte para el
sistema operativo (monitor,
ncleo) y otra parte para el
programa que se ejecuta en ese
instante. El usuario carga toda la
memoria con un programa, esto
implica que cada proceso debe
contener controladores de
dispositivo para cada uno de los
dispositivos E/S que utilice.
Sistema Operativo
Memoria del
usuario
3.
ADMINISTRADOR
DE MEMORIA
Sistema multiprogramado
En un sistema multiprogramado
resulta vital una gestin efectiva
de la memoria. Si slo hay unos
pocos procesos en memoria,
entonces la mayor parte del
tiempo estarn esperando a la E/S
y el procesador estar
desocupado. Por ello, hace falta
repartir eficientemente la
memoria para meter tantos
procesos como sea posible.
Sistema
Operativo
Sistema
Operativo
3.
ADMINISTRADOR
DE MEMORIA
FUNCIONES DEL ADMINISTRADOR
DE MEMORIA
Control de que partes de la memoria
estn utilizadas o libres.
Asignar memoria a procesos y liberarla
cuando terminan.
Administrar intercambio entre memoria
y disco (MemoriaVirtual).
3.
ADMINISTRADOR
DE MEMORIA
Un programa en lenguaje de alto nivel no puede
ser ejecutado por el ordenador, sino que debe ser
traducido a lenguaje mquina. Aqu es donde entra
en juego el administrador de memoria ya que
mendiante un proceso y la buena administracin
de recursos y de memoria se puede llegar a la
ejecucin del programa. A este proceso se le llama
Proceso de compilacin y carga de un programa.
3.
ADMINISTRADOR
DE MEMORIA
Programa fuente: Programa escrito en un lenguaje de alto nivel.
Necesita ser traducido a cdigo mquina para poder ser
ejecutado.
Compilador: Programa encargado de traducir los programas
fuentes escritos en un lenguaje de alto nivel a lenguaje mquina y
de comprobar que las llamadas a las funciones de librera se
realizan correctamente.
Programa (o cdigo) objeto: Es el programa fuente traducido (por
el compilador) a cdigo mquina. An no es directamente
ejecutable.
Linker (montador o enlazador): Es el programa encargado de
insertar al programa objeto el cdigo mquina de las funciones de
las libreras (archivos de biblioteca) usadas en el programa y
realizar el proceso de montaje, que producir un programa
ejecutable .exe.
Las libreras: son una coleccin de cdigo (funciones) ya
programado y traducido a cdigo mquina, listo para utilizar en un
programa y que facilita la labor del programador.
Programa Ejecutable: Traduccin completa a cdigo mquina,
realizada por el enlazador, de l programa fuente y que ya es
directamente ejecutable.
3.
ADMINISTRADOR
DE MEMORIA
El administrador de memoria tiene como
objetivos:
Ubicar, reemplazar, cargar y descargar procesos en la
memoria principal.
Proteger la memoria de acceso indeseados (accidentales
o intencionados).
Permitir la comparticin de zonas de memoria
(indispensable para lograr la cooperacin de procesos).
3.
ADMINISTRADOR
DE MEMORIA
Requisitos del administrador de memoria
1. Reubicacin. Permitir el recalculo de direcciones de
memoria de un proceso reubicado.
2. Proteccin. Evitar el acceso a posiciones de
memoria sin el permiso expreso. (no direcciones
absolutas).
3. Comparticin. Permitir a procesos diferentes
acceder a la misma porcin de memoria.
4. Organizacin Lgica. Permitir que los programas se
escriban como mdulos compilables y ejecutables
por separado.
5. Organizacin Fsica. Permitir el intercambio de
datos en la memoria primaria y secundaria
3.1 POLITICAS
Y FILOSOFIA
Filosofa.
La memoria principal puede ser considerada como un arreglo lineal de
localidades de almacenamiento de un byte de tamao. Cada localidad
de almacenamiento tiene asignada una direccin que la identifica.
Una de las funciones bsicas que debe implementar un SO es la
Administracin de la Memoria para tener un control sobre los lugares
donde estn almacenados los datos y procesos que actualmente se
estn utilizando.
Sea cual sea es esquema de organizacin del almacenamiento que se
adopte para un sistema especifico es necesario decidir que estrategias
se deben utilizar para obtener un rendimiento optimo.
3.1 POLITICAS
Y FILOSOFIA
Sea cual sea es esquema de organizacin del almacenamiento que se adopte
para un sistema especfico, es necesario decidir que estrategias se deben
utilizar para obtener un rendimiento ptimo las estrategias de
administracin del almacenamiento determinan el comportamiento de la
administracin de memoria cuando se siguen ciertas polticas:
Cundo se toma un nuevo programa para colocarlo en memoria?
Se toma el programa cuando el sistema lo solicita especficamente o se
intenta anticiparse alas particiones del sistema?
Se colocan los programas lo ms cerca unos de otros en los espacios
disponibles de la memoria principal para reducir al mnimo el desperdicio de
espacio, o se colocan los programas lo ms rpido posible para reducir al
mnimo el tiempo de ejecucin?
Si se necesita colocar un nuevo programa en el almacenamiento principal y
ste est lleno, Cul de los otros programas se desaloja?
3.1 POLITICAS
Y FILOSOFIA
Polticas.
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 poltica FIFO actualmente no se usa como el esquema principal de un
sistema, pero si por ejemplo cuando se usa una poltica de prioridades y hay
procesos con la misma prioridad, a estos se les podra 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.
3.1 POLITICAS
Y FILOSOFIA
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 podran 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 ejecucin
continua hasta terminar. En SRT, un proceso en ejecucin puede ser
desposedo por uno nuevo de menor tiempo de ejecucin.
3.1 POLITICAS
Y FILOSOFIA
HRN: (highest response ratio Next. Prioridad de la tasa de respuesta
mas alta): Poltica no apropiativa que corrige el retraso excesivo de
procesos grandes que produce el SJF, para as 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 funcin del
tiempo de servicio sino tambin del tiempo que ha esperado para
ser atendido.
3.2 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 informacin contenida en ella es de
mas rpido acceso.
3.2 MEMORIA
REAL
CARACTERISTICAS DE LA MEMORIAREAL
Capacidad, que representa el volumen global de informacin (en
bits) que la memoria puede almacenar.
Tiempo de acceso, que corresponde al intervalo de tiempo entre la
solicitud de lectura/escritura y la disponibilidad de los datos.
Tiempo de ciclo, que representa el intervalo de tiempo mnimo
entre dos accesos sucesivos.
Rendimiento, que define el volumen de informacin
intercambiado por unidad de tiempo, expresado en bits por
segundo.
No volatilidad, que caracteriza la capacidad de una memoria para
almacenar datos cuando no recibe ms electricidad.
Existen dos tipos de memorias RAM: SRAMY DRAM.
3.2 MEMORIA
REAL
Los programas y datos deben estar en el almacenamiento
principal para:
Poderlos ejecutar.
Referenciarlos directamente.
Los hechos demuestran que generalmente los programas crecen en
requerimientos de memoria tan rpido como las memorias:
Ley de Parkinson parafraseada:
Los programas se desarrollan para ocupar
Toda la memoria disponible para ellos.
3.2 MEMORIA
REAL
Un nivel adicional es el cach o memoria de alta velocidad,
que posee las siguientes caractersticas:
Es ms rpida y costosa que la memoria principal.
Impone al sistema un nivel ms de traspaso:
Los programas son traspasados de la memoria principal al
cach antes de su ejecucin.
Los programas en la memoria cach ejecutan mucho ms
rpido que en la memoria principal.
Al utilizar memoria cach se espera que:
La sobrecarga que supone el traspaso de programas de un nivel
de memoria a otro sea mucho menor que la mejora en el
rendimiento obtenida por la posibilidad de una ejecucin
mucho ms rpida en la cach.
Jerarqua de
memoria
Se conoce como jerarqua de memoria a la organizacin piramidal de la memoria
en niveles que tienen los ordenadores. Su objetivo es conseguir el rendimiento de
una memoria de gran velocidad al coste de una memoria de baja velocidad,
basndose en el principio de cercana de referencias.
Los puntos bsicos relacionados con la memoria pueden resumirse en:
Cantidad
Velocidad
Coste
La cuestin de la cantidad es simple, cuanto ms memoria haya disponible, ms
podr utilizarse. La velocidad ptima para la memoria es la velocidad a la que el
procesador puede trabajar, de modo que no haya tiempos de espera entre clculo
y clculo, utilizados para traer operandos o guardar resultados. En suma, el coste
de la memoria no debe ser excesivo, para que sea factible construir un equipo
accesible.
Jerarqua de
memoria
Como puede esperarse los tres factores compiten entre s, por lo
que hay que encontrar un equilibrio. Las siguientes afirmaciones
son vlidas:
A menor tiempo de acceso mayor coste.
A mayor capacidad menor coste por bit.
A mayor capacidad menor velocidad.
Se busca entonces contar con capacidad suficiente de memoria,
con una velocidad que sirva para satisfacer la demanda de
rendimiento y con un coste que no sea excesivo.
Gracias a un principio llamado cercana de referencias, es factible
utilizar una mezcla de los distintos tipos y lograr un rendimiento
cercano al de la memoria ms rpida.
Los niveles que componen la jerarqua de memoria habitualmente
son:
Nivel 0: Registros
Nivel 1: Memoria cach
Nivel 2: Memoria principal
Nivel 3: Memorias flash
Nivel 4: Disco duro (con el mecanismo de memoria virtual)
Nivel 5: Cintas magnticas Consideradas las ms lentas, con mayor
capacidad.
Nivel 6: Redes (Actualmente se considera un nivel ms de la
jerarqua de memorias)
Diagrama de
Jerarqua de
Memoria
Diagrama de
Jerarqua de
Memoria
3.3
ORGANIZACION
DE LA MEMORIA
VIRTUAL
La memoria virtual es una tcnica para proporcionar la simulacin
de un espacio de memoria mucho mayor que la memoria fsica de
una maquina.
Esta ilusin permite que los programas se hagan sin tener en
cuenta el tamao exacto de la memoria fsica.
La memoria virtual ha llegado a ser un componente esencial de la
mayora de los S.O actuales. Y como en un instante dado, en la
memoria solo se tienen unos pocos fragmentos de un proceso
dado, se pueden mantener mas procesos en la memoria.
La memoria virtual tambin simplifica la carga del programa para
su ejecucin llamado reubicacin, este procedimiento permite que
el mismo programa se ejecute en cualquier posicin de la memoria
fsica.
Evaluacin de las Organizaciones de Almacenamiento
Almacenamiento virtual "significa la capacidad de direccional un
espacio de almacenamiento mucho mayor que el disponible en el
almacenamiento primario de determinado sistema de computacin .
Esta tecnologa apareci en 1960 en la Universidad de Manchester
(Inglaterra), en el sistema Atlas.
Los mtodos ms comunes de implementacin son mediante:
Tcnicas de paginacin.
Tcnicas de segmentacin.
Una combinacin de ambas tcnicas.
Las direcciones generadas por los programas en su ejecucin no son,
necesariamente, aquellas contenidas en el almacenamiento primario
(memoria real), ya que las direcciones virtuales suelen seleccionarse
dentro de un numero mucho mayor de direcciones que las disponibles
dentro del almacenamiento primario.
3.3
ORGANIZACION
DE LA MEMORIA
VIRTUAL
Asignacin
El termino memoria virtual se asocia normalmente con sistemas que
emplean paginacin, aunque tambin se puede usar memoria virtual
basada en la segmentacin. El uso de la paginacin en la memoria
virtual fue presentado por primera vez en el computador Atlas.
Cada proceso tiene su propia tabla de paginas y cuando carga todas sus
paginas en la o memoria principal. Puesto que solo algunas de las
pginas de un proceso pueden estar en la memoria principal, se necesita
un bit en cada entrada de la tabla para indicar si la pagina perteneciente
esta presente en la memoria principal o no. Si el bit indica que la pagina
esta en la memoria, la entrada incluye tambin el nmero de marco
para esa pagina.
Otro bit de control necesario en la entrada de la tabla de pginas es el
bit de modificacin (M), para indicar si el contenido de la pgina
correspondiente se ha alterado desde que la pgina se cargo en la
memoria principal. Si no ha habido cambios, no es necesario escribir la
pgina cuando sea sustituida en el marco que ocupa actualmente.
3.3
ORGANIZACION
DE LA MEMORIA
VIRTUAL
3.3
ORGANIZACION
DE LA MEMORIA
VIRTUAL
3.4.-
ADMINISTRA
CIN DE
MEMORIA
VIRTUAL
3.4.-
Administraci
n de Memoria
Virtual
3.4.-
Administraci
n de Memoria
Virtual
Las diferentes organizaciones de almacenamiento virtual
generalmente implementadas son [7, Deitel]:
Paginacin.
Segmentacin.
Combinacin de ambas
3.4.-
Administraci
n de Memoria
Virtual
Segmentacin
La segmentacin es una tcnica de gestin de memoria que
pretende acercarse ms al punto de vista del usuario. Los
programas se desarrollan, generalmente, en torno a un ncleo
central (principal) desde el que se bifurca a otras partes (rutinas) o
se accede a zonas de datos (tablas, pilas, etc).
La segmentacin de un programa la realiza el compilador y en ella
cada direccin lgica se expresar mediante dos valores: Nmero
de segmento (s) y desplazamiento dentro del segmento (d)
3.4.-
Administraci
n de Memoria
Virtual
Administracin
de Memoria
Virtual
La clave del concepto de memoria (almacenamiento) virtual esta
en la disociacin:
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 pginas actuales, el sistema
carga las dems pginas que estarn disponibles cuando las
requiera el proceso.
El S. O. intenta predecir las pginas que un proceso va a necesitar
y a continuacin precarga estas pginas cuando hay espacio
disponible Mientras el proceso ejecuta sus pginas actuales, el
sistema carga pginas nuevas que estarn disponibles cuando el
proceso las pida, debido a ello, el tiempo de ejecucin de un
proceso se puede reducir.
3.4.-
Administraci
n de Memoria
Virtual
Segmentacin y Paginacin
La paginacin y la segmentacin puras son mtodos de manejo de
memoria bastante efectivos, aunque la mayora de los sistemas
operativos modernos implantan esquemas combinados, es decir,
combinan la paginacin y la segmentacin.
La idea de combinar estos esquemas se debe a que de esta forma
se aprovechan los conceptos de la divisin lgica de los programas
(segmentos) con la granularidad de las pginas. De esta forma, un
proceso estar repartido en la memoria real en pequeas unidades
(paginas) cuya liga son los segmentos. Tambin es factible as el
compartir segmentos a medida que las partes necesitadas de los
mismos se van reverenciando (paginas).
ADMINISTRACION
DE LA MEMORIA
VIRTUAL
Para comprender este esquema, nuevamente se vera como se
traduce una direccin virtual en una localidad de memoria real.
Para la paginacin y segmentacin puras se puede decir que el
direccionamiento es `bidimensional' porque se necesitan dos
valores para hallar la direccin real.
Para el caso combinado, se puede decir que se tiene un
direccionamiento `tridimensional'.
El sistema debe contar con una tabla de procesos (TP) (Ver figura
3.3.4.1). Por cada rengln de esa tabla se tiene un nmero de
proceso y una direccin a una tabla de segmentos. Es decir, cada
proceso tiene una tabla de segmentos. Cuando un proceso hace
alguna referencia a memoria, se consulta TP para encontrar la
tabla de segmentos de ese proceso. En cada tabla de segmentos
de proceso (TSP) se tienen los nmeros de los segmentos que
componen a ese proceso.
3.3
ORGANIZACION
DE LA MEMORIA
VIRTUAL
Administracin
de Memoria
Virtual
Administracin
de Memoria
Virtual
En Conclusin
Almacenamiento de memoria virtual significa la capacidad de
direccionar un espacio de almacenamiento mucho mayor que el
disponible en el almacenamiento primario de determinado
sistema de computacin.
Esta tecnologa apareci en 1960 en la Universidad de Manchester
(Inglaterra), en el sistema Atlas.
Mtodos comunes de implementacin
Tcnicas de paginacin.
Tcnicas de segmentacin.
Una combinacin de ambas tcnicas.

Vous aimerez peut-être aussi