IO复用简介
IO复用使得程序能同时监听多个文件描述符,这对提高...
分类:
其他好文 时间:
2014-08-14 14:10:28
阅读次数:
238
今天遇到了这个问题,之前找了半天原来是IO事件的socket描述符在epoll_ctl()处理之前关闭了。if(epoll_ctl(epollFd, EPOLL_CTL_DEL, ev->fd, &epv) fd, strerror(errno));在删除事件 epoll_ctl(kdpfd, EP...
分类:
其他好文 时间:
2014-08-12 18:18:34
阅读次数:
302
每个内核对象都只是一个内存块,它由操作系统内核分配,并只能由操作系统内核访问。这个内存块是一个数据结构,其成员维护着与对象相关的信息。少数成员(安全描述符和使用计数)是所有对象都有的,但其...
分类:
其他好文 时间:
2014-08-12 03:42:33
阅读次数:
224
1?定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始。这个头声明可以使用的XML版本并给出文件的字符编码。 DOCYTPE声明必须立即出现在此头之后。这个声明告诉服务器适用的servlet规范的版...
分类:
其他好文 时间:
2014-08-12 00:53:04
阅读次数:
362
listen函数的定义如下所示:
#include
int accept(int sockfd, struct sockaddr * restrict addr, socklen_t *restrict len);
返回值:若成功则返回文件(套接字)描述符,若出错则返回-1
int listen(int sockfd, int backlog);返回值:若成功则返回0;若出错则返回-1...
分类:
其他好文 时间:
2014-08-12 00:47:03
阅读次数:
242
在Protected Mode下,一个重要的必不可少的数据结构就是GDT(Global Descriptor Table)。为什么要有GDTReal Mode编程模型我们首先考虑一下在Real Mode下的编程模型: 在Real Mode下,我们对一个内存地址的访问是通过Segment:Offse....
分类:
其他好文 时间:
2014-08-09 18:18:18
阅读次数:
353
进程的管理与调度
进程管理
进程描述符及任务结构
进程存放在叫做任务队列(tasklist)的双向循环链表中。链表中的每一项包含一个具体进程的所有信息,类型为task_struct,称为进程描述符(process descriptor),该结构定义在文件中。
Linux通过slab分配器分配task_struct结构,这样能达到对象复用和缓存着色(cache colorin...
分类:
系统相关 时间:
2014-08-09 13:29:07
阅读次数:
993
Linux将所有外部设备都看做一个文件来进行操作。因此,linux对所有外部设备(包括实体设备、以及虚拟设备)的操作都可以看做是文件的操作。文件的操作当然需要有个标示描述它,这就是文件描述符(file descriptor)
而对文件的操作,本质上就是IO的操作,本问将重点讨论IO操作中的网络IO...
分类:
Web程序 时间:
2014-08-08 12:19:56
阅读次数:
369
以前使用的用于I/O多路复用为了方便就使用select函数,但select这个函数是有缺陷的。因为它所支持的并发连接数是有限的(一般小于1024),因为用户处理的数组是使用硬编码的。这个最大值为FD_SETSIZE,这是在中的一个常量,它说明了最大的描述符数。但是对于大多数应用程序而言,这个数是.....
分类:
其他好文 时间:
2014-08-07 22:43:15
阅读次数:
460
apue说到非堵塞要分析两种系统调用,低速的系统调用和其它的系统调用。那么低速的系统调用可能是进程堵塞。例如对不存在的数据进行读操作,可能是调用者永远阻塞,因为他得等读到了数据才返回;如果某个文件描述符拒绝某个写操作,写操作不能完成而阻塞;打开某些类型没有准备好的文件的文件也会引起阻塞;以及对强制性...
分类:
其他好文 时间:
2014-08-06 18:20:51
阅读次数:
165