Este documento describe varias técnicas de gestión de memoria en sistemas operativos, incluyendo asignación contigua, paginación y segmentación. Explica que la memoria principal debe administrarse cuidadosamente para asignar espacio a procesos cuando lo necesitan y liberarlo cuando terminan. También describe objetivos como ofrecer un espacio lógico propio a cada proceso, protección entre procesos, y maximizar el rendimiento del sistema. Finalmente, compara ventajas y desventajas de diferentes técnicas como paginación y segmentación.
2. Gestión de
Memoria
MMU MEMORIA REAL O PRINCIPAL
Procesos de
Usuario
Paginación MEMORIA VIRTUAL
Segmentación
3. La memoria es uno de los principales recursos de la
computadora, la cual debe de administrarse con mucho
cuidado.
Aunque actualmente la mayoría de los sistemas de
cómputo cuentan con una alta capacidad de memoria, de igual
manera las aplicaciones actuales tienen también altos
requerimientos de memoria, lo que sigue generando escasez de
memoria en los sistemas multitarea y/o multiusuario.
La parte del sistema operativo que administra la memoria
se llama administrador de memoria y 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.
4. Gestión de
Memoria
Objetivos de la Gestión de
Memoria
MMU
Ofrecer a cada proceso un espacio lógico propio.
Procesos de Proporcionar protección entre los procesos.
Usuario
Permitir que los procesos compartan memoria.
Paginacion Maximizar el rendimiento del sistema
Segmentacion
5. Gestión de GESTOR DE MEMORIA
Memoria
Es la parte del sistema operativo que gestiona la
MMU
jerarquía de memoria
Procesos de Asignación de Memoria Principal a los procesos que la
Usuario
solicitan
Paginacion Localización de espacios libres, y ocupados
Aprovechamiento máximo de dicha memoria
Segmentacion
6. Al realizar un estudio de los diversos mecanismos y
Gestión de políticas relacionadas con la gestión de memoria, vale
Memoria
la pena tener en mente los requisitos que se intentan
satisfacer.
MMU
Hay 5 requisitos:
Procesos de
Usuario Reubicación
Protección
Compartición
Paginacion
Organización Lógica
Organización Física
Segmentacion
7. Gestión de
Memoria
Protección: En un sistema con multiprogramación
MMU es necesario proteger al sistema operativo y a los
otros procesos de posibles accesos que se
puedan realizar a sus espacios de direcciones.
Procesos de
Usuario
interrumpido
Paginacion
interferencia
Segmentacion
8. Gestión de
Memoria
Reubicación: En un sistema multiprogramado la
memoria se encuentra compartida por varios procesos,
MMU
por lo tanto, los procesos deben ser cargados y
descargados de memoria.
Procesos de
Usuario
Paginación
Enviado a
disco
cargado
Segmentación
9. Gestión de
Memoria
Compartición: En ciertas situaciones, bajo la
MMU supervisión y control del sistema operativo, puede
ser provechoso que los procesos puedan
compartir memoria.
Procesos de
Usuario
Paginacion
Segmentacion acceden Copia
programa
10. Gestión de Organización Lógica: Tanto la memoria principal
Memoria como la secundaria presentan una organización
física similar, como un espacio de direcciones lineal
y unidimensional.
MMU
CORRESPONDENCIA
Procesos de
Usuario
Organización Física: Debe ser parte de la gestión de
memoria, la organización del flujo de información
Paginación entre la memoria principal y la memoria secundaria.
Segmentacion ELM
JULIO 2008 SISTEMAS OPERATIVOS
11. Direcciones físicas
Gestión de Son aquellas que referencian alguna posición en la
Memoria memoria física
MMU
Procesos de
Usuario Direcciones lógicas
son las direcciones utilizadas por los procesos
Paginacion
Segmentacion
12.
13. • Asignación de Espacio Contiguo
• La memoria principal se encuentra dividida en dos
Gestión de partes:
Memoria – SO residente (kernel), normalmente en posiciones
bajas de la memoria
MMU – Zona para los procesos de usuario, normalmente
en posiciones altas de la memoria
• La zona para procesos de usuarios se encuentra
Procesos de dividida a su vez en varias particiones que se
Usuario asignarán a los procesos
– Particionamiento Estático: las particiones se
establecen en el momento de arranque del SO y
Paginación permanecen fijas durante todo el tiempo
– Particionamiento Dinámico: las particiones
cambian de acuerdo a los requisitos de los
Segmentación procesos
14. Asignación Estática de Memoria Particionada
Hueco. bloque de memoria disponible; hay
Gestión de
Memoria huecos de diversos tamaños repartidos por toda la
memoria
Cuando llega un proceso se le asigna un hueco lo
MMU suficientemente grande para que quepa
Asignación Estática de Memoria Particionada
Primer ajuste (First-fit): Se asigna el primer hueco lo
Procesos de
Usuario suficientemente grande
Mejor ajuste (Best-fit): Se asigna el hueco más
pequeño que es lo suficientemente grande; hay que
Paginación buscar en la lista entera de huecos (salvo si está
ordenada por tamaño)
Desperdicia el menor espacio posible
Segmentación
Hay varias formas de satisfacer una solicitud de
tamaño n partiendo de una lista de huecos
16. • Protección con Asignación Estática
Gestión de • Los registros de reubicación se usan para proteger los
Memoria procesos de usuario unos de otros y del código y datos del
SO
– El registro base contiene la dirección física más baja a la que
puede acceder el proceso
MMU • El registro límite contiene el tamaño de la zona de memoria
accesible por el proceso – las direcciones lógicas deben ser
menores que el registro límite
Procesos de • Asignación Dinámica de Memoria Particionada
Usuario • Ahora el tamaño y ubicación de las particiones no es fijo sino
que cambia a lo largo del tiempo
• Cuando llega un proceso se le asigna memoria de un hueco
lo suficientemente grande para que quepa
Paginación – Con el espacio sobrante del hueco se crea una nueva partición
libre (hueco)
• En este tipo de asignación las consideraciones de protección
son las mismas que en la asignación estática
Segmentación
JULIO 2008 SISTEMAS OPERATIVOS
17. • Asignación Dinámica de Memoria
Gestión de • Primer ajuste (First-fit): Se asigna el primer
Memoria hueco lo suficientemente grande
• Mejor ajuste (Best-fit): Se asigna el hueco más
pequeño que es lo suficientemente grande; hay
MMU
que buscar en la lista entera de huecos (salvo si
está ordenada por tamaño)
Procesos de – Da lugar al hueco más pequeño
Usuario • Peor ajuste (Worst-fit): Se asigna el hueco más
grande; hay que buscar en la lista completa de
huecos (salvo si está ordenada por tamaño)
Paginación – Da lugar al hueco más grande
Segmentación
JULIO 2008 SISTEMAS OPERATIVOS
18. Gestión de • Fragmentación
Memoria • La fragmentación es la memoria que queda
desperdiciada al usar los métodos de gestión de
memoria que se vieron en los métodos
MMU anteriores. Tanto el primer ajuste, como el mejor
y el peor producen fragmentación externa.
Procesos de • La fragmentación es generada cuando durante
Usuario el reemplazo de procesos quedan huecos entre
dos o más procesos de manera no contigua y
cada hueco no es capaz de soportar ningún
proceso de la lista de espera
Paginación
Segmentación
20. Gestión de
Memoria
• Fragmentación Externa – hay
MMU
suficiente memoria libre para
satisfacer una petición, pero esa
memoria no es contigua
Procesos de
Usuario • Fragmentación Interna – la
memoria asignada puede ser
Paginacion
ligeramente mayor que la
solicitada; esta diferencia de
tamaño se encuentra en la
Segmentacion partición pero no es usada
23. Gestión de
Memoria Partición de la memoria en pequeños pedazos del
mismo tamaño (chunks) y dividir cada proceso en
trozos del mismo tamaño
MMU
Los trozos (chunks) de un proceso se llaman
páginas y los de la memoria se llaman marcos de
Procesos de página (frames)
Usuario
El sistema operativo mantiene una tabla de
página para cada proceso
Paginacion
Proceso de migracion necesasio para atender
fallos de pagina
Segmentacion
24. Gestión de
Memoria El sistema operativo mantiene una tabla de página para
cada proceso
MMU Contiene la ubicación del marco de página (frame) de
cada página del proceso
Procesos de
Usuario La dirección de memoria consiste en un número de
página y un desplazamiento (offset) dentro de la página
Paginacion
Segmentacion
25. • Cada pagina tiene un numero
Gestión de que se utiliza como indice en la
Memoria
tabla de paginas, lo que da por
MMU
resultado el numero del marco
correspondiente a esa pagina
Procesos de virtual. La finalidad de la tabla de
Usuario
paginas es asociar las paginas
virtuales con los marcos.
Paginacion
Segmentacion
28. Gestión de
Memoria Se divide la memoria física en bloques de tamaño fijo
llamados marcos (frames).
MMU
Se divide la memoria en bloques de tamaño llamados
paginas.
Procesos de
Usuario
Se mantiene información en los marcos libres.
Paginación Se produce fragmentación interna
Segmentación
29. Es posible comenzar a ejecutar un programa
Gestión de
Memoria No es necesario que las paginas estén contiguas
en memoria
MMU
Es fácil controlar todas las páginas, ya que tienen el
mismo tamaño.
Procesos de
Usuario Se libera al programador de la restricción de
programar para un tamaño físico de memoria
Paginacion Se puede aumentar el numero de programas
multiprogramándose.
Segmentacion Todo el mecanismo es transparente al usuario
30. Gestión de
Memoria El costo de hardware y software se incrementa
MMU Se consume mucho mas recursos de memoria, tiempo
en el CPU para su implantación.
Procesos de
Usuario . Aparece el problema de fragmentación interna
.
Paginacion
Segmentacion
31.
32. Gestión de
Memoria
Es un esquema de manejo de memoria mediante el
MMU cual la estructura del programa refleja su división lógica;
Procesos de
Usuario
Paginacion
Segmentacion
33. Gestión de
Memoria
Modularidad de programas
MMU
Estructuras de datos de largo variable
Procesos de Protección:
Usuario
Comparación:
Paginacion Enlace dinámico entre segmentos
Segmentacion
34. Gestión de
Memoria Se garantiza la facilidad de implantar la comparticion y
enlace.
MMU
Se simplifican las estrategias de almacenamiento.
Procesos de
Usuario
Se elimina el problema de la fragmentación externa y
Paginación la necesidad de compactación
Segmentación
35. Hay un incremento en los costos de hardware y de
Gestión de software
Memoria
Problemas de fragmentación externas,
MMU
Se complica el manejo de memoria virtual
Procesos de Puede ser necesarios planes de reubicación a nivel de
Usuario
los discos
No se puede garantizar, que al salir un segmento de la
Paginacion
memoria, este pueda ser traído fácilmente de nuevo,
Requiere de mecanismos adicionales da hardware y
Segmentacion software.
36. Gestión de
Memoria Segmentación Paginada
MMU Bajo esta técnica conocida se trata de
minimizar las desventajas de la
Procesos de segmentación
Usuario
Paginacion
Segmentacion
37. Gestión de
Memoria El programador puede conocer las unidades lógicas de
su programa
MMU Es posible compilar módulos por separados
Procesos de Fácil la modificación de los módulos
Usuario
Es fácil el compartir segmentos
Paginacion Existe la posibilidad de definir segmentos que aun no
existan
Segmentacion
38. Gestión de de su implantacion
Memoria
MMU
Incremento del costo
Procesos de
Usuario
Paginacion
de almacenamiento
Segmentacion
39. Gestión de En la memoria principal son ejecutados los programas y
Memoria
procesos de una computadora y es el espacio real que
existe en memoria para que se ejecuten los procesos
MMU
Las direcciones de memoria son de tres tipo: físicas,
lógicas y lineales
Procesos de
Usuario Las estrategias mas comunes para asignar espacios
vacíos (huecos) son: primer ajuste, mejor ajuste, peor ajuste
Paginacion La fragmentación puede ser interna o externa
Segmentacion
40. Técnica Descripción Ventajas Desventajas
Esquemas de
Asignación Contigua
La memoria principal se divide en un Sencilla de implementar, Empleo ineficiente de la
Partición conjunto de particiones estáticas, durante la poca sobrecarga del memoria debido a la
Estática generación del sistema. Un proceso se
puede cargar en una partición de igual o
sistema operativo. fragmentación interna. El
número de procesos
mayor tamaño. activos es fijo.
Las particiones se crean No hay fragmentación Uso ineficiente del
Partición dinámicamente, de forma que cada interna, uso más procesador debido a la
Dinámica proceso se carga en una partición de su eficiente de la memoria compactación para
contrarrestar la
mismo tamaño. principal.
fragmentación externa.
Esquemas de Asignación
no Contigua
La memoria principal se divide en un Hay una pequeña
Paginación conjunto de marcos de igual tamaño. Cada
No tiene
proceso se divide en páginas de igual fragmentación cantidad de
tamaño que los marcos. Un proceso se
externa fragmentación
carga situando todas sus páginas en
marcos libres pero no necesariamente interna.
contiguos.
Cada proceso se divide en segmentos. Un No tiene Mejora la utilización de la
Segmentación proceso se carga situando todos sus memoria y reduce la
segmentos en particiones dinámicas que no fragmentación sobrecarga comparada
tienen por qué ser contiguas. interna. con la partición dinámica.