Diferencia entre revisiones de «Multiprogramación»

Contenido eliminado Contenido añadido
SeroBOT (discusión · contribs.)
m Revertidos los cambios de 37.15.45.190 (disc.) a la última edición de SeroBOT
Etiqueta: Reversión
Ursulabela (discusión · contribs.)
m Correcciones ortográficas con Replacer (herramienta en línea de revisión de errores)
Línea 1:
Se denomina '''multiprogramación''' a una técnica por la que dos o más [[Proceso (informática)|proceso]]s pueden alojarse en la [[Memoria de ordenador|memoria]] principal y ser ejecutados [[Computación concurrente|concurrentemente]] por el procesador o [[CPU]].
 
Con la multiprogramación, la ejecución de los procesos (o [[Hilo (informática)|hilo]]s) se va solapando en el tiempo a tal velocidad, que causa la impresión de realizarse en paralelo (simultáneamente). Se trata de un paralelismo simulado, dado que la CPU sólosolo puede trabajar con un proceso cada vez (el ''proceso activo''). De ahí que, en rigor, se diga que la CPU ejecuta «concurrentemente» (no simultáneamente) varios procesos; en un lapso de tiempo determinado, se ejecutarán alternativamente partes de múltiples procesos cargados en la memoria principal.<ref>{{cita libro|apellidos=Prieto Espinosa|nombre=Alberto|título=Introducción a la Informática|año=2002|editorial=McGraw-Hill|isbn=84-481-3217-3|páginas=476-482|ubicación=Madrid}}</ref>
 
En los antiguos sistemas monoprogramados, cuando un proceso en ejecución requería hacer uso de un [[Dispositivo de entrada/salida|dispositivo de E/S]], el procesador quedaba ocioso mientras el proceso permaneciese en espera y no retomara su ejecución. En cambio, en un sistema multiprogramado, cuando un proceso <var>P</var><sub>x</sub> concluye o se bloquea (en espera de una [[Entrada/salida|operación de E/S]]), el [[Núcleo (informática)|núcleo]] del sistema operativo toma el control de la CPU para efectuar lo que se denomina un «[[cambio de contexto]]», a fin de dar turno a otro proceso <var>P</var><sub>y</sub> para que se ejecute. Nótese que cuando el proceso <var>P</var><sub>x</sub> recupere su turno, reanudará su ejecución justo en el punto exacto en que se interrumpió. Este mecanismo supone un mejor reparto de la [[carga de trabajo]] y un mayor aprovechamiento de la CPU, lo que redunda en un mayor rendimiento del sistema.