La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Administración de memoria

Presentaciones similares


Presentación del tema: "Administración de memoria"— Transcripción de la presentación:

1 Administración de memoria
Introducción La parte del sistema operativo que se encarga del manejo de la memoria se denomina administrador de la memoria. Su labor consiste en llevar un registro de qué partes de la memoria se están utilizando y qué partes no, con el fin de asignar espacio a los procesos cuando estos hagan requerimientos, liberarlo cuando terminen, así como administrar el intercambio entre la memoria principal y el disco, en el caso en que esta no pueda albergar a todos los procesos. También facilita los mecanismos de protección para que un proceso no invada el espacio de otros procesos.

2 Administración de memoria
Conceptos: La organización y la administración de la memoria principal , memoria primaria o memoria real es uno de los factores más importantes que influyen en el diseño de los Sistemas Operativos. Históricamente la memoria ha sido un recurso caro, por lo que se desea optimizar su uso, aunque en la actualidad ha bajado de precio, los programa han aumentado su tamaño El problema de la escasez de memoria continúa.

3 Administración de memoria
Puntos claves de la administración de memoria. ¿Se debe permitir la multiprogramación? • ¿Se deben asignar particiones fijas o variables? • ¿Las particiones pueden crecer en forma dinámica? ¿Los programas podrán ser relocalizables? • ¿La ejecución de trabajos se hará en bloques de memoria adyacentes o en cualquier lugar disponible?

4 Administración de memoria
Monoprogramación. El sistema más simple de administración, consiste en tener sólo un programa cargado en la memoria a la vez. Este esquema deriva en la creación de un sistema operativo, permitiendo aislar las rutinas que manejan los dispositivos de I/O de los procesos de usuario

5 Administración de memoria
Monoprogramación. Bajo este esquema, la memoria real es tomada para almacenar el programa que se esté ejecutando en un momento dado, con la visible desventaja de que se está limitado a la cantidad de RAM disponible.

