- 博客(16)
- 资源 (5)
- 收藏
- 关注
转载 select、Poll、epoll比较。
<br />前天的笔试有一道题是:请分别说明select, poll和epoll的区别?<br />当时看题时懵掉了,因为这个题是那次讲课时我问的老师的题目,老师这个太八神说这个太难了你不用钻牛角尖的。这下好了,这次考到了,而且是在公司笔试。。咳,这个太八神呀。。!好吧,今天找了下资料把它们的区别罗列一下,好像还是有一点抽象,不过还好,钻一下,悟出了那么一点点……。现在把网上找到的资料转一下咯。。<br />一下文章来自:http://blog.chinaunix.net/u/10449/showart_3
2010-06-17 14:37:00
4421
转载 Unix5中IO模型的图解分析和比较。
Unix下共有五种I/O模型阻塞I/O非阻塞I/OI/O复用(select和poll)信号驱动I/O(SIGIO)异步I/O(Posix.1的aio_系列函数)b.阻塞I/O模型 应用程序调用一个IO函数,导致应用程序阻塞,等待数据准备好。 如果数据没有准备好,一直等待。。。。 数据准备好了,从内核拷贝到用户空间 IO函数返回成功指示c.非阻塞I/O模型 我们把一个套接口设置为非阻塞就是告诉内核,当所请求的I/O操作无法完成时,不要将进程睡眠,而是返回一个错误。这样我们的I/O操作函数将不断的测试数据是否已
2010-06-17 13:06:00
1491
转载 Linux建立使用限制及getrlimit和setrlimit函数
<br />这一部分的提出是为了防止失控的进程破坏系统的性能<br />nuix和Linux跟踪进程使用的大部分资源,允许用户和系统管理员使用对进程的资源限制<br /> 设置的限制有两种: 硬限制和软限制<br />硬限制是可以在任何时候任何进程中设置 但硬限制只能由超级用户提起<br />软限制是内核实际执行的限制,任何进程都可以将软限制设置为任意小于等于对进程限制的硬限制的值<br />———————以下内容为转载(突然发现这方面有好资源便直接引用了)—————————<br />getrlimit
2010-06-17 11:48:00
1330
转载 bzero ,memset ,setmem,bcopy和memcpy、bzero和memset、bcmp和memcmp的差别
<br />=================================================<br />bzero<br />原型:<br />extern void bzero(void *s, int n);<br />用法:<br />#include <br />功能:置字节字符串s的前n个字节为零。<br />说明:bzero无返回值。<br />举例: // bzero.c<br />view plainprint?<br />1. #include <br />2. #inc
2010-06-17 10:32:00
1057
转载 memset与memcpy函数使用详细说明。
1。void *memset(void *s,int c,size_t n)<br />总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。<br /><br />2。例子<br />#i nclude<br />#i nclude<br /><br />main(){<br />char *s="Golden Global View";<br /><br />clrscr();<br /><br />memset(s,'G',6);<br />printf("%s",s);<br /><br
2010-06-17 10:27:00
723
转载 Linux系统调用--fcntl函数详解
<br />功能描述:根据文件描述词来操作文件的特性。 <br /> <br />用法: <br />int fcntl(int fd, int cmd); <br />int fcntl(int fd, int cmd, long arg); <br />int fcntl(int fd, int cmd, struct flock *lock); <br /> <br /> <br />参数: <br />fd:文件描述词。 <br />cmd:操作命令。 <br />arg:供命令使用的
2010-06-17 10:00:00
505
转载 getchar()和EOF总结
<br />大师级经典的著作,要字斟句酌的去读,去理解。以前在看K&R的The C Programming Language(SecondEdition)<br />第1.5节的字符输入/输出,被getchar()和EOF所迷惑了。可能主要还是由于没有搞清楚getchar()的工作原理和EOF的用法。因此,感觉很有必要总结一下,不然,很多琐碎的知识点长时间过后就会淡忘的,只有写下来才是最好的方法。<br /><br /><br />其实,getchar()最典型的程序也就几行代码而已。本人所用的环境是Deb
2010-06-17 09:59:00
477
转载 accept函数.
<br />accept函数<br />SOCKET accept( <br />SOCKET s, <br />struct sockaddr FAR *addr, <br />int FAR *addrlen <br />); <br />服务程序调用accept函数从处于监听状态的流套接字s的客户连接请求队列中取出排在最前的一个客户请求,并且创建一个新的套接字来与客户套接字创建连接通道,如果连接成功,就返回新创建的套接字的描述符,以后与客户套接字交换数据的是新创建的套接字;如果失败就返回 INVALI
2010-06-13 18:44:00
579
转载 epoll使用实例说明。
<br />下面我们就看一个服务器端使用epoll监听大量并发链接的例子。<br /> <br />1、epoll_create函数<br /><br />/** <br /> * @brief 该函数生成一个epoll专用的文件描述符。它其实是在内核申请一空间,用来存放你想关注的socket fd上是否发生以及发生了什么事件。<br /> * <br /> * @param size size就是你在这个epoll fd上能关注的最大socket fd数<br /> * <br /> *
2010-06-13 18:33:00
902
转载 Size_t数据类型。
<br />size_t是一种无符号的整型数,它的取值没有负数,在数组中也用不到负数,而它的取值范围是整型数的双倍。sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小。<br />size_t: size of an object<br />ssize_t: size of an object or –1<br />time_t: time of day in seconds<br />off_t: 文件偏移
2010-06-13 18:30:00
864
转载 socket通信中的几个函数--accept(),send(),recv()。
<br />accept()函数<br /> accept()会有点古怪的地方的!你可以想象发生这样的事情:有人从很远的地方通过一个你在侦听 (listen())的端口连接(connect())到你的机器。它的连接将加入到等待接受(accept())的队列中。你调用accept()告诉它你有空闲的连接。它将返回一个新的套接字文件描述符!这样你就有两个套接字了,原来的一个还在侦听你的那个端口,新的在准备发送 (send())和接收(recv())数据。这就是这个过程! <br /><br />函数
2010-06-13 18:30:00
4496
转载 getopt()函数用法.
getopt用法有关系统调用getopt:声明: #include int getopt(int argc, char *const argv[], const char *optstring); extern char *optarg; extern int optind, opterr, optopt;使用方法:在while循环中反复调用,直到它返回-1。每当找到一个有效的选项字母,它就返回这个字母。如果选项有参数,就设置optarg指向
2010-06-13 18:25:00
1993
转载 listen函数.
摘要:listen函数使用主动连接套接口变为被连接套接口,使得一个进程可以接受其它进程的请求,从而成为一个服务器进程。在TCP服务器编程中listen函数把进程变为一个服务器,并指定相应的套接字变为被动连接。listen函数在一般在调用bind之后-调用accept之前调用,它的函数原型是:#includeint listen(int sockfd, int backlog)返回:0──成功, -1──失败 参数sockfd 被listen函数作用的套接字,sockfd之前由socket函数返回。在被soc
2010-06-13 18:23:00
4352
5
转载 tail queue in queue.h for free bsd.
tail queue in queue.h for free bsd2009-09-27 14:1738 /*67 * A tail queue is headed by a pair of pointers, one to the head of the 68 * list and the other to the tail of the list. The elements are doubly 69 * linked so that an arbitrary element can be re
2010-06-13 18:16:00
1147
转载 Linux queue.h之TAILQ队列分析!
这两天想看看memcached的实现,所以先学习了libevent,使用起来还是比较简单的,其实是对select/poll/kqueue等的封装,学习libevent过程中又遇到了linux下队列的使用,简单分析如下,权当做记录: libevent中的例子中使用的是FreeBSD下的queue.h,在linux的/usr/include/sys/queue.h也有该头文件,但是是一个缩减版本,而且没有看到queue 的access method,不知道是不是跟我们的linux服务器版本有关,没办法googl
2010-06-13 18:13:00
4826
1
tracefs文件系统跟踪
2009-07-22
masm32v8完整版
2008-08-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人