Saltar al contenido

¿Puede un procesador multinúcleo ejecutar varios procesos al mismo tiempo?

Tenemos la solución a esta obstáculo, o por lo menos eso creemos. Si presentas interrogantes puedes dejarlo en el apartado de preguntas y sin dudarlo te ayudaremos

Solución:

En lo que se refiere al sistema operativo y las aplicaciones, cada núcleo es un procesador independiente y está sujeto a las mismas reglas de afinidad que tener varios procesadores.

El procesador (ya sea real, central o hiperproceso) en el que se ejecuta un proceso depende completamente del sistema de programación del sistema operativo. Es este sistema de programación (influido por la configuración de afinidad) el que decide dónde debe ejecutarse un proceso y cuándo. Los procesos y subprocesos pueden cambiar entre procesadores y núcleos a voluntad, según lo considere conveniente el programador.

Desde mi limitado conocimiento de los sistemas operativos, creo que cada El proceso tiene al menos un subproceso, y son estos subprocesos los que se programan, no los procesos en sí. El proceso simplemente contiene información sobre el programa y los hilos que ha puesto en ejecución. De esta manera, una aplicación de un solo subproceso recibe el mismo tratamiento que una aplicación de subprocesos múltiples, pero la aplicación de subprocesos múltiples puede utilizar mejor los recursos.

Por ejemplo, supongamos que tenemos dos procesos con dos subprocesos cada uno y una aplicación de un solo subproceso, todos trabajando duro en un procesador de doble núcleo (o CPU dual, no hay diferencia aquí)

 Process A
    |_Thread A-1
    |_Thread A-2

 Process B
    |_Thread B-1
    |_Thread B-2

 Process C
    |_Thread C

Cada subproceso se puede programar en todos los núcleos de la CPU y el programador del sistema operativo equilibra la carga.

Si luego configuramos la afinidad del procesador para el Proceso B para limitarlo a una CPU, entonces todos los subprocesos de ese proceso también están vinculados a esa CPU y no se ejecutarán en ninguna otra CPU. Hacer lo mismo con el Proceso C no dará como resultado un cambio real, ya que solo puede ejecutarse en una CPU a la vez.

Respuesta corta:

  1. Sí, siempre que el sistema operativo lo admita.
  2. Hoy en día todos los sistemas operativos lo admiten.

Los procesos y subprocesos (como en subprocesos múltiples) son construcciones de nivel de sistema operativo. Una vez que obtiene un nivel lo suficientemente bajo en la programación, estos desaparecen y solo tiene un montón de subprocesos de cola de ejecución para obtener el tiempo de ejecución.

Reseñas y calificaciones

Tienes la opción de añadir valor a nuestra información colaborando tu veteranía en los informes.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *