Tiempo estimado: 60 min | Nivel: Intermedio

Tema 6: Gestión de Memoria en Sistemas Operativos

Comprendiendo la asignación, protección y optimización de memoria para un rendimiento óptimo del sistema

Objetivos del Tema

Introducción

Introducir el concepto de gestión de memoria en sistemas operativos, su importancia y funciones principales

Protección

Comprender la protección de memoria entre procesos y la asignación eficiente

Optimización

Analizar técnicas de optimización para minimizar fragmentación y maximizar rendimiento

Pregunta de reflexión inicial

¿Por qué es fundamental gestionar la memoria en un sistema operativo? Reflexiona sobre esto mientras exploras el tema.

1 Fundamentos de Gestión de Memoria

Definición de Memoria en Sistemas Informáticos

La memoria en un sistema informático se refiere al componente que almacena datos y programas en tiempo de ejecución para que la CPU pueda acceder a ellos rápidamente. Es esencial para el funcionamiento adecuado de cualquier sistema.

Acceso Rápido

Permite acceso rápido de la CPU a datos y programas

Almacenamiento Temporal

Almacena programas en ejecución y datos activos

Rendimiento

Determina la capacidad de procesamiento del sistema

Objetivos de la Gestión de Memoria
Asignación y Liberación

Gestionar qué proceso tiene acceso a qué parte de la memoria en cada momento

Protección

Garantizar que un proceso no interfiera en el espacio de memoria de otro proceso

Optimización

Lograr un uso eficiente, minimizando fragmentación y maximizando rendimiento

2 Tipos de Gestión de Memoria

Memoria Contigua

Cada proceso recibe un bloque continuo de memoria

Ventajas Desventajas
  • Simple de implementar
  • Acceso rápido a memoria
  • Fácil gestión
  • Fragmentación interna
  • Fragmentación externa
  • Desperdicio de espacio

Memoria No Contigua

El proceso puede cargarse en bloques de memoria física no consecutivos

Ventajas Desventajas
  • Mejor aprovechamiento
  • Reduce fragmentación
  • Flexibilidad
  • Complejidad en gestión
  • Overhead adicional
  • Tablas de mapeo
Jerarquía de Memoria
Memoria Caché

Más rápida, más cara, menor capacidad

RAM

Memoria principal, volátil

Almacenamiento Secundario

Discos duros, no volátil

Almacenamiento Terciario

Cintas, backups en la nube

3 Métodos de Asignación de Memoria

Tipos de Asignación
Asignación Dinámica

La memoria se asigna a los procesos mientras se ejecutan, y se libera al finalizar.

Swapping: Procesos se intercambian entre RAM y disco duro cuando la memoria principal se llena.

Asignación Estática

La memoria se asigna al inicio de la ejecución y permanece fija durante todo el tiempo de ejecución del proceso.

Métodos de Asignación de Memoria Principal
Particionamiento Fijo

La memoria principal se divide en particiones de tamaño fijo.

Problema: Uso ineficiente si procesos no usan toda la partición asignada.

Particionamiento Dinámico

Particiones se crean y asignan dinámicamente según solicitudes.

Ventaja: Asigna particiones del tamaño exacto que necesita cada proceso.

Paginación

Memoria se divide en bloques de tamaño fijo llamados páginas.

Ventaja: Gestión flexible al asignar memoria física según necesidad.

Fragmentación de la Memoria
Fragmentación Interna

Ocurre cuando hay espacio no utilizado dentro de una partición asignada a un proceso. Ejemplo: proceso solicita 50MB pero recibe partición de 64MB.

Fragmentación Externa

Ocurre cuando hay suficiente espacio libre en total, pero fragmentado en bloques pequeños. Dificulta asignación de memoria a procesos nuevos.

4 Memoria Principal (RAM)

Definición y Características

La memoria principal (RAM) es un componente físico del hardware donde se almacenan programas en ejecución y datos con los que la CPU trabaja directamente.

Volátil

Pierde su contenido cuando se apaga la computadora

Acceso Directo

Permite acceso aleatorio y rápido a cualquier ubicación

Trabajo con CPU

Almacena datos con los que la CPU trabaja directamente

Determinante de Rendimiento

Determina cantidad de datos accesibles para la CPU

Problemas Comunes de la Memoria Principal
Contención de Memoria

Ocurre cuando varios procesos compiten por los mismos recursos de memoria

Fragmentación

Tanto interna como externa, afecta la eficiencia de la memoria

Optimización del Uso de la Memoria Principal
Técnicas de Swapping

Intercambiar procesos a memoria secundaria cuando no hay suficiente RAM

Algoritmos de Reemplazo

FIFO, LRU y otros para gestionar páginas en memoria

Memoria Compartida

Facilita comunicación entre procesos sin duplicar memoria utilizada

5 Algoritmos de Reemplazo de Páginas

Cuando la memoria está llena y se necesita cargar una nueva página, estos algoritmos deciden qué página existente debe ser reemplazada.

