Arquitectura de la computadora: ¿Cómo distinguiría entre multiprocesamiento, multitarea y multiprogramación?

Multiprogramación : más de un programa se encuentra en la memoria. El sistema operativo selecciona un trabajo / programa de un grupo de trabajos y comienza a ejecutar un trabajo, cuando ese trabajo necesita esperar cualquier operación de E / S, la CPU cambia a otro trabajo

Ejemplo de multiprogramación, abrimos Word, Excel, Access y otras aplicaciones juntas, pero mientras escribimos Word, otras aplicaciones como Excel y Access solo están presentes en la memoria principal, pero no realizan ninguna tarea o trabajo. O podemos decir que no se están utilizando al mismo tiempo.

Importante : la multiprogramación no garantiza que un programa se ejecutará de manera oportuna. De hecho, el primer programa puede funcionar durante horas sin necesidad de acceder a un periférico.

La multitarea significa realizar múltiples tareas en paralelo. Por lo general, la CPU procesa solo una tarea a la vez, pero el cambio de CPU entre los procesos (también conocido como Cambio de contexto) es tan rápido que parece que la CPU (o procesador) está ejecutando múltiples procesos a la vez.

Multiprocesamiento : las tareas se distribuyen entre dos o más unidades de procesamiento central (CPU)

La multitarea y la multiprogramación son esencialmente lo mismo en un contexto informático. El mismo procesador ejecuta varias tareas / programas con tiempo compartido igual o prioritario y cambio de contexto entre programas.

La multitarea es un nombre genérico que también se aplica a cualquier contexto genérico fuera de la informática. Cuando estás comiendo y viendo películas y leyendo libros simultáneamente, eso es multitarea. La multiprogramación, por otro lado, se aplica solo a un procesador de computadora.

El multiprocesamiento es diferente. El mismo programa o problema es tan grande o necesita varias funciones o la misma función con diferentes entradas para procesarse en paralelo que no se puede hacer en un procesador. Varios procesadores dicen que 32/64/128 o más ejecutan el mismo programa en paralelo. Un buen ejemplo: secuenciación de ADN. Es un programa único pero necesita multiprocesamiento superdistribuido hiperescalar.

El procesamiento múltiple, la programación múltiple y la tarea múltiple se refieren a la acción de ejecutar varios procesos en un momento determinado.
El procesamiento múltiple se produce por la presencia de varios procesos físicamente, mientras que la programación múltiple y la tarea múltiple son meras ilusiones provocadas por el sistema operativo que trabaja para el uso máximo del tiempo de CPU. Dado que un procesador solo puede funcionar en un proceso a la vez, tener múltiples procesadores es la única forma en que un sistema será realmente capaz de procesar múltiples.
En la programación múltiple y la multitarea, se cargarán múltiples programas en la memoria principal en una instancia y se les dará turnos para usar la CPU. No requieren la presencia de varios procesadores.
En la programación múltiple, los programas completos tienen tiempo de CPU y pueden continuar hasta que finalice o se bloquee por algún motivo (como las operaciones de E / S), lo que permite que otro programa use la CPU.
En la multitarea, el sistema operativo asigna tiempo de CPU para partes de procesos y una vez que finaliza el intervalo de tiempo para una tarea, otra tarea se hará cargo del uso de la CPU, lo que da la ilusión de que las tareas se están procesando al mismo tiempo.

Multiprogramación: una computadora que ejecuta más de un programa a la vez (como ejecutar Excel y Firefox simultáneamente) Multitarea de computadora
Multiprocesamiento: una computadora que usa más de una CPU a la vez
Multitarea: tareas que comparten un recurso común (como 1 CPU) Multitarea de computadora

  • Por lo tanto, algo como el subprocesamiento múltiple es una extensión de la multitarea.