作者:蓝形参, 首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。 不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情...
分类:
其他好文 时间:
2014-11-12 20:54:52
阅读次数:
235
libevent是一个基于事件触发的网络库,memcached底层也是使用libevent库。总体来说,libevent有下面一些特点和优势:* 事件驱动,高性能;* 轻量级,专注于网络;* 跨平台,支持 Windows、Linux、Mac Os等;* 支持多种 I/O多路复用技术, epoll、p...
分类:
其他好文 时间:
2014-11-12 13:15:38
阅读次数:
286
一。select和epoll首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。不管是文件,还是套接字,还是管道,我们都可以把他们看作流。通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数据,...
分类:
其他好文 时间:
2014-11-09 06:15:34
阅读次数:
233
频繁的I/O操作会引起频繁的系统调用,这会很慢,于是引入缓冲区。对于一个流(文件、socket或pipe),以缓冲区为单位进行操作,举个例子:
一个管道,A写入,B读出,一开始内核缓冲区为空,B阻塞,A开始写入,内核缓冲区状态由空变为非空,这时内核产生一个事件告诉B该醒了。但这个事件并没有让B去读数据,似乎只是起到一个警示,不过内核许诺不会把写入管道中的数据丢掉,A写入的数据会全部保存在缓冲...
分类:
其他好文 时间:
2014-11-05 00:29:09
阅读次数:
202
Linux系统编程(第2版)
跳转至:
导航、
搜索
目录
1
入门和基本概念2
文件I/O3
缓冲I/O4
高级文件I/O5
进程管理6
高级进程管理7
线程8
文件和目录管理9
内存管理10
信号11
时间(这里谈不上系统编程了,就是C库API)12
附录A C语言的GCC扩展13
附录B 参考书目
...
Nginx反向代理并发能力的强弱,直接影响到系统的稳定性。安装Nginx过程,默认配置并不涉及到过多的并发參数,作为产品执行,不得不考虑这些因素。Nginx作为产品执行,官方建议部署到Linux64位系统,基于该建议,本文中从系统线之上考虑Nginx的并发优化。 1、打开Linux系统epoll支....
分类:
其他好文 时间:
2014-10-29 14:22:51
阅读次数:
224
Libevent是一个事件触发的网络库,适用于windows、linux、bsd等多种平台,Libevent在底层select、pool、kqueue和epoll等机制基础上,封装出一致的事件接口。可以注册可读、可写、超时等事件,指定回调函数;当事件发生后,Libevent调用回调函数,可以在回调函数里实现自定义功能。编译库代码,编译脚本会判断OS支持哪种类型的事件机制(select、epoll或...
分类:
其他好文 时间:
2014-10-29 00:24:48
阅读次数:
204
(1)select select最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位,使得进程可以获得这些文件描述符从而进行后续的读写操作。 select目前几乎在所有的平台上支持,其良好跨平台支持也是它的一个优点,事实上从现在看来,这也是它所剩不多的优点之一。 select的一个...
分类:
其他好文 时间:
2014-10-29 00:20:30
阅读次数:
366
由于poll()和select()的局限,2.6内核引入了event poll(epoll)机制。虽然稍微复杂,但是epoll解决了它们共有的基本性能问题,并增加了一些新的特性。 poll()和select()每次调用都需要所有被监听的文件描述符。内核必须遍历所有被监视的文件描述符。当这个表变得很大...
分类:
其他好文 时间:
2014-10-28 19:42:22
阅读次数:
175
本文无太多内容,主要是几个前面提到过的注意点: 一是epoll的fd需要重新装填。我们将tcp_connection_t的指针保存在数组中,所以我们以这个数组为依据,重新装填fd的监听事件。 //重新装填epoll内fd的监听事件 int i; for(i = 0; i buffer_)) even...
分类:
系统相关 时间:
2014-10-27 21:15:38
阅读次数:
295