Gráfica comparativa
Bases para la comparación | Multitarea | Multihilo |
---|---|---|
BASIC | La multitarea le permite a la CPU ejecutar múltiples tareas al mismo tiempo. | Los subprocesos múltiples permiten que la CPU ejecute varios subprocesos de un proceso simultáneamente. |
Traspuesta | En multitarea, la CPU cambia entre programas con frecuencia. | En multiproceso, la CPU cambia entre los hilos con frecuencia. |
Memoria y Recurso | En la multitarea, el sistema tiene que asignar memoria y recursos separados a cada programa que ejecuta la CPU. | En el sistema de subprocesos múltiples tiene que asignar memoria a un proceso, varios subprocesos de ese proceso comparten la misma memoria y los recursos asignados al proceso. |
Definición de multitarea
La multitarea es cuando una sola CPU realiza varias tareas (programa, proceso, tarea, subprocesos) al mismo tiempo. Para realizar tareas múltiples, la CPU alterna entre estas tareas con mucha frecuencia para que el usuario pueda interactuar con cada programa simultáneamente.
En un sistema operativo multitarea, varios usuarios pueden compartir el sistema simultáneamente. Como vimos, la CPU cambia rápidamente entre las tareas, por lo que se necesita un poco de tiempo para pasar de un usuario a otro. Esto deja una impresión en un usuario de que todo el sistema informático está dedicado a él.
Definición de multihilo
El multihilo es diferente de la multitarea en el sentido de que la multitarea permite realizar múltiples tareas al mismo tiempo, mientras que el multihilo permite que la CPU procese múltiples subprocesos de una sola tarea (programa, proceso) al mismo tiempo.
Antes de estudiar multiproceso, hablemos de qué es un hilo. Un subproceso es una unidad de ejecución básica que tiene su propio contador de programa, conjunto del registro, pila, pero comparte el código, los datos y el archivo del proceso al que pertenece. Un proceso puede tener varios subprocesos simultáneamente, y la CPU cambia entre estos subprocesos con tanta frecuencia causando una impresión en el usuario que todos los subprocesos se ejecutan simultáneamente y esto se denomina multithreading.
Diferencias clave entre multitarea y multihilo en OS
- La diferencia básica entre la multitarea y la multihebra es que en la multitarea, el sistema permite ejecutar múltiples programas y tareas al mismo tiempo, mientras que, en la multihebra, el sistema ejecuta múltiples subprocesos de procesos iguales o diferentes al mismo tiempo.
- En la multitarea, la CPU tiene que cambiar entre varios programas para que parezca que se ejecutan varios programas simultáneamente. Por otra parte, en el subprocesamiento múltiple, la CPU tiene que cambiar entre varios subprocesos para que parezca que todos los subprocesos se ejecutan simultáneamente.
- La multitarea asigna memoria y recursos separados para cada proceso / programa, mientras que, en las hebras de subprocesos múltiples que pertenecen al mismo proceso, comparte la misma memoria y recursos que la del proceso.
Conclusión:
La multitarea es similar a la multiprogramación, mientras que el multihilo es una multitarea basada en subprocesos. El multihilo es menos costoso que las multitareas, ya que los subprocesos son fáciles de crear que un proceso.