Unidad 3 _ Administrador de Memoria

download Unidad 3 _ Administrador de Memoria

of 40

Transcript of Unidad 3 _ Administrador de Memoria

  • UNIDAD 3 ADMINISTRADOR DE MEMORIAASIGNATURA: SISTEMAS OPERATIVOS IDOCENTE: 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 seencarga de administrar la memoria delondenador. Para ello existen diferentesesquemas de administracin de memoriadesde los mas simples hasta los maselaborados.

  • 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 fijoParticiones de tamao variable

  • 3. ADMINISTRADOR DE MEMORIA

    Sistema Monoprogramado

    En un sistema monoprogramado,la memoria principal se divide endos partes: una parte para elsistema operativo (monitor,ncleo) y otra parte para elprograma que se ejecuta en eseinstante. El usuario carga toda lamemoria con un programa, estoimplica que cada proceso debecontener controladores dedispositivo para cada uno de losdispositivos E/S que utilice.

    Sistema Operativo

    Memoria del usuario

  • 3. ADMINISTRADOR DE MEMORIA

    Sistema multiprogramado

    En un sistema multiprogramadoresulta vital una gestin efectivade la memoria. Si slo hay unospocos procesos en memoria,entonces la mayor parte deltiempo estarn esperando a la E/Sy el procesador estardesocupado. Por ello, hace faltarepartir eficientemente lamemoria para meter tantosprocesos como sea posible.

    Sistema Operativo

    Sistema Operativo

  • 3. ADMINISTRADOR DE MEMORIA

    FUNCIONES DEL ADMINISTRADORDE MEMORIA

    Control de que partes de la memoriaestn utilizadas o libres.

    Asignar memoria a procesos y liberarlacuando terminan.

    Administrar intercambio entre memoriay disco (Memoria Virtual).

  • 3. ADMINISTRADOR DE MEMORIA

    Un programa en lenguaje de alto nivel no puedeser ejecutado por el ordenador, sino que debe sertraducido a lenguaje mquina. Aqu es donde entraen juego el administrador de memoria ya quemendiante un proceso y la buena administracinde recursos y de memoria se puede llegar a laejecucin del programa. A este proceso se le llamaProceso 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 serejecutado.

    Compilador: Programa encargado de traducir los programasfuentes escritos en un lenguaje de alto nivel a lenguaje mquina yde comprobar que las llamadas a las funciones de librera serealizan correctamente.

    Programa (o cdigo) objeto: Es el programa fuente traducido (porel compilador) a cdigo mquina. An no es directamenteejecutable.

    Linker (montador o enlazador): Es el programa encargado deinsertar al programa objeto el cdigo mquina de las funciones delas libreras (archivos de biblioteca) usadas en el programa yrealizar el proceso de montaje, que producir un programaejecutable .exe.

    Las libreras: son una coleccin de cdigo (funciones) yaprogramado y traducido a cdigo mquina, listo para utilizar en unprograma 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 esdirectamente ejecutable.

  • 3. ADMINISTRADOR DE MEMORIA

    El administrador de memoria tiene comoobjetivos:

    Ubicar, reemplazar, cargar y descargar procesos en lamemoria principal.

    Proteger la memoria de acceso indeseados (accidentaleso 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 dememoria de un proceso reubicado.

    2. Proteccin. Evitar el acceso a posiciones dememoria sin el permiso expreso. (no direccionesabsolutas).

    3. Comparticin. Permitir a procesos diferentesacceder a la misma porcin de memoria.

    4. Organizacin Lgica. Permitir que los programas seescriban como mdulos compilables y ejecutablespor separado.

    5. Organizacin Fsica. Permitir el intercambio dedatos en la memoria primaria y secundaria

  • 3.1 POLITICAS Y FILOSOFIA

    Filosofa.

    La memoria principal puede ser considerada como un arreglo lineal delocalidades de almacenamiento de un byte de tamao. Cada localidadde almacenamiento tiene asignada una direccin que la identifica.

    Una de las funciones bsicas que debe implementar un SO es laAdministracin de la Memoria para tener un control sobre los lugaresdonde estn almacenados los datos y procesos que actualmente seestn utilizando.

    Sea cual sea es esquema de organizacin del almacenamiento que seadopte para un sistema especifico es necesario decidir que estrategiasse deben utilizar para obtener un rendimiento optimo.

  • 3.1 POLITICAS Y FILOSOFIA

    Sea cual sea es esquema de organizacin del almacenamiento que se adoptepara un sistema especfico, es necesario decidir que estrategias se debenutilizar para obtener un rendimiento ptimo las estrategias deadministracin del almacenamiento determinan el comportamiento de laadministracin 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 seintenta anticiparse alas particiones del sistema?

    Se colocan los programas lo ms cerca unos de otros en los espaciosdisponibles de la memoria principal para reducir al mnimo el desperdicio deespacio, o se colocan los programas lo ms rpido posible para reducir almnimo el tiempo de ejecucin?

    Si se necesita colocar un nuevo programa en el almacenamiento principal yste 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 colade procesos listos, si un proceso llega al procesador sale hasta que termine.La poltica FIFO actualmente no se usa como el esquema principal de unsistema, pero si por ejemplo cuando se usa una poltica de prioridades y hayprocesos 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 elprocesador, si no termina en ese lapso se manda al final de la lista deprocesos listos.

  • 3.1 POLITICAS Y FILOSOFIA

    SJF (Shortest job first - Prioridad del trabajo mas corto): Se ejecutaprimero el proceso en espera que tiene el menor tiempo estimado.SJF favorece a los procesos cortos, ya que los largos podran llegar arezagarse mucho tiempo e incluso nunca ejecutarse.

    SRT (Sortest remaining time scheduling) Tiempo restante mascorto. En SJF una vez que un proceso comienza su ejecucincontinua hasta terminar. En SRT, un proceso en ejecucin puede serdesposedo por uno nuevo de menor tiempo de ejecucin.

  • 3.1 POLITICAS Y FILOSOFIA

    HRN: (highest response ratio Next. Prioridad de la tasa de respuestamas alta): Poltica no apropiativa que corrige el retraso excesivo deprocesos grandes que produce el SJF, para as no caer en unfavoritismo excesivo por los procesos cortos, lo logra usando unaformula basada en el tiempo de espera y el tiempo de servicio, conlo cual la prioridad de cada trabajo no solo esta en funcin deltiempo de servicio sino tambin del tiempo que ha esperado paraser atendido.

  • 3.2 MEMORIA REAL

    La memoria real o principal es en donde son ejecutados losprogramas y procesos de una computadora y es el espacio real queexiste en memoria para que se ejecuten los procesos.Por lo general esta memoria es de mayor costo que la memoriasecundaria, pero el acceso a la informacin contenida en ella es demas rpido acceso.

  • 3.2 MEMORIA REAL

    CARACTERISTICAS DE LA MEMORIA REAL

    Capacidad, que representa el volumen global de informacin (enbits) que la memoria puede almacenar.

    Tiempo de acceso, que corresponde al intervalo de tiempo entre lasolicitud de lectura/escritura y la disponibilidad de los datos.

    Tiempo de ciclo, que representa el intervalo de tiempo mnimoentre dos accesos sucesivos.

    Rendimiento, que define el volumen de informacinintercambiado por unidad de tiempo, expresado en bits porsegundo.

    No volatilidad, que caracteriza la capacidad de una memoria paraalmacenar 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 alcach antes de su ejecucin.

    Los programas en la memoria cach ejecutan mucho msrpido que en la memoria principal.

    Al utilizar memoria cach se espera que:La sobrecarga que supone el traspaso de programas de un nivelde memoria a otro sea mucho menor que la mejora en elrendimiento obtenida por la posibilidad de una ejecucinmucho 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 simulacinde un espacio de memoria mucho mayor que la memoria fsica deuna maquina.

    Esta ilusin permite que los programas se hagan sin tener encuenta el tamao exacto de la memoria fsica.

    La memoria virtual ha llegado a ser un componente esencial de lamayora de los S.O actuales. Y como en un instante dado, en lamemoria solo se tienen unos pocos fragmentos de un procesodado, se pueden mantener mas procesos en la memoria.

    La memoria virtual tambin simplifica la carga del programa parasu ejecucin llamado reubicacin, este procedimiento permite queel mismo programa se ejecute en cualquier posicin de la memoria

    fsica.

  • Evaluacin de las Organizaciones de Almacenamiento

    Almacenamiento virtual "significa la capacidad de direccional unespacio de almacenamiento mucho mayor que el disponible en elalmacenamiento 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 seleccionarsedentro de un numero mucho mayor de direcciones que las disponiblesdentro del almacenamiento primario.

    3.3 ORGANIZACION DE LA MEMORIA VIRTUAL

  • Asignacin

    El termino memoria virtual se asocia normalmente con sistemas queemplean paginacin, aunque tambin se puede usar memoria virtualbasada en la segmentacin. El uso de la paginacin en la memoriavirtual fue presentado por primera vez en el computador Atlas.

    Cada proceso tiene su propia tabla de paginas y cuando carga todas suspaginas en la o memoria principal. Puesto que solo algunas de laspginas de un proceso pueden estar en la memoria principal, se necesitaun bit en cada entrada de la tabla para indicar si la pagina pertenecienteesta presente en la memoria principal o no. Si el bit indica que la paginaesta en la memoria, la entrada incluye tambin el nmero de marcopara esa pagina.

    Otro bit de control necesario en la entrada de la tabla de pginas es elbit de modificacin (M), para indicar si el contenido de la pginacorrespondiente se ha alterado desde que la pgina se cargo en lamemoria principal. Si no ha habido cambios, no es necesario escribir lapgina 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.-ADMINISTRACIN DE MEMORIA VIRTUAL

  • 3.4.-Administracin de Memoria Virtual

  • 3.4.-Administracin de Memoria Virtual

    Las diferentes organizaciones de almacenamiento virtual generalmente implementadas son [7, Deitel]:

    Paginacin.

    Segmentacin.

    Combinacin de ambas

  • 3.4.-Administracin 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.-Administracin 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.-Administracin de Memoria Virtual

  • Segmentacin y Paginacin

    La paginacin y la segmentacin puras son mtodos de manejo dememoria bastante efectivos, aunque la mayora de los sistemasoperativos modernos implantan esquemas combinados, es decir,combinan la paginacin y la segmentacin.

    La idea de combinar estos esquemas se debe a que de esta formase aprovechan los conceptos de la divisin lgica de los programas(segmentos) con la granularidad de las pginas. De esta forma, unproceso estar repartido en la memoria real en pequeas unidades(paginas) cuya liga son los segmentos. Tambin es factible as elcompartir segmentos a medida que las partes necesitadas de losmismos se van reverenciando (paginas).

    ADMINISTRACION DE LA MEMORIA VIRTUAL

  • Para comprender este esquema, nuevamente se vera como setraduce una direccin virtual en una localidad de memoria real.Para la paginacin y segmentacin puras se puede decir que eldireccionamiento es `bidimensional' porque se necesitan dosvalores para hallar la direccin real.Para el caso combinado, se puede decir que se tiene undireccionamiento `tridimensional'.

    El sistema debe contar con una tabla de procesos (TP) (Ver figura3.3.4.1). Por cada rengln de esa tabla se tiene un nmero deproceso y una direccin a una tabla de segmentos. Es decir, cadaproceso tiene una tabla de segmentos. Cuando un proceso hacealguna referencia a memoria, se consulta TP para encontrar latabla de segmentos de ese proceso. En cada tabla de segmentosde proceso (TSP) se tienen los nmeros de los segmentos quecomponen 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.