FIFO

First In, First Out

Función: Reemplaza la página más antigua en la memoria

Ventaja: Simple de implementar

Desventaja: Puede eliminar páginas útiles antes de tiempo

LRU

Least Recently Used

Función: Reemplaza la página no accedida durante más tiempo

Ventaja: Mejor rendimiento al mantener páginas frecuentes

Desventaja: Más complejo de implementar

Optimal

Algoritmo Óptimo

Función: Reemplaza página que no se usará durante más tiempo

Ventaja: Mejor rendimiento teórico

Desventaja: Difícil implementación práctica

6 Memoria Virtual

Definición de Memoria Virtual

Técnica que permite ejecutar programas más grandes que la memoria física disponible, utilizando combinación de RAM y espacio en disco de manera transparente.

Ventajas
  • Permite ejecutar programas más grandes que RAM física
  • Mejora utilización de recursos del sistema
  • Permite más procesos simultáneamente
  • Gestión transparente de memoria
Desventajas
  • Overhead adicional en el sistema
  • Acceso a disco más lento que RAM
  • Puede degradar rendimiento si se usa en exceso
  • Requiere gestión compleja
Técnicas de Memoria Virtual
Paginación

Memoria virtual y física se dividen en bloques de tamaño fijo (páginas)

Ventaja: Facilita gestión eficiente de memoria

Segmentación

Divide memoria en segmentos lógicos (código, datos, pila)

Ventaja: Organiza programas de manera efectiva

Técnicas de Asignación de Espacio en Disco
Swapping

Bloques completos de datos se transfieren entre RAM y disco según necesidad

Paginación Bajo Demanda

Solo se transfieren páginas individuales según sea necesario

Impacto en el Rendimiento
Overhead

Proceso de paginación genera overhead que puede afectar rendimiento

Thrashing

Ocurre cuando se intercambian constantemente páginas entre RAM y disco

Espacios de Direcciones

Virtual: Conjunto de direcciones que un programa puede usar (independiente de memoria física)

Físico: Direcciones correspondientes a memoria física disponible (limitada por hardware)

Test de Comprensión

1

¿Cómo se optimiza el uso de la memoria RAM en un sistema operativo moderno?

2

¿Qué problemas pueden surgir si no se gestiona correctamente la memoria?

3

¿Cómo afecta la capacidad de la memoria RAM al rendimiento general de un sistema operativo?

4

¿Por qué es fundamental gestionar la memoria en un sistema operativo?

5

¿Por qué los sistemas operativos modernos dependen tanto de la memoria virtual?

6

¿Qué sucede cuando se utiliza demasiada memoria virtual en un sistema?

Actividad Evaluativa

Parte 1 - Análisis Conceptual

Responde las siguientes preguntas fundamentales sobre gestión de memoria:

  • Explica la diferencia entre fragmentación interna y externa, dando un ejemplo de cada una
  • Compara los algoritmos FIFO, LRU y Optimal para reemplazo de páginas
  • Describe cómo funciona el swapping y cuándo es necesario utilizarlo
  • Explica qué es el thrashing y cómo puede prevenirse
Parte 2 - Diseño de Esquema

Diseña un esquema conceptual que muestre:

  • La relación entre memoria física, memoria virtual y gestión de procesos
  • El flujo de datos entre RAM, disco y CPU durante el swapping
  • Cómo se organiza la jerarquía de memoria en un sistema moderno
  • El proceso de paginación bajo demanda
Criterios de evaluación (20 puntos):
5

Claridad y precisión en respuestas conceptuales

5

Correcta comparación de algoritmos y técnicas

5

Diseño completo del esquema conceptual

5

Creatividad y organización del material presentado

Entrega:

Documento con respuestas y esquema conceptual antes de la próxima sesión.

Material de Estudio

PDF del tema

Documentación completa sobre Gestión de Memoria

Guía de estudio

Resumen y ejercicios prácticos

Video explicativo

Demostración de algoritmos de memoria

Simulador interactivo

Simulación de algoritmos de reemplazo

Información del Tema

Docente

Ing. Eduardo Rueda Fajardo

Unidad

Unidad 3: Gestión de Memoria

Universidad

Universidad de Pamplona

Programa

Ingeniería de Sistemas


Glosario de Términos
RAM

Memoria principal, volátil, almacena programas en ejecución

Fragmentación

Interna (espacio no usado dentro partición) y externa (espacios libres pequeños)

Paginación

División de memoria en bloques de tamaño fijo llamados páginas

Swapping

Intercambio de procesos entre RAM y disco cuando la memoria está llena

Memoria Virtual

Técnica que combina RAM y disco para ejecutar programas grandes

Thrashing

Intercambio constante de páginas entre RAM y disco por falta de memoria

FIFO

First In, First Out - Algoritmo de reemplazo de páginas

LRU

Least Recently Used - Algoritmo de reemplazo de páginas


Enlaces Relacionados