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

LinuxÖÐselectº¯Êýѧϰ¼°ÊµÀý±Ê¼Ç

UnixÖеĺ¯ÊýselectºÍpollÓÃÀ´£¬Ö§³ÖUnixÖÐI/O¸´ÓõŦÄÜ£¬ÔÚUnixÖÐI/OÄ£ÐÍ¿ÉÒÔ·ÖΪÒÔÒ»¼¸ÖÖ£º
£¨1£©×èÈûI/O
£¨2£©·Ç×èÈûI/O
£¨3£©I/O¸´Óã¨selectºÍpoll£©
£¨4£©ÐźÅÇý¶¯I/O(SIGIO)
£¨5£©Òì²½I/O
   ÆäÖУ¬ÏÖÔڱȽÏÁ÷ÐеÄI/OÄ£ÐÍÊÇ×èÈûI/OÄ£ÐÍ.×èÈûI/OÊǵ±Ó¦ÓóÌÐòºÍÄں˽»»»Êý¾Ýʱ£¬ÓÉÓÚÄں˻¹Ã»ÓÐ×¼±¸ºÃÊý¾Ý£¬ÄÇôӦÓóÌÐò±ØÐë½øÐÐ×èÈû£¬²»ÄܼÌÐøÖ´ÐУ¬Ö±µ½Äں˵ÄÊý¾Ý×¼±¸ºÃ£¡Ó¦ÓóÌÐòÈ¡µ½Êý¾Ý·µ»Øºó£¬×èÈû¹ý³Ì½áÊø£¡µ«·µ»ØµÄ½á¹ûÒ²²¢²»Ò»¶¨ÊÇÕýÈ·µÄ£¡ÕâÀïÖ»ÊǾÙÒ»¸ö¼òµ¥µÄÀý×Ó£¡Ò²ÐíÇé¿ö»á¸ü¼ÓµÄ¸´ÔÓ£¡
   ·Ç×èÈûI/O£¬ÀýÈçÔÚºÍÄں˽»»»Êý¾Ýʱ£¬Èç¹ûÄں˵ÄÊý¾ÝûÓÐ×¼±¸ºÃ£¬ÄÇôӦÓóÌÐò²»»áÒ»ÕæµÈ´ý£¬»áÓÐÒ»¸ö·µ»ØÐÅÏ¢£¬ÒÔÅжÏÊÇÄÇÀï³öÁËÎÊÌ⣡ÕâÑùÓÐÖúÓÚÈ·ÈÏÊÇÔÚÄǸö½×¶Î³öÁËÎÊÌ⣡
   I/O¸´Óã¬ÎÒÃǾͿÉÒÔµ÷ÓÃϵͳµ÷ÓÃselectºÍpoll£¡ÔÚÕâÁ½¸öϵͳµ÷ÓÃÖеÄijһ¸ö×èÈû£¬¶ø²»ÊÇÕæÕýµÄ×èÈûI/Oϵͳµ÷Óã¡
   ÏÂÃæÖ÷Òª½éÉÜI/O¸´ÓÃÖеÄselectº¯Êý£¡selectº¯Êý¿ÉÒÔָʾÄں˵ȴý¶à¸öʼþÖеÄÈÎÒ»¸ö·¢Éú£¬½öÔÚÒ»¸ö»ò¶à¸öʼþ·¢Éú£¬»òÕߵȴýÒ»¸ö×ã¹»µÄʱ¼äºó²Å»½Ðѽø³Ì£¡selectº¯ÊýµÄÔ­ÐÍÈçÏ£º
#include <sys/types.h>
#include<sys/time.h>
int select (int maxfdp1,fd_set *readset,fd_set * writeset,fd_set excpetset,const struct timeval *timeout);
·µ»ØÖµ£º×¼±¸ºÃµÄÃèÊö·ûµÄÕýÊýÄ¿ 0---³¬Ê± -1---³ö´í£¡
ÆäÖÐ×îºóÒ»¸ö²ÎÊýÊÇÒ»¸ö½á¹¹ÌåµÄÖ¸Õ룬Ëü±íʾµÈ´ýÄÚºËÖеÄÒ»×éÃèÊö·ûÈÎÒ»¸ö×¼±¸ºÃÐèÒª»¨·Ñ¶à¾ÃµÄʱ¼ä£¡ÆäÖÐtimevalÖ¸¶¨ÁËÃëÊýºÍ΢ÃëÊý¡£
struct timeval{
         long tv_sec;//ÃëÊý
         long tv_usec;//΢ÃëÊý
};
        
   ½« timeoutÉèÖÃΪ¿ÕÖ¸Õëʱ£¬»áÓÀÔ¶µÈ´ýÏÂÈ¥£¬µÈ´ý¹Ì¶¨µÄʱ¼ä£ºÈç¹ûtimeoutÖ¸ÏòµÄtimevalÖеľßÌåµÄֵʱ£¬»áµÈ´ýÒ»¸ö¹Ì¶¨µÄʱ¼ä£¬²»µÈ´ýÁ¢¿Ì·µ»Ø£¬ÕâʱtimevalÖеÄtv_secºÍtv_usecΪ0.
selectÓÐÈý¸ö¿ÉÄܵķµ»ØÖµ¡£
1£®Õý³£Çé¿öÏ·µ»Ø¾ÍÐ÷µÄÎļþÃèÊö·û¸öÊý£»
2£®¾­¹ýÁËtimeoutʱ³¤ºóÈÔÎÞÉ豸׼±¸ºÃ£¬·µ»ØֵΪ0£»
3£®Èç¹ûselect±»Ä³¸öÐźÅÖжϣ¬Ëü½«·µ»Ø-1²¢ÉèÖÃerrnoΪEINTR¡£
4£®Èç¹û³ö´í£¬·µ»Ø-1²¢ÉèÖÃÏàÓ¦µÄerrno¡£
EBADF ÎļþÃèÊö´ÊΪÎÞЧµÄ»ò¸ÃÎļþÒѹرÕ
EINTR ´Ëµ÷Óñ»ÐźÅË


