La multiprogramación en memoria real es una técnica de gestión de memoria en sistemas operativos que permite la ejecución simultánea de múltiples programas en la memoria principal del computador. En este enfoque, la memoria física se divide en particiones, y cada programa se carga en una partición separada.



Características principales:

  • Varios programas residen simultáneamente en la memoria principal.
  • Mejora la utilización del CPU y los recursos del sistema.
  • No utiliza memoria virtual o técnicas de paginación.
  • Los programas se ejecutan directamente desde la memoria física.

Ventajas de la Multiprogramación en memoria real

 La multiprogramación en memoria real ofrece varias ventajas significativas, por mencionar algunas tenemos:
  • Mayor utilización del CPU ya que al tener varios programas en memoria, el CPU puede alternar entre ellos, reduciendo el tiempo de inactividad.
  • Mejora en el tiempo de respuesta a los usuarios que experimentan tiempos de respuesta más rápidos, ya que sus programas están listos para ejecutarse en la memoria.
  • Aumenta la productividad y permite a los usuarios trabajar en múltiples tareas simultáneamente.

Desventajas o limitaciones de la Multiprogramación en memoria real.
         
Toda Ventaja tiene su parte negativa, este enfoque tiene algunas limitaciones importantes.
  • Fragmentación de memoria
  • Tamaño limitado de programas 
  • Protección de memoria

¿Cómo funciona la asignación de memoria en la Multiprogramación en memoria real?

La memoria se divide en particiones fijas o variables, a esto le llamamos Partecimiento 
  • Particiones fijas: Tamaños predeterminados, más fáciles de gestionar pero menos flexibles.
  • Particiones variables: Tamaños ajustables según las necesidades de los programas.
Los programas se cargan en particiones que puedan contenerlos completamente y el sistema operativo mantiene tablas que registran qué particiones están ocupadas y cuáles están libres. 

Se utilizan algoritmos como "First Fit", "Best Fit" o "Worst Fit" para decidir en qué partición colocar un nuevo programa y a su vez se implementan mecanismos para evitar que un programa acceda a la memoria de otro, como registros de límites. 

Técnicas utilizadas para mitigar los problemas de la Multiprogramación en memoria real.

La Compactación de memoria: consiste en mover los programas en memoria para consolidar los espacios libres, es costosa en términos de tiempo y recursos del sistemas.

Reubicación dinámica: Permite que los programas se muevan en la memoria durante su ejecución, facilita la compactación y el uso eficiente de la memoria.