¿Qué es la media por el bucle de evento en node.js? bucle de eventos javascript o bucle de eventos libuv?

En Node.js hablamos mucho sobre el bucle de eventos, así que quiero saber de qué bucle de eventos estamos hablando, el bucle de eventos de Javascript o el bucle de eventos libuv. ¿Supongo que el bucle de eventos libuv proporciona abstracción para múltiples sistemas operativos de multiplexación i / o? Estoy en lo cierto Si no es así, por favor explica cómo funciona esto? Necesito algunos conocimientos internos, sé lo que es un bucle de eventos, solo quiero saber cómo está conectado.

Actualmente, Node utiliza el bucle de eventos proporcionado por libuv, es decir, su bucle de eventos predeterminado: uv_default_loop() . Ver: Introducción a libuv por Nikhil Marathe:

Un bucle predeterminado es proporcionado por libuv y se puede acceder usando uv_default_loop (). Debería usar este bucle si solo desea un solo bucle.

Nota: node.js usa el bucle predeterminado como su bucle principal. Si está escribiendo encuadernaciones, debe tener esto en cuenta.

Hay un diagtwig de architecture de linuv en la página de descripción general de diseño en la documentación de la API de libuv:

arquitectura libuv

En el pasado, el bucle de eventos de libev se usaba en Nodo. Consulte Comprensión del bucle de eventos node.js por Mikito Takada:

Internamente, node.js confía en libev para proporcionar el bucle de eventos, que se complementa con libeio que utiliza subprocesos agrupados para proporcionar E / S asíncrona. Para aprender aún más, eche un vistazo a la documentación de libev.

Algunos buenos recursos en el bucle de eventos Nodo:

  • Entendiendo el bucle de eventos node.js por Mikito Takada
  • Entendiendo node.js por Felix Geisendörfer
  • Entendiendo el Node.js Event Loop por Trevor Norris
  • El propio Node.js está bloqueando, solo su E / S no está bloqueada por Jeremy Epstein
  • Una introducción a libuv por Nikhil Marathe
  • La documentación de la API libuv

Gracias a Saúl Ibarra Corretgé por la aclaración en los comentarios.