I understand the asynchronous part and the advantages associated with it, but what baffles me is that at the operating system level how do they work? If it has to do something asynchronously should it not be mapped to OS threads and if so how do they have a performance advantage over things like Apache which make use of threads directly?