diff --git a/os/8_network_system/selete_poll_epoll.md b/os/8_network_system/selete_poll_epoll.md index 290d2b8..de63c1f 100644 --- a/os/8_network_system/selete_poll_epoll.md +++ b/os/8_network_system/selete_poll_epoll.md @@ -159,7 +159,7 @@ sk_buff 可以表示各个层的数据包,在应用层数据包叫 data,在 一个进程虽然任意时刻只能处理一个请求,但是处理每个请求的事件时,耗时控制在 1 毫秒以内,这样 1 秒内就可以处理上千个请求,把时间拉长来看,多个请求复用了一个进程,这就是多路复用,这种思想很类似一个 CPU 并发多个进程,所以也叫做时分多路复用。 -我们熟悉的 select/poll/epoll 内核提供给用户态的多路复用系统调用,**进程可以通过一个系统调用函数从内核中获取多个事件**。 +我们熟悉的 select/poll/epoll 是内核提供给用户态的多路复用系统调用,**进程可以通过一个系统调用函数从内核中获取多个事件**。 select/poll/epoll 是如何获取网络事件的呢?在获取事件时,先把所有连接(文件描述符)传给内核,再由内核返回产生了事件的连接,然后在用户态中再处理这些连接对应的请求即可。