Aquí hay un desglose:
* núcleos físicos: Un núcleo físico es una unidad de procesamiento completa dentro de la CPU. Si tiene una CPU con 4 núcleos físicos, puede ejecutar genuinamente 4 instrucciones diferentes (o partes de 4 procesos diferentes) *al mismo tiempo *.
* hilos (núcleos lógicos): Las CPU modernas a menudo usan una tecnología llamada Simultánea multithreading (SMT) , con la implementación de Intel llamada Hyper-Threading . Esto permite que un solo núcleo físico aparezca como dos núcleos lógicos (hilos) al sistema operativo. Si bien no * duplica el rendimiento, permite que el núcleo utilice partes inactivas de sí mismo de manera más eficiente. Piense en ello como tener un solo chef (núcleo físico) que puede trabajar en múltiples platos (hilos) al mismo tiempo cambiando entre ellos cuando una tarea está esperando (por ejemplo, esperar que el agua hervirá). Una CPU de 4 núcleos con hiper-treinta aparecerá como 8 núcleos lógicos.
* Sistema operativo y procesos: El sistema operativo administra todos los procesos y subprocesos que se ejecutan en la computadora. Cambia rápidamente entre ellos, dando a cada uno una pequeña porción de tiempo de CPU (esto se llama tiempo compartido o multitarea). Esto crea la * ilusión * de ejecutar muchos procesos simultáneamente, a pesar de que la CPU solo está trabajando activamente en un número limitado en cualquier instante dado.
En resumen:
* Una CPU realmente puede ejecutar una serie de procesos igual a su número de * núcleos físicos * simultáneamente.
* Hyper-Threading (o SMT) * Mejora * la capacidad de cada núcleo físico para manejar más trabajo ejecutando múltiples * hilos * simultáneamente.
* El sistema operativo gestiona un número mucho mayor de procesos e hilos que la CPU tiene núcleos, creando la apariencia de simultaneidad verdadera a través del cambio de contexto rápido.
Ejemplo:
Una CPU con 8 núcleos físicos e hiperingido (16 núcleos lógicos) puede:
* * Verdaderamente * ejecutar 8 instrucciones diferentes al mismo tiempo (una en cada núcleo físico).
* * Efectivamente * maneje hasta 16 hilos al mismo tiempo, haciendo un mejor uso de los recursos de cada núcleo.
* * Aparece * ejecutar cientos o miles de procesos simultáneamente porque el sistema operativo está cambiando rápidamente entre ellos.
Consideraciones importantes:
* cuellos de botella: Otros factores, como RAM, E/S de disco y velocidad de red, también pueden limitar el rendimiento general de un sistema, incluso si la CPU es poderosa.
* carga de trabajo: Algunos procesos son más intensivos en CPU que otros. Un sistema podría "manejar" muchos procesos livianos simultáneamente, pero luchar con algunos muy exigentes.
Por lo tanto, la respuesta es técnicamente el número de *núcleos físicos *, pero es importante comprender el papel de los hilos y el sistema operativo para crear la percepción de ejecutar muchos procesos simultáneamente.