Ïà¹ØÎĵµ£º

linuxÆô¶¯£¨×ªÔØ£©

¸÷sectionµÄλÖ÷ֲ¼¿´Äں˵ÄÁ´½Ó½Å±¾
D:\KIDE\target\kernel-version\cgel3.0\linux\include\asm-generic\vmlinux.lds.h
D:\KIDE\target\kernel-version\cgel3.0\linux\arch\powerpc\kernel\vmlinux.lds.S
Kernel¾µÏñÆðʼµØÖ·KERNELBASE = 0xc000 0000£¬ÕâÒâζ×ÅÄں˴úÂëºÍÄÚºËÈ«¾Ö±äÁ¿µÈµÄµØÖ·¿Õ¼äÔÚ3g-4gµÄµØ·½£¬
¶ø ......

LinuxÄں˵Äͬ²½»úÖÆ

ÔÚ½øÈëÕýÎÄÇ°ÏÈ¿´Ò»ÏÂÎÒÔÚÍøÉÏ¿´µ½µÄÌû×Ó£º
ÎÊ£ºatomic_set(v,i)µÄ¶¨ÒåÊÇÕâÑùµÄ:
#define atomic_set(v,i) v->counter=i
µ«ÊÇ£¬ÔÚi386Ìåϵ½á¹¹ÖУ¬²»ÄÜÖ±½Ó°ÑÒ»¸öÄÚ´æ²Ù×÷Êýͨ¹ýÒ»ÌõmovÖ¸Áî´æµ½ÁíÒ»¸öÄÚ´æ²Ù×÷ÊýÖУ¬
±ÈÈçÒª°Ñint32ÀàÐ͵ıäÁ¿ i ÉèÖÃ³É j£¬±ØÐë¾­¹ýÁ½ÌõÖ¸Áî:
mov eax,j
mov i,eax
Èç¹ûÕâÑùÀ ......

linuxϵͳ³£ÓÃÃüÁî

£¨Ò»£©Îļþ¡¢Ä¿Â¼²Ù×÷ÃüÁî
1¡¢lsÃüÁî
¹¦ÄÜ£ºÏÔʾÎļþºÍĿ¼µÄÐÅÏ¢
ls¡¡ÒÔĬÈÏ·½Ê½ÏÔʾµ±Ç°Ä¿Â¼ÎļþÁбí
ls -a ÏÔʾËùÓÐÎļþ°üÀ¨Òþ²ØÎļþ
ls -l ÏÔʾÎļþÊôÐÔ£¬°üÀ¨´óС£¬ÈÕÆÚ£¬·ûºÅÁ¬½Ó£¬ÊÇ·ñ¿É¶Áд¼°ÊÇ·ñ¿ÉÖ´ÐÐ
ls -lh ÏÔʾÎļþµÄ´óС£¬ÒÔÈÝÒ×Àí½âµÄ¸ñʽӡ³öÎļþ´óС (ÀýÈç 1K 234M 2G)
ls -lt ÏÔʾÎļþ£¬°´ÕÕÐÞ¸ÄÊ ......

Linux ƽ̨ÉϵÄÈí¼þ°ü¹ÜÀí

°²×°£¬Éý¼¶ºÍжÔØÓ¦ÓÃÈí¼þÊÇÓ°ÏìÓû§¶Ô²Ù×÷ϵͳÆÀ¼ÛµÄ¾ö¶¨ÐÔÒòËØÖ®Ò»¡£¶ÔÓÚÈÕ½¥Á÷ÐÐµÄ GNU/Linux ²Ù×÷ϵͳ£¬ÓµÓмò½àÇ¿´óµÄÈí¼þ°ü¹ÜÀí»úÖƹ¦²»¿Éû¡£±¾ÎÄ´Ó»ù±¾µÄ rpm/dpkg ÃüÁîÐгö·¢£¬ÒÔ RHEL ºÍ Ubuntu
ΪÀý£¬½éÉܵäÐÍ Linux ϵͳÖÐÓ¦ÓÃÈí¼þµÄ¹ÜÀíºÍʹÓá£
RPM/DPKG Á½´óÕóÓª¼ò½é
ÔÚ GNU/Linux( ÒÔϼò³Æ Linux) ²Ù× ......

LinuxÉϵÄWebSphere MQ¿ª·¢¿ìËÙÈëÃÅ

±¾ÎĽ«Í¨¹ýÓÃÓÚÏò¶ÓÁз¢ËÍÏûÏ¢ºÍ´Ó¶ÓÁнÓÊÕÏûÏ¢µÄʾÀýÓ¦ÓóÌÐò˵Ã÷ÈçºÎÔÚ Linux ÉÏ×ÅÊÖ°²×°ºÍÅäÖà WebSphere MQ£¬ÒÔ¼°ÈçºÎΪ MQ »·¾³¿ª·¢ Java Ó¦ÓóÌÐò¡£
ÒýÑÔ
±¾ÎĵÄÄ¿±êÊÇÈÃÄúÇáËÉʵÏÖ Linux® É쵀 IBM® WebSphere® MQ ÈëÃÅ¡£ÓÉÓÚ´ó²¿·Ö Linux ·þÎñÆ÷²¢Ã»ÓÐͼÐÎÓû§½çÃ棬Òò´Ë±¾ÎĽ«ËµÃ÷ÈçºÎʹÓÃÃüÁîÐй¤¾ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