ScholarGate
Asistente

Gestión de Memoria (Sistemas Operativos)

La gestión de memoria del sistema operativo asigna memoria física a los procesos, implementa la paginación y la segmentación, elige qué páginas mantener residentes y recupera memoria, mediando entre las demandas de los programas y la RAM física limitada.

Encontrar tema con PaperMindPróximamenteFind papers & topics
Tools & resources
Descargar diapositivas
Learn & explore
VídeoPróximamente

Definition

La gestión de memoria del sistema operativo es el conjunto de políticas y mecanismos mediante los cuales el sistema operativo asigna memoria física a los procesos, organiza sus espacios de direcciones a través de la paginación o segmentación, y decide qué datos permanecen en memoria versus en el almacenamiento de respaldo.

Scope

Este tema cubre el papel del sistema operativo en la gestión de la memoria principal: diseño del espacio de direcciones, asignación contigua y fragmentación, paginación y segmentación, algoritmos de reemplazo de páginas (FIFO, LRU, reloj, óptimo), asignación de marcos y políticas que previenen el thrashing. Complementa la visión de hardware de la memoria virtual, centrándose en la política del sistema operativo. Excluye las estructuras de traducción de hardware (memoria virtual y paginación) y el almacenamiento de archivos en disco (sistemas de archivos).

Core questions

  • ¿Cómo asigna el sistema operativo la memoria física a los procesos y limita la fragmentación?
  • ¿Cómo organizan la paginación y la segmentación un espacio de direcciones?
  • ¿Qué algoritmo de reemplazo de páginas se aproxima mejor a desalojar la página con menos probabilidades de ser utilizada pronto?
  • ¿Cómo se asignan los marcos entre procesos para mantener los conjuntos de trabajo residentes y evitar el thrashing?

Key concepts

  • diseño del espacio de direcciones
  • asignación contigua y fragmentación
  • paginación y segmentación
  • algoritmos de reemplazo de páginas (FIFO, LRU, reloj, óptimo)
  • asignación de marcos
  • paginación por demanda
  • thrashing y conjunto de trabajo
  • recuperación de memoria

Key theories

Reemplazo de páginas y localidad
Dado que la política ideal de desalojar la página utilizada más tarde en el futuro es irrealizable, los algoritmos prácticos (LRU, reloj) la aproximan utilizando información de uso reciente; su eficacia depende de la localidad capturada por el modelo de conjunto de trabajo.

Mechanisms

El sistema operativo rastrea la memoria libre y asignada y mapea el espacio de direcciones de cada proceso, comúnmente a través de la paginación que divide la memoria en marcos de tamaño fijo. Ante un fallo de página, trae la página necesaria, desalojando una página residente elegida por un algoritmo de reemplazo como el de reloj o LRU. Asigna marcos entre procesos para mantener sus conjuntos de trabajo residentes; cuando la demanda excede la capacidad, las políticas de conjunto de trabajo y frecuencia de fallos de página reducen la multiprogramación para evitar el thrashing.

Clinical relevance

Una gestión de memoria eficaz permite que muchos programas compartan una RAM limitada de manera fluida y es fundamental para el rendimiento y la capacidad de respuesta del sistema. Un reemplazo deficiente o un exceso de compromiso provocan thrashing y ralentizaciones graves, mientras que características como el sobrecompromiso de memoria, la compresión y la copia en escritura (copy-on-write) sustentan la eficiencia de los servidores, contenedores y máquinas virtuales modernos.

History

La gestión de memoria evolucionó desde la asignación contigua simple y las superposiciones hasta la paginación y la segmentación a medida que la memoria virtual maduró en las décadas de 1960 y 1970. La teoría del conjunto de trabajo de Denning aclaró cómo asignar marcos y evitar el thrashing, y los algoritmos de reemplazo como la aproximación de reloj se convirtieron en estándar en los sistemas operativos de producción.

Key figures

  • Peter J. Denning
  • Abraham Silberschatz
  • Andrew S. Tanenbaum

Related topics

Seminal works

  • silberschatz2018
  • denning1968
  • tanenbaum2014os

Frequently asked questions

¿Cuál es la diferencia entre paginación y segmentación?
La paginación divide la memoria en páginas y marcos de tamaño fijo, simplificando la asignación y eliminando la fragmentación externa. La segmentación divide un espacio de direcciones en segmentos de tamaño variable y lógicamente significativos (como código, pila, heap). Algunos sistemas los combinan, paginando dentro de los segmentos.
¿Por qué el sistema operativo no siempre puede usar la política óptima de reemplazo de páginas?
La política óptima desaloja la página que no se utilizará durante más tiempo, lo que requiere conocer el futuro. Dado que el sistema operativo no puede conocer las referencias futuras, utiliza aproximaciones como el algoritmo de menos recientemente usado (LRU) o el algoritmo de reloj que infieren el uso futuro probable a partir del uso pasado reciente.

Methods for this concept

Related concepts