Como a programação orientada a eventos é implementada?

Eu estava olhando como as estruturas twisted e node.js funcionam e estou tentando entender exatamente como o sistema operacional suporta operações de E / S usando retornos de chamada.

Entendo que é bom porque precisamos de menos threads, porque não precisamos ter threads bloqueados aguardando operações de E / S. Mas algo precisa chamar o retorno de chamada assim que a E / S estiver concluída.

Como isso é implementado pelo sistema operacional?

questionAnswers(2)

yourAnswerToTheQuestion