32
Gestión de Memoria Sistemas Operativos 4AM ECCI

Gestión de memoria

Embed Size (px)

Citation preview

Page 1: Gestión de memoria

Gestión de MemoriaSistemas Operativos4AMECCI

Page 2: Gestión de memoria

Integrantes De Anónymous

Nicolás Edilberto Rozo Espinosa David Humberto Moreno Moreno Julián Felipe Parra Tunjano Néstor Yesid Beltrán Chiquiza Jorge Leonardo Mejía Rincón

Page 3: Gestión de memoria

Gestión De MemoriaSistema MonoProgramado

La memoria principal se divide en dos partes: una parte para el sistema operativo y otra parte para el programa que se ejecuta en ese instante.

Sistema Multiprogramado

La parte de “Usuario” de la memoria debe subdividirse aún más para hacer sitio a varios procesos.

Page 4: Gestión de memoria

Requisitos De La Gestión De Memoria

Reubicación. Protección. Compartición. Organización Lógica. Organización Física.

Page 5: Gestión de memoria

Reubicación La reubicación permite crear un espacio

lógico independiente para cada proceso y el Sistema Operativo. Direcciones lógicas: direcciones de memoria

generadas por el programa. Direcciones físicas: direcciones de memoria

principal asignadas.

Mientras que se está ejecutando el programa, puede que se descargue en el disco y que vuelva a la memoria principal, pero en una ubicación distinta a la anterior (reubicación).

Page 6: Gestión de memoria

ReubicaciónReubicación Estática

Implica generalmente que la reubicación es realizada antes o durante la carga del proceso en

memoria.

Reubicación Dinámica Implica que la correspondencia

entre el espacio de direcciones virtuales

y el espacio de direcciones físicas

se efectúa en tiempo de ejecución.

Page 7: Gestión de memoria

Protección El código de un proceso no puede hacer

referencia a posiciones de memoria de otros procesos sin permiso, con fines de lectura o escritura sin permiso.

Es imposible comprobar las direcciones absolutas de los programas, puesto que se desconoce la ubicación de un programa en la memoria principal.

Normalmente los procesos de usuario no pueden acceder al sistema operativo

Page 8: Gestión de memoria

Compartición

El sistema de gestión de memoria debe permitir accesos controlados a las áreas compartidas de la memoria, sin comprometer la protección básica.

Page 9: Gestión de memoria

Organización Lógica

La mayoría de los programas se organizan en módulos.

Los módulos pueden escribirse y compilarse independientemente.

Pueden otorgarse distintos grados de protección alguno de los cuales no son modificables y otros contienen datos modificables.

Compartir módulos.

Page 10: Gestión de memoria

Organización Física La memoria principal en algunos casos no

puede ser suficiente para los programas y sus datos.

La superposición permite que varios módulos sean asignados a la misma región de memoria.

El programador no conoce cuanto espacio será asignado o donde se encuentra este espacio.

Page 11: Gestión de memoria
Page 12: Gestión de memoria

Carga De Programas

Para poder crear un proceso activo se requiere cargar un programa en la memoria principal y crear una imagen del proceso

Page 13: Gestión de memoria

Fragmentación interna

Pueden reducirse, aunque no solventarse, ambos problemas, por medio del empleo de particiones de tamaños distintos.

Las particiones de 512K permiten alojar programas mas pequeños con menor desperdicio.

Page 14: Gestión de memoria

Fragmentación Externao La fragmentación externa se produce en

una memoria (RAM o disco duro) en el momento en que no es posible almacenar de forma contigua todos los bloques que componen un archivo.

o si se produce en un disco duro, tiende a provocar múltiples accesos a distintas zonas físicas de los platos que lo componen, con lo que aumenta el tiempo final de lectura de ese archivo.

Page 15: Gestión de memoria

Partición fija La memoria principal se divide en un conjunto

de particiones fijas durante la generación del sistema. Un proceso puede cargar en una partición de mayor tamaño o igual.

Ventajas Su implementación es

sencilla. No sobrecarga el

sistema.

Desventajas Emplea ineficientemente

la memoria debido a que hace una fragmentación

interna. El numero de procesos

activos es fijo.

Page 16: Gestión de memoria
Page 17: Gestión de memoria

Partición Dinámica

Ventajas No hay fragmentación

interna Uso mas eficiente de

