Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Linux»ùÓÚʼþÇý¶¯µÄ³ÌÐò¿ò¼Ü(תÔØ)

[ת]Linux 2.6 ÄÚºËEpollÓ÷¨¾ÙÀý˵Ã÷
epollÓõ½µÄËùÓк¯Êý¶¼ÊÇÔÚÍ·Îļþsys/epoll.hÖÐÉùÃ÷µÄ£¬ÏÂÃæ¼òҪ˵Ã÷ËùÓõ½µÄÊý¾Ý½á¹¹ºÍº¯Êý£º
ËùÓõ½µÄÊý¾Ý½á¹¹:
 
typedef union epoll_data {
void *ptr;
int fd;
__uint32_t u32;
__uint64_t u64;
} epoll_data_t;
struct epoll_event {
__uint32_t events; /* Epoll events */
epoll_data_t data; /* User data variable */
};
½á¹¹Ìåepoll_event ±»ÓÃÓÚ×¢²áËù¸ÐÐËȤµÄʼþºÍ»Ø´«Ëù·¢Éú´ý´¦ÀíµÄʼþ£¬ÆäÖÐepoll_data ÁªºÏÌåÓÃÀ´±£´æ´¥·¢Ê¼þµÄij¸öÎļþÃèÊö·ûÏà¹ØµÄÊý¾Ý£¬ÀýÈçÒ»¸öclientÁ¬½Óµ½·þÎñÆ÷£¬·þÎñÆ÷ͨ¹ýµ÷ÓÃacceptº¯Êý¿ÉÒԵõ½ÓÚÕâ¸öclient¶ÔÓ¦µÄsocketÎļþÃèÊö·û£¬¿ÉÒÔ°ÑÕâÎļþÃèÊö·û¸³¸øepoll_dataµÄfd×Ö¶ÎÒÔ±ãºóÃæµÄ¶Áд²Ù×÷ÔÚÕâ¸öÎļþÃèÊö·ûÉϽøÐС£epoll_event ½á¹¹ÌåµÄevents×Ö¶ÎÊDZíʾ¸ÐÐËȤµÄʼþºÍ±»´¥·¢µÄʼþ£¬³£ÓõÄȡֵΪ£º
EPOLLIN £º±íʾ¶ÔÓ¦µÄÎļþÃèÊö·û¿ÉÒÔ¶Á£»
EPOLLOUT£º±íʾ¶ÔÓ¦µÄÎļþÃèÊö·û¿ÉÒÔд£»
EPOLLPRI£º±íʾ¶ÔÓ¦µÄÎļþÃèÊö·ûÓнô¼±µÄÊý¾Ý¿É¶Á£»
EPOLLERR£º±íʾ¶ÔÓ¦µÄÎļþÃèÊö·û·¢Éú´íÎó£»
EPOLLHUP£º±íʾ¶ÔÓ¦µÄÎļþÃèÊö·û±»¹Ò¶Ï£»
EPOLLET£ºÉèÖÃΪ Edge Triggered ģʽ¡£
ËùÓõ½µÄº¯Êý£º
1¡¢epoll_createº¯Êý
º¯ÊýÉùÃ÷£ºint epoll_create(int size)
¸Ãº¯ÊýÉú³ÉÒ»¸öepollרÓõÄÎļþÃèÊö·û£¬ÆäÖÐ size ÌáʾÄÚºËÓ¦¸Ã·ÖÅä×ãÒÔÖ§³Ö size ¸öÃèÊö·ûµÄ¿Õ¼ä¡£
2¡¢epoll_ctlº¯Êý
º¯ÊýÉùÃ÷£ºint epoll_ctl(int epfd, int op, int fd, struct epoll_event *event)
¸Ãº¯ÊýÓÃÓÚ¿ØÖÆij¸öÎļþÃèÊö·ûÉϵÄʼþ£¬¿ÉÒÔ×¢²áʼþ£¬ÐÞ¸Äʼþ£¬É¾³ýʼþ¡£
²ÎÊý£ºepfd£ºÓÉ epoll_create Éú³ÉµÄepollרÓõÄÎļþÃèÊö·û£»
op£ºÒª½øÐеIJÙ×÷ÀýÈç×¢²áʼþ£¬¿ÉÄܵÄÈ¡ÖµEPOLL_CTL_ADD ×¢²á¡¢EPOLL_CTL_MOD Ð޸ġ¢EPOLL_CTL_DEL ɾ³ý
fd£º¹ØÁªµÄÎļþÃèÊö·û£»
event£ºÖ¸Ïòepoll_eventµÄÖ¸Õ룻
Èç¹ûµ÷Óóɹ¦·µ»Ø0,²»³É¹¦·µ»Ø-1
3¡¢epoll_waitº¯Êý
º¯ÊýÉùÃ÷:int epoll_wait(int epfd,struct epoll_event * events,int maxevents,int timeout)
¸Ãº¯ÊýÓÃÓÚÂÖѯI/OʼþµÄ·¢Éú£»
²ÎÊý£º
epfd:ÓÉepoll_create Éú³ÉµÄepollרÓõÄÎļþÃèÊö·û£»
epoll_event:ÓÃÓڻش«´ý´¦ÀíʼþµÄÊý×飻
maxevents:ÿ´ÎÄÜ´¦ÀíµÄʼþÊý£»
timeou


