Unidad A Aministración de la Memoria

1,097 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,097
On SlideShare
0
From Embeds
0
Number of Embeds
232
Actions
Shares
0
Downloads
37
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Unidad A Aministración de la Memoria

  1. 1. ADMINISTRACIÓN DE LA MEMORIAUNIDAD IV
  2. 2. GESTIÓN DE MEMORIALa parte del sistema operativo que seocupa de gestionar la memoria se ledenomina Gestor de Memoria. Su cometidoconsiste en llevar la cuenta de las partes dememoria que se están utilizando y las queestán libres, así como de gestionar lainformación entre la memoria principal y lasecundaria cuando la memoria RAM no seasuficientemente grande para acoger atodos los procesos.
  3. 3. OBJETIVOS Protección Compartimiento Reubicación Organización de la memoria
  4. 4. ADMINISTRADOR DE LAMEMORIALa parte del sistema operativo que administra lamemoria se llama administrador de memoria.  Su labor consiste en llevar un registro de las partes de memoria que se estén utilizando y aquellas que no, con el fin de asignar espacio en memoria a los procesos cuando éstos la necesiten y liberándola cuando terminen.  Así como administrar el intercambio entre la memoria principal y el disco en los casos en los que la memoria principal no le pueda dar capacidad a todos los procesos que tienen necesidad de ella.
  5. 5. El administrador de memoria tiene como objetivos: El sistema operativo es responsable de las siguientes actividades respecto a la administración de memoria :  Llevar cuenta de que partes de la memoria están siendo utilizadas y por quien.  Decidir que procesos cargar en memoria cuando esta está disponible.  Alojar y desalojar espacio de memoria cuando sea requerido. El sistema operativo es responsable de las siguientes actividades respecto a la administración de la memoria secundaria:  Administración del espacio de memoria libre.  Alojamiento de memoria  Planificación del disco
  6. 6. JERARQUIA DE MEMORIAEs la organización piramidal de la memoria enniveles, que tienen los ordenadores.Su objetivo es conseguir el rendimiento deuna memoria de gran velocidad al coste deuna memoria de baja velocidad, basándoseen el principio de cercanía de referencias.Los puntos básicos relacionados con lamemoria pueden resumirse en:  Cantidad  Velocidad  Coste
  7. 7. Los niveles que componen la jerarquía dememoria habitualmente son: • Nivel 0: Registros • Nivel 1: Memoria caché • Nivel 2: Memoria principal • Nivel 3: Disco duro (con el mecanismo de memoria virtual)
  8. 8. ESTRATEGIAS PARA LAADMINISTARCIÓN DE LAMEMORIAEstán dirigidas a la obtención del mejor uso posible del recurso del almacenamiento principal.
  9. 9.  Se dividen en las siguientes categorías: Estrategias de búsqueda  Estrategias de búsqueda por demanda.  Estrategias de búsqueda anticipada. Estrategias de colocación. Estrategias de reposición.
  10. 10. MULTIPROGRAMACIÓN CONPARTICIONES FIJASLa memoria se puede organizardividiéndose en diversas partes, las cualespueden variar en tamaño. Esta partición lapuede hacer el usuario en forma manual, aliniciar una sesión con la máquina.
  11. 11. Existen dos maneras de asignar los procesos a ella.• Es mediante el uso de una cola única que asigna los procesos a los espacios disponibles de la memoria conforme se vayan desocupando.• Buscar en la cola el proceso de tamaño mayor que se ajuste al hueco, sin embargo hay que tomar en cuenta que tal método discrimina a los procesos más pequeños.
  12. 12. MULTIPROGRAMACIÓN CONPARTICIONES VARIABLES Este esquema fue usado por el sistema operativo IBM OS/360 (llamado MFT), el cual ya no está en uso.El sistema operativo lleva una tablaindicando cuáles partes de lamemoria están disponibles y cuálesestán ocupadas.
  13. 13. Inicialmente, toda la memoria está disponiblepara los procesos de usuario y es consideradocomo un gran bloque o hueco único dememoria.Cuando llega un proceso que necesita memoria,buscamos un hueco lo suficientemente grandepara el proceso. Si encontramos uno, se asignaúnicamente el espacio requerido, manteniendoel resto disponible para futuros procesos querequieran de espacio.
  14. 14. MEMORIA REAL
  15. 15. La memoria real o principal es en donde son ejecutados losprogramas y procesos de una computadora y es el espacio realque existe en memoria para que se ejecuten los procesos. RAM se utiliza como sinónimo de memoria principal, la memoria que está disponible para los programas
  16. 16. ADMINISTRACION DE LA MEMORIA CON MAPA DE BITSCon un mapa de bits, la memoria se divide en unidades deasignación.
  17. 17. 0= desocupada 1= ocupadaUn mapa de bits es un mecanismosencillo para llevar el control de laspalabras de memoria e una cantidadfija de esta, porque su tamaño solodepende del tamaño de la memoria ydel de la unidad de asignación.Buscar el mapa una serie de ciertalongitud es una operación lenta.
  18. 18. Administración De Memoria Con ListasEnlazadas
  19. 19. Administración De Memoria Con Listas Enlazadas Mantiene una lista enlazada de segmentos de memoria asignados y libres, donde un segmento es un proceso o un hueco entre dos procesos •Sila lista se ordena por dirección es más fácil su actualización •Si hay dos listas, una para memoria usada y otra para huecos, la asignación es más rápida, pero la liberación es más lenta •Ocurre lo mismo para asignar hueco de intercambio.
  20. 20. Administración De Memoria Con Listas Enlazadas Sila lista se mantiene ordenada por dirección, podemos usar uno de los siguientes algoritmos para escoger un hoyo donde poner un nuevo proceso: First-fit. Asignar el primer hoyo que sea suficientemente grande como para contener al proceso. • Best-fit. Asignar el menor hoyo en el que el proceso quepa. • Worst-fit. Asignar el mayor hoyo
  21. 21. Administración De Memoria Con Listas Enlazadas Cada vez que se asigna un hoyo a un proceso, se convierte en un segmento asignado y un hoyo más pequeño. Best-fit deja hoyos pequeños worst-fit deja hoyos grandes. Simulaciones han mostrado que first-fit y best-fit son mejores en términos de utilización de la memoria. First-fit es más rápido
  22. 22. Administración De Memoria Con Listas EnlazadasLa memoria de la siguiente primera figura estámostrada como una lista ligada de segmentos donde cada entrada de la lista especifica unhueco (H) o un proceso (P), la dirección donde comienza, su longitud y un apuntador a la siguiente entrada
  23. 23. Distribución del espacio paraintercambio
  24. 24. Distribución del espacio para intercambioEn algunos sistemas, cuando un proceso esta en la memoria, no se le puede asignar espacio en disco. Cuando deba intercambiarse, puede colocarse en alguna otra parte del disco. Los algoritmos para administrar el espacio de intercambio son los mismos que se emplean para administrar la memoria principal
  25. 25. Distribución del espacio para intercambio Cuando el proceso sale, se desasigna el espacio para el intercambio. La única diferencia es que el espacio en el disco para un proceso debe asignarse como un numero integral de bloques de disco. Por lo tanto:Un proceso de tamaño 13.5k que utiliza un disco con bloques de 1k se redondeara a 14k antes de que se busquen las estructuras de datos del espacio en el disco.
  26. 26. Distribución del espacio para intercambio Enotros sistemas, cuando se crea un proceso, el espacio para intercambio se asigna para el en disco. Cada vez que el proceso se intercambia, siempre se cambia a su espacio asignado, en lugar de dirigirse a un lugar diferente en cada ocasión.
  27. 27. Distribución del espacio para intercambio Las recomendaciones sobre el espacio de disco Espacio de intercambio Modificaciones Paquetes adicionales de software Es posible que descubra que los grupos de software necesitan menos espacio en disco
  28. 28. Distribución del espacio para intercambio Al instalar el software, puede elegir, agregar o suprimir paquetes del grupo de software que haya seleccionado. Para ello es necesario que conozca las dependencias de software y la manera como está empaquetado el software. La compatibilidad reducida de red contiene el número mínimo de paquetes y el grupo completo de software más compatibilidad contiene todos los paquetes.
  29. 29. MEMORIA VIRTUAL
  30. 30. Memoria Virtual (concepto) LaMemoria virtual permite al software usar más memoria principal que la que realmente posee el computador.
  31. 31. Operación BásicaMuchas aplicaciones requieren el acceso amas información (código y datos)que lapuede mantener la memoria física.Una solución al problema de necesitarmayor cantidad de memoria de la que seposee consiste en que las aplicacionesmantengan parte de su información endisco, moviéndola a la memoria principalcuando sea necesario.
  32. 32. Paginación en memoria virtualLa memoria virtual usualmente es implementada usandopaginación.En paginación, los bits menos significativos de la dirección dememoria virtual son preservados y usados directamente comolos bits de orden menos significativos de la dirección dememoria física. Los bits más significativos son usados comouna clave en una o más tablas de traducción de direcciones(llamadas tablas de paginación), para encontrar la parterestante de la dirección física buscada.
  33. 33. Segmentación Memoriavirtual Es un esquema de manejo mediante la estructura refleja su división lógica llevándose acabo una agrupación lógica de la información en bloques de tamaño variable denominados segmentos. Cada uno lleva información de los programas como arreglos subrutinas etc. Cada espacio de direcciones del programa consiste en una colección de segmentos que reflejan la división lógica del programa.
  34. 34. Objetivos que alcanza la segmentación Modularidad de programas: cada rutina del programa puede ser un bloque sujeto a cambios y recopilaciones, sin afectar por ello al resto del programa. Estructuras de datos de largo variable: ej. Stock, donde cada estructura tiene su propio tamaño y este puede variar. Protección: se puede proteger los módulos del segmento contra accesos no autorizados. Compartición: dos o más procesos pueden ser un mismo segmento, bajo reglas de protección; aunque no sean propietarios de los mismos. Enlace dinámico entre segmentos: puede evitarse realizar todo el proceso de enlace antes de comenzar a ejecutar un programa. Los enlaces se establecerán solo cuando sea necesario
  35. 35. Algoritmos de sustitución depaginas Cuando ocurre una falla de página, el sistema operativo tiene que escoger la página que sacará de la memoria para que pueda entrar la nueva página. Si la página que se eliminará fue modificada mientras estaba en la memoria, se debe reescribir en el disco a fin de actualizar la copia del disco, pero si no fue así la copia en disco ya estará actualizada y no será necesario reescribirla. La nueva página simplemente sobre escribe la que está siendo desalojada.
  36. 36. EJEMPLOS Elalgoritmo de sustitución de páginas óptimo El algoritmo de sustitución de páginas no usadas recientemente El algoritmo NRU El algoritmo (FIFO)
  37. 37. ASPECTOS DE DISEÑO PARA EL SISTEMA 1. El modelo de conjunto de trabajo 2. Tamaño de página  El tamaño será de acuerdo a las aplicaciones deseadas para un sistema en particular. Los factores que determinan los tamaños son:  Cuanto menor sea el tamaño de la página, más páginas y marcos de página habrá y mayores tendrán que ser la tabla.  Dependiendo del tamaño de la información se determina si se usan páginas pequeñas o grandes.  Cuanto menor sea la página, menor será la fragmentación interna.
  38. 38. LIBERACION DE PAGINAS Losprogramas que ya no requieran páginas específicas deberán desechar tales páginas de sus conjuntos de trabajo. Por lo regular hay un tiempo durante el cual permanecen en el almacenamiento principal la páginas que ya no se requieran.

×