Look at the code. It isn't spinning. It schedules. The CPU time
isn't wasted. Linux is a Unix variant. Unix does Async like
this. VAVen do ASTs (Asynchronous system Trap), NT (borrowed from
VAX/VMS) does the same thing but with another name. Neither is
BETTER.
Kernel level support for async-IO is something that should be at least
thought about. From the UNIX's that I've heard actually do it, they
limit you to one outstanding async-IO request per task/thread. This
seems to suggest it is not a trivial problem to solve at all.
>From what I've heard NT allows numerous (unlimited?) outstanding
async-IO requests to be queued to the system, and programmers love
this. Can someone validate this? It's what I've heard, I want to
know if it is true.