Multiprogramación

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar

La multiprogramación es una técnica de multiplexación que permite la ejecución simultánea de múltiples procesos en un único procesador. En realidad, esta técnica produce una ilusión de paralelismo, de manera que parece que todos los procesos se están ejecutando a la vez. Sin embargo, hay un único proceso ejecutandose en el procesador a la vez.

El siguiente diagrama de ejemplo representa el uso del procesador por tres procesos:

                   Uso del procesador

proceso A    | ----              ----              ---- 
proceso B    |       ----              ----              ---- 
proceso C    |             ----              ----              ----
planificador |     --    --    --    --    --    --    --    --
 de procesos |
             |______________________________________________________

                                                                 ->
                                                             tiempo

Como se puede observar en el ejemplo anterior, los procesos alternan periodos de en los que progresan en su actividad, cuando están asignados al procesador, con periodos de inactividad, en los que no progresan en absoluto.

Si los periodos de inactividad son los suficientemente pequeños como para que el usuario del sistema operativo no los note, que en práctica se traduce a periodos de inactividad de menos de 100ms, el efecto causado es una ilusión de paralelismo.

El planificador de procesos es la parte del sistema operativo que se encarga de decidir qué proceso emplea el procesador en cada instante, por tanto, es el encargado de implementar la multiprogramación.