- ¿Qué es la concurrencia o núcleo único?
- ¿Qué es la ejecución paralela o (multinúcleo)?
- Diferencia clave
- ¿Qué es un hilo?
- ¿Qué es el Multithreading?
- ¿Cómo funciona el multithreading?
- ¿Qué es el núcleo de la CPU?
- ¿Cuál es el principal problema del núcleo único?
- La solución que ofrece el multinúcleo:
- Beneficios del procesador multinúcleo
- Diferencia entre Core vs. Hilos
- ¿Qué es Hyper-Threading?
- Resumen:
¿Qué es la concurrencia o núcleo único?
En los sistemas operativos, la concurrencia se define como la capacidad de un sistema para ejecutar dos o más programas en fases de tiempo superpuestas.
Como puedes ver, en cualquier momento, sólo hay un proceso en ejecución. Por lo tanto, la concurrencia es sólo una aproximación generalizada de la ejecución paralela real. Este tipo de situación se puede encontrar en sistemas que tienen un procesador de un solo núcleo.
En este tutorial de concurrencia, aprenderás
- ¿Qué es la concurrencia o el núcleo único?
- ¿Qué es la Ejecución Paralela o (Multi-Core)?
- ¿Qué es un hilo?
- ¿Qué es el Multithreading?
- ¿Cómo funciona el Multithreading?
- ¿Qué es el núcleo de la CPU?
- ¿Cuál es el principal problema de un solo núcleo?
- La solución que ofrece el multinúcleo:
- Ventajas del procesador multinúcleo
- Diferencia entre Core y Threads
- ¿Qué es el Hyper-Threading?
¿Qué es la ejecución paralela o (multinúcleo)?
En la ejecución paralela, las tareas a realizar por un proceso se dividen en subpartes, y múltiples CPUs (o múltiples núcleos) procesan cada subtarea precisamente al mismo tiempo.
Como puedes ver, en un momento dado, todos los procesos están en ejecución. En realidad, son las subtareas de un proceso las que se están ejecutando en paralelo, pero para una mejor comprensión, puedes visualizarlas como procesos.
Por tanto, el paralelismo es la forma real en la que se pueden procesar múltiples tareas al mismo tiempo. Este tipo de situación se puede encontrar en sistemas que tienen procesadores multinúcleo, lo que incluye casi todos los procesadores modernos y comerciales.
Diferencia clave
- Los núcleos aumentan la cantidad de trabajo realizado a la vez, mientras que los hilos mejoran el rendimiento, la velocidad de cálculo.
- Los núcleos son un componente de hardware real, mientras que los hilos son un componente virtual que gestiona las tareas.
- Los núcleos utilizan la conmutación de contenidos mientras que los hilos utilizan múltiples CPUs para operar numerosos procesos.
- Los núcleos requieren sólo una unidad de proceso de señales mientras que los hilos requieren múltiples unidades de procesamiento.
¿Qué es un hilo?
Un hilo es una unidad de ejecución en la programación concurrente. El multithreading es una técnica que permite a una CPU ejecutar muchas tareas de un proceso al mismo tiempo. Estos hilos pueden ejecutarse individualmente mientras comparten sus recursos.
¿Qué es el Multithreading?
El Multithreading se refiere a la tarea común que ejecuta múltiples hilos de ejecución dentro de un sistema operativo. Puede incluir múltiples procesos del sistema.
¿Cómo funciona el multithreading?
Por ejemplo, la mayoría de las CPUs modernas soportan el multithreading. Una simple aplicación en su teléfono inteligente puede darle una demostración en vivo de la misma.
Cuando abres una aplicación que requiere que se obtengan algunos datos de Internet, el área de contenido de la aplicación se sustituye por un spinner. Este girará hasta que los datos se obtengan y se muestren.
En el fondo, hay dos hilos:
- Uno que obtiene los datos de la red, y
- Uno que renderiza la GUI que muestra el spinner
Ambos hilos se ejecutan uno tras otro para dar la ilusión de ejecución concurrente.
¿Qué es el núcleo de la CPU?
Un núcleo de la CPU es la parte de algo central para su existencia o carácter. Del mismo modo, en el sistema informático, la CPU también se denomina núcleo.
Hay básicamente dos tipos de núcleo de procesador:
- Procesador de un solo núcleo
- Procesador de varios núcleos
¿Cuál es el principal problema del núcleo único?
Hay principalmente dos problemas con el núcleo único.
- Para ejecutar las tareas más rápido, es necesario aumentar el tiempo de reloj.
- Aumentar el tiempo de reloj aumenta el consumo de energía y la disipación de calor a un nivel extremadamente alto, lo que hace que el procesador sea ineficiente.
La solución que ofrece el multinúcleo:
- Crear dos núcleos o más en la misma matriz para aumentar la potencia de procesamiento y, al mismo tiempo, mantener la velocidad de reloj en un nivel eficiente.
- Un procesador con dos núcleos que funcionan a una velocidad eficiente puede procesar las instrucciones con una velocidad similar a la del procesador de un solo núcleo. Su velocidad de reloj es el doble, pero el proceso multinúcleo consume menos energía.
Beneficios del procesador multinúcleo
Aquí tienes algunas ventajas del procesador multinúcleo:
- Más transistores por elección
- Conexiones más cortas
- Menos capacitancia
- Un circuito pequeño puede trabajar a gran velocidad
Diferencia entre Core vs. Hilos
Parámetros | Core | Hilos |
Definición | Los núcleos de la CPU se refieren al componente de hardware real. | Los hilos se refieren al componente virtual que gestiona las tareas. |
Proceso | La CPU se alimenta de tareas de un hilo. Por lo tanto, sólo accede al segundo hilo cuando la información enviada por el primer hilo no es fiable. | Hay muchas variaciones diferentes de cómo la CPU puede interactuar con múltiples hilos. |
Implementación | Conseguido a través de la operación de intercalado | Realizado a través de demandar múltiples CPU’S |
Beneficio | Aumentar la cantidad de trabajo realizado a la vez. | Mejorar el rendimiento, aumentar la velocidad de cálculo. |
Hacer uso de | El núcleo utiliza la conmutación de contenidos | Usa múltiples CPUs para operar numerosos procesos. |
Requiere unidades de proceso | Requiere sólo unidad de proceso de señal. | Requiere múltiples unidades de proceso. |
Ejemplo | Ejecución de varias aplicaciones al mismo tiempo. | Ejecución de un rastreador web en un clúster. |
¿Qué es Hyper-Threading?
Hyper-threading fue el primer esfuerzo de Intel para llevar la computación paralela a los PC de los usuarios finales. Se utilizó por primera vez en las CPU de escritorio con el Pentium 4 en 2002.
Los Pentium 4 de entonces sólo contaban con un único núcleo de CPU. Por lo tanto, sólo realiza una única tarea y no puede realizar ningún tipo de operación múltiple.
Una única CPU con hyper-threading aparece como dos CPUs lógicas para un sistema operativo. En este caso, la CPU es única, pero el SO considera dos CPUs para cada núcleo, y el hardware de la CPU tiene un único conjunto de recursos de ejecución para cada núcleo de la CPU.
Por lo tanto, la CPU asume como que tiene múltiples núcleos que lo hace, y el sistema operativo asume dos CPUs para cada núcleo de la CPU única.
Resumen:
- Un hilo es una unidad de ejecución en la programación concurrente.
- El multihilo se refiere a la tarea común que ejecuta múltiples hilos de ejecución dentro de un sistema operativo
- Hoy en día muchas CPUs modernas soportan el multihilo
- El hiperhilo fue el primer esfuerzo de Intel para llevar la computación paralela a los PCs de los usuarios finales.
- Un núcleo de CPU es la parte de algo central para su existencia o carácter
- En, Sistema Operativo la concurrencia se define como la capacidad de un sistema para ejecutar dos o más programas en fases de tiempo superpuestas.
- En la ejecución en paralelo, las tareas que debe realizar un proceso se dividen en subpartes.
- El principal problema de los procesadores de un solo núcleo es que para ejecutar las tareas más rápido, hay que aumentar el tiempo de reloj.
- El multinúcleo resuelve este problema creando dos núcleos o más en la misma matriz para aumentar la potencia de procesamiento, y además mantiene la velocidad de reloj a un nivel eficiente.
- El mayor beneficio del sistema multinúcleo es que ayuda a crear más transistores por elección
- Los núcleos de la CPU significan el componente de hardware real mientras que los hilos se refieren al componente virtual que gestiona las tareas.