Как реализуется программирование на основе событий?
Я смотрел на то, как работают структуры twisted и node.js, и я пытаюсь понять, как именно операционная система поддерживает операции ввода-вывода с помощью обратных вызовов.
Я понимаю, что это хорошо, потому что нам нужно меньше потоков, потому что нам не нужно блокировать потоки, ожидающие операции ввода-вывода. Но что-то должно вызывать обратный вызов, когда ввод-вывод завершен.
Как это реализовано в операционной системе?