Multihilo

Definición: ¿Qué significa multiproceso?

El subproceso múltiple es un tipo de modelo de ejecución que permite que existan varios subprocesos dentro del contexto de un proceso, de modo que se ejecuten de forma independiente pero compartan sus recursos de proceso. Un hilo mantiene una lista de información relevante para su ejecución, incluido el programa de prioridad, los controladores de excepciones, un conjunto de registros de CPU y el estado de la pila en el espacio de direcciones de su proceso de alojamiento.

El subproceso múltiple también se conoce como subprocesamiento.

Techinfo explica el subproceso múltiple

El subproceso puede ser útil en un sistema de un solo procesador al permitir que el subproceso de ejecución principal responda a la entrada del usuario, mientras que el subproceso de trabajo adicional puede ejecutar tareas de larga ejecución que no necesitan la intervención del usuario en segundo plano. El subproceso en un sistema multiprocesador da como resultado una verdadera ejecución concurrente de subprocesos en varios procesadores y, por lo tanto, es más rápido. Sin embargo, requiere una programación más cuidadosa para evitar comportamientos no intuitivos como condiciones de carrera, interbloqueos, etc.

Los sistemas operativos utilizan subprocesos de dos formas:

  • Multiproceso preventivo, en el que el cambio de contexto está controlado por el sistema operativo. El cambio de contexto se puede realizar en un momento inapropiado. Por lo tanto, un subproceso de alta prioridad podría ser sustituido indirectamente por un subproceso de baja prioridad.
  • Multiproceso cooperativo, en el que el hilo controla el cambio de contexto. Esto podría dar lugar a problemas, como interbloqueos, si un hilo está bloqueado esperando a que un recurso se libere.

Las versiones de 32 y 64 bits de Windows utilizan subprocesos múltiples preventivos en los que el tiempo de procesador disponible se comparte de modo que todos los subprocesos obtienen un intervalo de tiempo igual y se atienden en un modo basado en cola. Durante el cambio de hilo, el contexto de un hilo sustituido se almacena y vuelve a cargar en el siguiente hilo de la cola. El intervalo de tiempo es tan corto que los subprocesos en ejecución parecen ejecutarse en paralelo.

Esta definición fue escrita en el contexto de la Arquitectura de Computadoras