Main Page/aio
synchronous means that the OS will work on your IO request once they get you r request.
asynchronous means the OS will delay to work on your IO request. Maybe it is because OS is busy working on some other stuff or the IO is not aviable.
Blocking IO means you call the IO function to get the data. The function you called will not return until the data is avaiable.
Non-Blocking IO means you call the IO function and the IO function returns r
ight away. The IO fucntion will just post a message to the work queue and th
e other process will fetch the message from this queue and then begin to get
the data from the IO. Once the data is ready, they will notify you the data
is ready.
http://www.ibm.com/developerworks/linux/library/l-async/?S_TACT=105AGX52&S_CMP=cn-a-l