Gráfica comparativa
Bases para la comparación | Multiprocesamiento | Multihilo |
---|---|---|
BASIC | El multiprocesamiento agrega CPU para aumentar la potencia de cálculo. | El subprocesamiento múltiple crea múltiples hilos de un solo proceso para aumentar la potencia de cálculo. |
Ejecución | Se ejecutan múltiples procesos al mismo tiempo. | Se ejecutan simultáneamente varios hilos de un solo proceso. |
Creación | La creación de un proceso requiere mucho tiempo y recursos. | La creación de un hilo es económica, tanto en tiempo como en recursos. |
Clasificación | El multiprocesamiento puede ser simétrico o asimétrico. | El multihilo no está clasificado. |
Definición de multiprocesamiento
Un sistema de multiprocesamiento es aquel que tiene más de dos procesadores. Las CPU se agregan al sistema para aumentar la velocidad de cálculo del sistema. Cada CPU tiene su propio conjunto de registros y memoria principal. Solo porque las CPU están separadas, puede suceder que una CPU no tenga nada que procesar y que pueda estar inactiva y que la otra esté sobrecargada con los procesos. En tales casos, los procesos y los recursos se comparten dinámicamente entre los procesadores.
El multiprocesamiento se puede clasificar como multiprocesamiento simétrico y multiprocesamiento asimétrico . En el multiprocesamiento simétrico, todos los procesadores son libres de ejecutar cualquier proceso en un sistema. En el multiprocesamiento asimétrico, existe una relación maestro-esclavo entre los procesadores. El procesador maestro es responsable de asignar el proceso a los procesadores esclavos.
Si el procesador tiene un controlador de memoria integrado, la adición del procesador aumentaría la cantidad de memoria direccionable en el sistema. El multiprocesamiento puede cambiar el modelo de acceso a la memoria de un acceso de memoria uniforme a un acceso de memoria no uniforme . El acceso uniforme a la memoria equivale al mismo tiempo para acceder a cualquier RAM desde cualquier procesador. Por otro lado, el acceso a la memoria no uniforme requiere más tiempo para acceder a una parte de la memoria que a las otras.
Definición de multihilo
El subprocesamiento múltiple es la ejecución de varios subprocesos de un solo proceso simultáneamente en el contexto de ese proceso. Ahora vamos a discutir primero qué es un hilo? Un subproceso de un proceso significa un segmento de código de un proceso, que tiene su propia ID de subproceso, contador de programa, registros y pila y se puede ejecutar de forma independiente. Pero los hilos que pertenecen al mismo proceso tienen que compartir las pertenencias de ese proceso como código, datos y recursos del sistema. La creación de procesos separados para cada solicitud de servicio consume tiempo y recursos de sistema de escape. En lugar de incurrir en esta sobrecarga, es más eficiente crear subprocesos de un proceso.
Crear un hilo es económico, ya que comparte el código y los datos del proceso al que pertenecen. Por lo tanto, el sistema no tiene que asignar recursos por separado para cada hilo. El multiproceso se puede aumentar en el sistema operativo multiprocesamiento. Como multiproceso en múltiples CPUs aumenta el paralelismo .
Diferencias clave entre multiproceso y multiproceso
- La diferencia clave entre el multiprocesamiento y el multiproceso es que el multiprocesamiento permite que un sistema tenga más de dos CPU agregadas al sistema, mientras que el multiproceso permite que un proceso genere múltiples subprocesos para aumentar la velocidad de cálculo de un sistema.
- El sistema de multiprocesamiento ejecuta múltiples procesos simultáneamente, mientras que el sistema de subprocesamiento múltiple permite ejecutar múltiples subprocesos de un proceso simultáneamente.
- Crear un proceso puede consumir tiempo e incluso agotar los recursos del sistema. Sin embargo, crear subprocesos es económico, ya que los subprocesos que pertenecen al mismo proceso comparten las pertenencias de ese proceso.
- El multiprocesamiento se puede clasificar en multiprocesamiento simétrico y multiprocesamiento asimétrico, mientras que el multiproceso no se clasifica más.
Conclusión:
Los beneficios del multihilo pueden incrementarse gradualmente en el entorno de multiprocesamiento, ya que el multihilo en un sistema de multiprocesamiento aumenta el paralelismo.