Multiprogramación

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

Se denomina multiprogramación a la técnica que permite que dos o más procesos ocupen la misma unidad de memoria principal y sean ejecutados al "mismo tiempo" en una CPU (en realidad estamos ante un pseudo-paralelismo, dado que en una única CPU sólo puede haber un proceso ejecutándose a la vez). La idea detrás de esto es que, dadas las velocidades de procesamiento actuales, se crea una "sensación" de simultaneidad para el usuario del sistema.

Por ejemplo, cuando un proceso en ejecución llega al punto de tener que esperar por un dispositivo de E/S, el CPU quedará desocupado tanto y cuanto el proceso siga en espera y no retome su ejecución. Los sistemas que implementan multiprogramación evitan eso, ya que durante ese tiempo de espera pasan a ejecutar otro proceso teniendo así la CPU ocupada de forma constante.

Ventajas [editar]

  • Varios procesos en ejecución
  • Permite el servicio interactivo simultáneo a varios usuarios de manera eficiente
  • Aprovecha los tiempos que los procesos pasan esperando a que se completen sus operaciones de E/S y por ende aumenta la eficiencia en el uso del CPU
  • Las direcciones de los procesos son relativas, el programador no se preocupa por saber en dónde estará el proceso dado que el sistema operativo es el que se encarga de convertir la dirección lógica en física