Red de conocimiento informático - Conocimiento del nombre de dominio - Programación de fusión de secuencias paralelas

Programación de fusión de secuencias paralelas

El llamado proceso es un área de memoria que contiene algunos recursos. Los sistemas operativos utilizan procesos para dividir su trabajo en unidades funcionales. Una o más unidades de ejecución contenidas en un proceso se denominan subprocesos. Un proceso también tiene un espacio de direcciones virtuales privado al que solo puede acceder el hilo que contiene. Un hilo sólo puede pertenecer a un proceso y sólo puede acceder a los recursos que pertenecen a ese proceso. Cuando el sistema operativo crea un proceso, el proceso se aplica automáticamente a un subproceso denominado subproceso principal o subproceso principal.

Los procesos realmente no se ejecutan al mismo tiempo, sino de forma concurrente.

Un proceso tiene al menos un hilo. La escala de división de subprocesos es menor que la escala de división de procesos, lo que hace que los programas multiproceso tengan una alta concurrencia. Además, el proceso tiene una unidad de memoria independiente durante la ejecución y varios subprocesos comparten memoria, lo que mejora en gran medida la eficiencia de ejecución del programa.

La diferencia en la ejecución entre subprocesos y procesos es que cada subproceso independiente tiene una entrada para la ejecución del programa, una secuencia para la ejecución secuencial y una salida para el programa. Sin embargo, los subprocesos no se pueden ejecutar de forma independiente, por lo que deben existir en la aplicación y la aplicación proporciona control de ejecución de subprocesos múltiples.

Desde un punto de vista lógico, la importancia del subproceso múltiple es que en una aplicación, se pueden ejecutar múltiples partes de ejecución al mismo tiempo. Sin embargo, el sistema operativo no trata los subprocesos múltiples como múltiples aplicaciones independientes para la programación, gestión y asignación de recursos de procesos.

Ejecutar múltiples subprocesos o procesos "simultáneamente" es sólo una expresión perceptiva. De hecho, los procesos y subprocesos se ejecutan al mismo tiempo. El mecanismo de programación de subprocesos del sistema operativo divide el tiempo en muchos intervalos de tiempo (intervalos de tiempo) y los distribuye de la manera más uniforme posible entre los programas en ejecución. El subproceso o proceso que obtiene el intervalo de tiempo de la CPU se ejecuta mientras otros subprocesos o procesos esperan. La CPU alterna entre estos procesos o subprocesos. Desde una perspectiva micro, todos los procesos y subprocesos se detienen y continúan, pero desde una perspectiva macro, todos están en ejecución. Este fenómeno se llama concurrencia, pero no es "simultaneidad" en el sentido absoluto.