装了4天的操作系统 。。。呵呵收获颇多。
缅怀Stevens大师。
最好的参考资料:
1.师从互联网。
2.Linux man 命令:man 7 signal,man 7 socket。
3.UNP v1第25章 。
第一条:概述
信号驱动IO,不是异步IO。
信号驱动IO是指:进程预先告知内核,使得 当某个socketfd有events(事件)发生时,内核使用信号通知相关进程。
异步IO(Asynchronous IO)是指:进程执行IO系统调用(read / write)告知内核启动某个IO操作,内核启动IO操作后立即返回到进程。IO操作即内核当中的服务例程。Posix 通过 aio_XXX函数提供真正的异步IO(参见 man 7 aio).
linux 2.6.35中定义的相关信号:
#define SIGPOLL SIGIO /* Pollable event occurred (System V). */
#define SIGIO 29 /* I/O now possible (4.2 BSD). */
第二条: System 信号驱动IO。
System V Asynchronous I/O
APUE的描述:In System V, asynchronous I/O is part of the STREAMS system and works only with STREAMS devices and STREAMS pipes. The System V asynchronous I/O signal i