小小程序媛  
得之坦然,失之淡然,顺其自然,争其必然

2015年12月23日

摘要: 1. 线程 传统Unix模型中,当一个进程需要另一个实体来完成某事,它就fork一个子进程来处理。Unix上大多数网络服务器程序便是以创建多个子进程的方式实现的:父进程accept一个连接,fork一个子进程,该子进程处理与该连接对端的客户之间的通信。 尽管,这种范式多年来一直用的不错,但是fork 阅读全文
posted @ 2015-12-23 19:43 Coding菌 阅读(392) 评论(0) 推荐(0) 编辑
 
摘要: 1. epoll技术 epoll是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那 阅读全文
posted @ 2015-12-23 17:40 Coding菌 阅读(496) 评论(0) 推荐(0) 编辑
 
摘要: 1. poll技术 poll函数起源于SVR3,最初局限于流设备。SVR4取消了这种限制,允许poll工作在任何描述符上。poll提供的功能与select类似,不过在处理流设备时,它能够提供额外的信息。 poll的机制与select类似,与select在本质上没有多大差别,管理多个描述符也是进行... 阅读全文
posted @ 2015-12-23 17:39 Coding菌 阅读(326) 评论(0) 推荐(0) 编辑
 
摘要: 1. I/O复用 我们学习了I/o复用的基本知识,了解到目前支持I/O复用的系统调用有select、pselect、poll、epoll。而epoll技术以其独特的优势被越来越多的应用到各大企业服务器。(后面将有poll & epoll单独学习笔记) 基本概念 IO多路复用是指内核一旦发现进程指... 阅读全文
posted @ 2015-12-23 17:15 Coding菌 阅读(440) 评论(0) 推荐(0) 编辑
 
摘要: 1. I/O模型简介 最近一直在学习Unix网络编程,被Unix下各种I/O模型搞得头昏脑涨,结合《Unix网络编程 - 卷一》第六章 并参考了网上各牛们的分析,稍稍厘清了一些。因此记录下来,方便以后复习! 阅读全文
posted @ 2015-12-23 16:51 Coding菌 阅读(152) 评论(0) 推荐(0) 编辑
 
摘要: 1. Socket简介 Socket是进程通讯的一种方式,即调用这个网络库的一些API函数实现分布在不同主机的相关进程之间的数据交换。 几个定义: (1)IP地址:即依照TCP/IP协议分配给本地主机的网络地址,两个进程要通讯,任一进程首先要知道通讯对方的位置,即对方的IP。 (2)端口号:... 阅读全文
posted @ 2015-12-23 15:24 Coding菌 阅读(299) 评论(0) 推荐(0) 编辑