- 博客(5)
- 资源 (21)
- 收藏
- 关注
原创 select、poll和epoll
select:通过设置或检查存放fd标志位的数据结构来进行下一步处理。缺点:单个进程可监视的fd数量被限制,需要维护一个用来存放大量fd的数据结构,内核需要将消息传递到用户空间,这样会使得用户空间和内核空间在传递该结构时复制开销大,对socket进行扫描时是线性扫描。poll:本质上和select没有区别,它将用户传入的数组拷贝到内核空间,然后查询每个fd对应的设备状态。优点:它没有最大连
2012-02-23 17:44:57 714
原创 about wait and waipid function of GNU
wait与waitpid的区别:pid_t wait(int *statloc);pid_t waitpid(pid_t pid, int *statloc, int options);相同的:wait和waitpid都返回两个值:函数返回值是已终止子进程的进程ID号,子进程的终止状态(一个整数)则通过statloc指针返回。如果调用wait的进程没有已终止的子进程,不
2012-02-22 17:58:43 1080
原创 EINTR错误
慢系统调用(slow system call):此术语适用于那些可能永远阻塞的系统调用。永远阻塞的系统调用是指调用有可能永远无法返回,多数网络支持函数都属于这一类。如:若没有客户连接到服务器上,那么服务器的accept调用就没有返回的保证。EINTR错误的产生:当阻塞于某个慢系统调用的一个进程捕获某个信号且相应信号处理函数返回时,该系统调用可能返回一个EINTR错误。例如:在socket服
2012-02-22 17:56:19 18010 2
原创 关于IO模式
IO模型分为:阻塞IO:在缺省情形下,所有套接口都是阻塞的,IO读取函数也应该是阻塞的。非阻塞IO:把一个套接口设置成非阻塞,当某请求的IO操作非得把当前进程投入睡眠才能完成时,不要把本进程投入睡眠,而是返回一个错误,再根据这个错误值进行轮询。IO复用(select和pool):当使用这两个IO复用方法时,阻塞的发生位置是在select和poll这两个系统调用中的当
2012-02-22 17:54:14 1306
原创 关于僵死进程
/********************************************************************* * Author : Samson * Date : 02/21/2012 * Test platform: * GNU Linux version 2.6.29.4 * *************
2012-02-21 15:57:50 909
UNIX网络编程第二卷-进程间通信-源代码
2012-04-12
手机基本原理(介绍各个部件的功能等)
2008-12-25
makefile(Gnumake)
2008-10-18
LINUX系统中动态链接库的创建与使用
2008-10-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人