随笔分类 - 操作系统
摘要:select和epoll都是多路复用的实现。 select: 调用select(fds),把fds(最多1024个)从用户空间拷贝到内核空间,进程阻塞, 当socket缓冲区有数据,唤醒进程,遍历fds,处理。 epoll: epoll_create在内核空间创建eventpoll对象(包括红黑树和
阅读全文
摘要:一个输入操作通常包括2个阶段: 1,等待数据报准备好 2,把数据从内核空间复制到用户空间(进程空间) 比如一个套接字的输入操作: 1,等待数据从网络中到达到内核缓冲区中 2,把数据从内核缓冲区复制到进程缓冲区 阻塞式IO 非阻塞IO 多路复用IO 信号驱动IO 异步IO 五种IO模型的比较
阅读全文
摘要:IO多路复用是指同一个进程(线程)处理多个IO数据流。 注意和多线程+池模型的区别,多线程+池模型是指每个线程处理一个IO数据流。 多路复用的好处是 1,不会增加新的进程(线程),减少线程创建切换的开销。 2,当处理的消耗对比IO几乎可以忽略不计时,可以处理大量的并发IO,而不用消耗太多CPU/内存
阅读全文

浙公网安备 33010602011771号