la memoria principal

Desventajas Uso indebido del procesador , debido a

la necesidad de compartición para

contrarrestar la fragmentación

externa

Se Crean Dinámicamente, de forma que cada proceso se carga en una partición de exactamente el mismo tamaño que el proceso.

Page 18: Gestión de memoria
Page 19: Gestión de memoria
Page 20: Gestión de memoria

Algoritmo de ubicación En particiones del mismo tamaño, cuando

ahí alguna partición libre, puede cargarse un proceso en esa partición. Si todas las particiones están ocupadas con procesos que no están listos para ejecutarse, uno de estos se saca y da paso a un nuevo proceso, esta decisión de sacar procesos la hace el planificador.

En particiones de distinto tamaño se asigna cada proceso a la partición mas pequeña en la que quepa.

Page 21: Gestión de memoria
Page 22: Gestión de memoria

Algoritmo de Reemplazo

Este algoritmo tiene como finalidad retirar la página que vaya a ser referenciada más tarde. El problema de este método es que necesita conocimiento del futuro, por lo que es imposible su implementación. Es un algoritmo teórico. Se utiliza a los efectos comparativos con los algoritmos factibles de ser implementados para ver cuál se aproxima más a éste.

Page 23: Gestión de memoria

Algoritmo de ubicaciónPartición Fija

En particiones del mismo tamaño, cuando ahí alguna partición libre, puede cargarse un proceso en esa partición. Si todas las particiones están ocupadas con procesos que no están listos para ejecutarse, uno de estos se saca y da paso a un nuevo proceso, esta decisión de sacar procesos la hace el planificador.

En particiones de distinto tamaño se asigna cada proceso a la partición mas pequeña en la que quepa.

Page 24: Gestión de memoria
Page 25: Gestión de memoria

Algoritmo De Ubicación Con Particiones Dinámicas

El sistema operativo debe decidir qué bloque libre se tiene que asignar al proceso.

Algoritmo del mejor ajuste (best-fit): Elige el bloque de tamaño más próximo al

solicitado. Proporciona en general los peores resultados. Puesto que este algoritmo busca el hueco más

pequeño para el proceso, garantiza que el fragmento que se deja es lo más pequeño posible y, por lo tanto, se debe compactar más frecuentemente.

Page 26: Gestión de memoria

Algoritmo de Ubicación con Particiones Dinámicas

Algoritmo del primer ajuste (first-fit): Es más rápido. Puede tener varios procesos cargados en

el extremo inicial de la memoria que es necesario recorrer cuando se intente encontrar un bloque libre.

Page 27: Gestión de memoria

Algoritmo de Ubicación Con Particiones Dinámicas

Algoritmo del siguiente ajuste (next-fit): Lleva frecuentemente a la asignación de

un bloque de memoria de la última ubicación, donde se encuentra el bloque más grande.

El bloque de memoria más grande se divide en fragmentos pequeños.

Hará falta la compactación para obtener un bloque de memoria grande al final del espacio de memoria.

Page 28: Gestión de memoria

Registros Utilizados Durante La Ejecución

Registro base: Se carga con la dirección en la memoria

principal del proceso. Registro límite:

Indica la posición final del programa. Estos valores deben asignarse cuando

se carga el programa y cuando se carga el proceso.

Page 29: Gestión de memoria

Registros Utilizados Durante La Ejecución

Se añade el valor del registro base a la dirección relativa para obtener una dirección absoluta.

La dirección obtenida se compara con el valor del registro límite.

Si la dirección no está dentro de los límites, se generará una interrupción en el sistema operativo.

Page 30: Gestión de memoria

Paginación Simple

La memoria principal se divide en un conjunto de marcos de igual tamaño. Cada proceso se divide en una serie de paginas del mismo tamaño que los marcos . Un proceso se carga situando todas sus paginas en marcos libres pero no necesariamente contiguos.

Ventajas o No tiene fragmentación

externa.

Desventajas o Hay pequeñas

fragmentación externa.

Page 31: Gestión de memoria

Segmentación simple

Cada proceso se divide en una serie de segmentos. Un proceso se carga situando todos sus segmentos en particiones dinámicas que no tienen porque ser contiguas

Ventajas No tiene fragmentación

interna

Desventajas Necesita compactación

Page 32: Gestión de memoria

Gracias

Por Su

Atención