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