Ïà¹ØÎĵµ£º

LinuxÏÂÍê³ÉµÄÒ»¸ö×÷Òµ³ÌÐò

Îĵµ´´½¨ÈÕÆÚ£º2010-02-19
    01    // P174: 2.±à³ÌÌâ (13)²»ÀûÓÃstrcmpº¯Êý£¬×Ô¼º±à³ÌʵÏÖÁ½¸öÈÎÒâ×Ö·û´®µÄ±È½Ï¡£
    02   
    03    // The beginning of C program: test06-13.c.
    04 &nbs ......

LinuxÎļþϵͳ·ÖÎö

ÕâÊǽ»Linux±¨¸æµÄÂÛÎÄ:
   ²¿·Ö×ÊÁÏÊÇ´ÓIBMÌṩ¸øÎÒÃÇѧԺµÄ×ÊÁÏÉÏ·­ÒëµÄ.
   Ö÷ÒªÊǹØÓÚLinuxÎļþϵͳµÄ,Ï£Íû¶Ô´ó¼ÒÁ˽âLinuxϵͳÓÐËù°ïÖú.
 
 
LinuxµÄ¸ùÎļþϵͳϸ÷¸öĿ¼µÄ×÷ÓÃ:
ÔÚLinuxÖÐÎļþϵͳ¹¹½¨ºÍUNIXÖв¶à£¬µ«Á½Õß»¹ÊÇÓÐһЩСµÄ³öÈë¡£
ÏÂͼÊÇLinuxÖÐÎļþϵͳ½á¹¹µÄ ......

linuxѧϰÈÕ¼Ç

  µÚÒ»ÌìÉϰ࣬ÕùÈ¡Ò»¸öÔÂÄÚlinux¸øŪÊìϤÁË
 ÌøתÃüÁcd /tmpÌøתµ½tmpĿ¼       cd ../../   Ìøתµ½¸úĿ¼
 Ð½¨Îļþ£º touch test.html  н¨Ò»¸ötest.html Îļþ
 ×°µÄÊÇredhatϵͳ  ĬÈϵÄapache·þÎñûÓдò¿ª£¬ÐèÒª´òÃüÁî
/etc/init.d/{·þÎñÃû} start»ò ......

LinuxÇý¶¯¿ª·¢Ö®S3C2440°´¼üµãÁÁLED

ÎÄռǼÁË×÷ÕßÔÚS3C2440¿ª·¢°åÉÏʵÏÖ°´¼üµãÁÁLEDÇý¶¯¿ª·¢µÄÏêϸ¹ý³Ì£¬»¹¼Ç¼ÁËһЩÈÝÒ׳öÏֵĴíÎó£¬ÒÔ¼°Ôõô½â¾öÕâЩ´íÎó¡£
Ò»¡¢Çý¶¯¿ª·¢Á÷³Ì
       LinuxÇý¶¯¿ª·¢²»Í¬ÓÚÓ¦ÓóÌÐòµÄ¿ª·¢¡£Çý¶¯¿ª·¢ÊÇÖ±½ÓºÍÓ²¼þ´ò½»µÀµÄ£¬Í¨¹ý¶ÔÓ²¼þµÄ²Ù×÷¸øÓ¦ÓóÌÐòÌṩһЩ½Ó¿Úº¯Êý£¬Ê¹µÃÓ¦ÓóÌÐòÄܹ»&l ......

Linuxѧϰ±Ê¼ÇÒ»

ÃüÁîÐÐ
1.init 0 ¹Ø»ú
£¨0-¹Ø»ú 1-µ¥Óû§ 2-¶àÓû§ÎÞNFS 3-¶àÓû§×´Ì¬ÓÐNFS 4-ϵͳδʹÓã¬Áô¸øÓû§ 5-X11¿ØÖÆ̨
6-ϵͳÕý³£¹Ø±Õ²¢ÖØÐÂÆô¶¯£©
2.chkconfig --list smartd  £¨²é¿´smartd·þÎñ״̬£©
  runlevel    £¨Ä¿Ç°ÏµÍ³´¦ÓÚÄĸö״̬£©
  chkconfig --level 2345 smartd off
£¨ÏµÍ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