epoll
Linux-Mechanismus, um Tausende Verbindungen mit einem einzigen Thread zu überwachen — die Grundlage unter nginx, Node und jeder modernen Event Loop.
Die Vorgänger select und poll verlangten, dass das Programm bei jedem Aufruf die komplette Liste der überwachten File Descriptors übergab und der Kernel sie durchging. Bei zehntausend Verbindungen bedeutete das zehntausend Prüfungen, um zu erfahren, dass drei davon bereit waren. epoll dreht das um: Man registriert das Interesse einmal, und der Kernel liefert nur die zurück, bei denen tatsächlich etwas passiert ist.
Das war die Lösung für das sogenannte C10K-Problem — zehntausend gleichzeitige Verbindungen auf einer Maschine zu verwalten. Die Entsprechungen heißen kqueue unter BSD und macOS sowie IOCP unter Windows. In den letzten Jahren ist io_uring noch weiter gegangen, indem es auch die eigentlichen I/O-Aufrufe in gemeinsame Ringpuffer verlegt.