Процессе изучения Javascript и Node я как системный программист не мог не поинтересоваться его внутренним устройством. Одной из интересных находок стала библиотека libuv. libuv libuv - кроссплатформенная библиотека асинхронного ввода-вывода(I/O), разрабатываемая для Node.JS. Библиотека "навязывает" асинхронный, событийно-ориентированный стиль программирования(Node же). Эта библиотека как и libevent2 использует наиболее эффективный из доступных в системе способов асинхронной работы с сокетами(epoll, kqueue, event ports, IOCP), но в отличии от libevent, которая использует буферизированный ввод-вывод для операций с файловой системой, libuv для работы с файловой системой применяет синхронные вызовы в пуле потоков. Помимо этого библиотека предоставляет кроссплатформенные примитивы для работы с потоками(threads). Обработчики и запросы(Handles and requests). Вместе с циклом обработки событий(event-loop) libuv предоставляет 2 абстракции для работы: обработчики и запросы. Обработчики предс