Node.jsでは、「libev」と「libeio」を組み合わせて使用しています。 下記のようなファイル読み込み処理を実行すると以下のような処理フローになります。 var path = require('path'), fs = require('fs'), filepath = path.join(__dirname, 'a.txt'), fd = fs.openSync(filepath, 'r'); fs.read(fd, 1024, 0, 'utf-8', function(err, str, bytesRead) { console.log(str); }); 0. Node.js起動時にeio_init()でnode::EIOWantPoll()をlibeioに登録する。 libeioは、pollして欲しいタイミングになると、 node::EIOWantPoll()を呼び出すよ