Multiprogramación
Se denomina multiprogramación a una técnica por la que dos o más procesos pueden alojarse en la memoria principal y ser ejecutados concurrentemente por el procesador o CPU.
Con la multiprogramación, la ejecución de los procesos (o hilos) 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 solo 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.[1]
En los antiguos sistemas monoprogramados, cuando un proceso en ejecución requería hacer uso de un 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 Px concluye o se bloquea (en espera de una operación de E/S), el 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 Py para que se ejecute. Nótese que cuando el proceso Px 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.
Ventajas
- 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
Referencias
- ↑ Prieto Espinosa, Alberto (2002). Introducción a la Informática. Madrid: McGraw-Hill. pp. 476-482. ISBN 84-481-3217-3.
Bibliografía
- Alberto Prieto Espinosa (2002). Introducción a la Informática. McGraw-Hill. ISBN 84-481-3217-3.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.