6 Administración de memoria
Monoprogramación. La organización física bajo este esquema es muy simple: El sistema operativo se ubica en las localidades superiores o inferiores de la memoria, seguido por algunos manejadores de dispositivos (`drivers'). Esto deja un espacio contiguo de memoria disponible que es tomado por los programas del usuario, dejando generalmente la ubicación de la pila (`stack') al último, con el objetivo de que ésta pueda crecer hasta el máximo posible.

7 Administración de memoria
Monoprogramación.

8 Administración de memoria
Multiprogramación en memoria real. Multiprogramación: consiste en poner en la memoria física más de un proceso al mismo tiempo, de manera que si el que se está ejecutando en este momento entraba en un período de entrada/salida, se puede tomar otro proceso para que usara la unidad central de procesamiento. De esta forma, la memoria física se divide en secciones de tamaño suficiente para contener a varios programas

9 Administración de memoria
Modelo de multiprogramación. Desde un punto de vista probabilístico, sea p la fracción de tiempo en que un proceso espera por I/O. La probabilidad de que n procesos esperen simultáneamente por I/O es: pn La utilización de CPU es por lo tanto: 1-pn

10 Administración de memoria
Multiprogramación con particiones fijas. Es la manera más simple de administrar la memoria cuando estamos en sistemas multiprogramados es con particiones fijas. Consiste en dividir la memoria en en n partes de tamaño fijo. De esta forma es posible tener multiprogramación ya que a cada proceso se le asigna una partición.

11 Administración de memoria
Desventajas. Se hace una mala utilización de la memoria debido a la poca flexibilidad del método. Es complicado correr programas más grandes que el tamaño de la partición. Se presenta fragmentación interna. Este fenómeno ocurre cuando un proceso no ocupa toda la memoria asignada y sin embargo el espacio libre no puede ser utilizado por ningún otro proceso.

12 Administración de memoria
Ventajas. Su administración es relativamente simple, pues para guardar información del estado del recurso se debe tener un registro de cada zona (libre u ocupada). La protección entre procesos se puede realizar mediante el mecanismo de llaves de memoria o utilizando el registro base y la longitud de la zona.

13 Administración de memoria
Multiprogramación con particiones variables. La memoria se divide en bloques de diferente tamaño de acuerdo a las necesidades del proceso.

14 Administración de memoria
Ventajas La gran ventaja de este método es su flexibilidad, pues permite definir bloques del tamaño requerido, terminando así con la fragmentación interna y permitiendo hacer un mejor uso de la memoria y por ende del procesador.

15 Administración de memoria
Desventajas. Fragmentación externa. Como la memoria se dividió en bloques de tamaño diferente, puede ocurrir que el bloque más grande no pueda contener un programa dado, a pesar que la suma de los espacios libres sea mayor que el tamaño del programa. Cuando se libera una partición y ésta no se puede ocupar. Se originan huecos de memoria.

16 Administración de memoria
Estrategias para el llenado de los espacios de memoria: Primer Ajuste (first fit): Se asigna el primer hueco que sea mayor al tamaño deseado. Mejor Ajuste (best fit): Se asigna el hueco cuyo tamaño exceda en la menor cantidad al tamaño deseado. Requiere de una búsqueda exhaustiva. Peor Ajuste (worst fit): Se asigna el hueco cuyo tamaño exceda en la mayor cantidad al tamaño deseado. Requiere también de una búsqueda exhaustiva. El Siguiente Ajuste: Es igual que el “primer ajuste” con la diferencia que se deja un apuntador al lugar en donde se asignó el último hueco para realizar la siguiente búsqueda a partir de él. Ajuste Rápido: Se mantienen listas ligadas separadas de acuerdo a los tamaños de los huecos, para así buscarle a los procesos un hueco más rápido en la cola correspondiente.

17 Administración de memoria
Técnicas de Administración de Memoria

18 Administración de memoria
Memoria Virtual Problema: Ejecutar un programa que necesita más memoria que la que hay disponible. Kernel 400Kb 200Kb 600Kb ¿? 1000Kb Memoria Real

19 Administración de memoria
Memoria Virtual Solución: Hacer creer al programa que Se está ejecutando en un espacio de direcciones de tamaño apropiado. Kernel 400Kb 200Kb 600Kb + 400Kb ¿? 1000Kb Memoria Real

20 Administración de memoria
Memoria Virtual Idea base: tamaño combinado del programa, los datos y la pila de ejecución puede exceder la cantidad de memoria real disponible para él. El sistema operativo mantiene aquellas partes del programa que se están utilizando en cada momento en la memoria principal y el resto permanece en el disco.

21 Administración de memoria
Memoria Virtual Estadísticamente, se ha demostrado: Todo programa o proceso no utiliza todo su espacio de direcciones en todo momento Los programas tienden a usar mucho las instrucciones que están cercanas a la localidad de la instrucción que se está ejecutando actualmente.

22 Administración de memoria
Memoria Virtual Estructura del bus de memoria

23 Administración de memoria
Memoria Virtual Unidad de Administración de Memoria (MMU) Es un conjunto de chips, que asocian las direcciones virtuales con las direcciones de memoria física. La idea central de la memoria virtual es que dirección es diferente de localización física.

24 Administración de memoria
Memoria Virtual Resumiendo Memoria Física MMU Memoria Virtual

25 Administración de memoria
Memoria Virtual Implementación Memoria Virtual Paginación Segmentación

26 Administración de memoria
Memoria Virtual Implementación: Paginación La memoria física es particionada en bloques de tamaño fijos llamados frames. La memoria lógica es particionada en bloques del mismo tamaño llamados páginas. Cada dirección generada por la CPU es dividida en 2 partes: numero de pagina (p) y offset en la página (d) El número de página es usado como índice en una tabla de páginas. La tabla de páginas contiene la dirección base de cada página en la memoria física.

27 Administración de memoria
Memoria Virtual Implementación: Paginación Páginas Frames Memoria Física Memoria Virtual

28 Administración de memoria
Memoria Virtual Implementación: Paginación Dirección Virtual b d # página Desplazamiento Páginas Frames Memoria Virtual Memoria Física Espacio de Dir. Virtuales: 64kb Tamaño de páginas : 4kb Memoria Física :32kb Tamaño de Frames : 4kb 16 páginas 8 frames

29 Administración de memoria
Memoria Virtual Implementación: Paginación Dirección Virtual b d Tabla de Direcciones Virtuales (TDV) Estado de la Página : Memoria o Disco, Modificada, etc. Nº del frame que le corresponde en memoria física

30 Administración de memoria
Memoria Virtual Implementación: Paginación Dirección Virtual b d Tabla de Direcciones Virtuales (TDV) El bit de caching. Si esté esta desactivado, cuando se produzca una operación de E/S, el sistema operativo busca la información en el hardware y no una copia antigua en el caché.

31 Administración de memoria
Memoria Virtual Implementación: Paginación Dirección Virtual b d En la TDV, se busca cuál es el frame que corresponde a la página b. En este caso es b’. b’

32 Administración de memoria
Memoria Virtual Implementación: Paginación Dirección Virtual b d + b’ b’ + d A b’ se le agrega el Desplazamiento d y se Obtiene la dirección física.

33 Administración de memoria
Memoria Virtual Implementación: Paginación Fallos de página Sucede cuando se está buscando una página cualquiera y ésta no está cargada en memoria  problemas para el administrador de memoria.  tiene que ir a buscar la página al disco y cargarla en memoria.  Lo anterior si es que hay espacio  Si no hay espacio, debe escoger una página y enviarla a disco.  En la TDV debe actualizar el registro de ésta página indicando que ya no está en RAM.  Y después cargar la página deseada desde el disco hacia la memoria principal.

34 Administración de memoria
Memoria Virtual Implementación: Paginación Fallos de página

35 Administración de memoria
Memoria Virtual Implementación: Paginación Fallos de página. Algoritmos de reemplazo. FIFO: Se escoge la página que haya entrado primero y esté cargada en RAM. No es eficiente porque no aprovecha ninguna característica de ningún sistema. Es justa e imparcial. La no usada recientemente: Se escoge la página que no haya sido usada (referenciada) en el ciclo anterior. Pretende aprovechar el hecho de la localidad en el conjunto de trabajo.

36 Administración de memoria
Memoria Virtual Implementación: Paginación Fallos de página. Algoritmos de reemplazo. La usada menos recientemente: Escoge la página que se usó hace más tiempo Nota: como ya tiene mucho sin usarse es muy probable que siga sin usarse en los próximos ciclos. La no usada frecuentemente: Escoge cualquier página que se use muy poco, menos veces que alguna otra. Toma en cuenta la cantidad de referencias que tiene una página.

37 Administración de memoria
Memoria Virtual Implementación: Paginación Fallos de página. Algoritmos de reemplazo. La no usada frecuentemente: Escoge cualquier página que se use muy poco, menos veces que alguna otra. Toma en cuenta la cantidad de referencias que tiene una página. La menos frecuentemente usada: Busca en forma exhaustiva aquella página que se ha usado menos que todas las demás.

38 Administración de memoria
Memoria Virtual Implementación: Paginación Fallos de página. Algoritmos de reemplazo. En forma aleatoria: Elige cualquier página sin aprovechar nada. Es justa e imparcial, pero ineficiente.

39 Administración de la Memoria
Memoria Virtual Segmentación La segmentación es un esquema de administración de memoria que soporta la visión del usuario de la memoria. Código fuente Stack Tabla de símbolos

40 Administración de la Memoria
Memoria Virtual Segmentación Cada segmento tiene un nombre (número) y un largo. La dirección virtual especifica el segmento y el offset del segmento Dirección Virtual s d

41 Administración de la Memoria
Memoria Virtual Segmentación Para mapear la direcciones bidimensionales en una dimensión (dirección física) se utiliza la tabla de segmentos. Cada entrada en la tabla tiene una base y un límite del segmento. La base indica donde comienza el segmento en la memoria física.

42 Administración de la Memoria
Memoria Virtual Segmentación Dirección Virtual s d < limite limite + base base + d Tabla de segmentos. Dirección Física.

43 Administración de la Memoria
Memoria Virtual Segmentación Segmento 0 Segmento 1 Segmento 2 Tabla de Símbolos Texto Stack

44 Administración de la Memoria
Memoria Virtual Segmentación Ventajas Los segmentos no tienen tamaño definido y están asociados a un tipo de dato en particular. Facilita el uso de código compartido entre varios Procesos. Proporciona protección y facilita la utilización de los recursos compartidos.

45 Administración de la Memoria
Memoria Virtual Paginación / Segmentación Se aprovechan los conceptos de la división lógica de los programas (segmentos) con el espacio de direcciones virtuales de las páginas. Un proceso esta repartido en la memoria real en pequeñas unidades (páginas), las que están unidas a través de segmentos.

46 Administración de la Memoria
Memoria Virtual Paginación / Segmentación Se aprovechan los conceptos de la división lógica de los programas (segmentos) con el espacio de direcciones virtuales de las páginas. Un proceso esta repartido en la memoria real en pequeñas unidades (páginas), las que están unidas a través de segmentos.

47 Administración de la Memoria
Memoria Virtual Paginación / Segmentación Dirección Virtual de memoria en Paginación y Segmentación Dirección Virtual s d 2D Dirección := (s,d)

48 Administración de la Memoria
Memoria Virtual Paginación / Segmentación Dirección Virtual de memoria en un Sistema combinado Dirección Virtual s p d 3D Dirección := (p, s, d)

49 Administración de la Memoria
Memoria Virtual Paginación / Segmentación Dirección Virtual de memoria en un Sistema combinado Dirección Virtual s p d 3D Dirección := (s, p, d)

50 Administración de la Memoria
Memoria Virtual Paginación / Segmentación . Tabla de Proc . Tabla de Segmentos Proceso N . Tabla de Páginas Segmento M Frames en memoria real

51 Administración de la Memoria
Memoria Virtual Paginación / Segmentación Tipos de fallos Cuando se hace referencia a una dirección y el segmento que la contiene no está en RAM Por Segmento Por Página

52 Administración de la Memoria
Memoria Virtual Paginación / Segmentación Tipos de fallos: por segmento Cuando se hace referencia a una dirección y el segmento que la contiene no está en RAM, se provoca un fallo por falta de segmento y lo que se hace es traerlo del medio de almacenamiento secundario y crearle una tabla de páginas.

53 Administración de la Memoria
Memoria Virtual Paginación / Segmentación Tipos de fallos: por página Una vez cargado el segmento se necesita localizar la página correspondiente, pero si ésta no existe en RAM, se provoca un fallo de página y se debe cargar del disco. Finalmente se puede traer la dirección deseada por medio del desplazamiento de la dirección virtual.

54 Administración de la Memoria
Sistemas de Archivos Sistemas de Archivos

55 Administración de la Memoria
Sistemas de Archivos La mayoría de aplicaciones necesitan almacenar y recuperar información. Un proceso puede almacenar una cantidad limitada de esta en su propio espacio de direcciones ==> muy pequeño Algunas veces varios procesos necesitan accesar a la misma información simultáneamente.

56 Administración de la Memoria
Sistemas de Archivos Solución: Almacenar la información en medios externos, en unidades denominadas archivos. La información almacenada en los archivos debe ser persistente, es decir, no debe depender de la creación y terminación de un proceso

57 Administración de la Memoria
Sistemas de Archivos Archivos: Los archivos son administrados por el sistema operativo. Su estructura, nombre, forma de acceso, uso, protección e implantación son responsabilidad de él. La parte del sistema operativo que se encarga de esta labor se conoce con el nombre de sistema de archivos.

58 Administración de la Memoria
Sistemas de Archivos Sistema de Archivos: Establece el formato físico en el cual almacenará los datos en discos duros, cintas o discos flexibles. Conceptos asociados: Pistas, sectores, cilindros Tiempo de búsqueda. IDE, SCSI, E-IDE

59 Administración de la Memoria
Sistemas de Archivos Temas a tratar Implantación del Sistema de Archivos Implantación de Directorios Administración del Espacio en Disco Registro de bloques Libres


Descargar ppt "Administración de memoria"

Presentaciones similares


Anuncios Google