[ת]linuxÐźÅÁ¿µÄʵÏÖ
ÔÎĵØÖ·£ºhttp://blog.sina.com.cn/s/blog_460b9cbf0100gxtv.html
ҪʹÓÃÐźÅÁ¿£¬Äں˴úÂë±ØÐë°üÀ¨<asm/semaphore.h>¡£Ïà¹ØµÄÀàÐÍÊÇstruct semaphore£»Êµ¼ÊµÄÐźÅÁ¿¿Éͨ¹ý¼¸ÖÖ;¾¶À´ÉùÃ÷ºÍ³õʼ»¯¡£ÆäÖÐÖ®Ò»ÊÇÖ±½Ó´´½¨ÐźÅÁ¿£¬Õâͨ¹ýsema_initÍê³É£º
viod sema_init(struct semaphore *sem,int val);
ÆäÖÐvalÊǸ³ÓèÒ»¸öÐźÅÁ¿µÄ³õʼֵ¡£
²»¹ý£¬ÐźÅÁ¿Í¨³£ÓÃÓÚ»¥³âģʽ¡£ÎªÁËÈÃÕâÖÖÇé¿ö¸ü¼Ó¼òµ¥£¬ÄÚºËÌṩÁËÒ»×鸨Öúº¯ÊýºÍºê¡£Òò´Ë£¬ÎÒÃÇ¿ÉÒÔÓÃÏÂÃæµÄ·½·¨Ö®Ò»À´ÉùÃ÷ºÍ³õʼ»¯»¥³âÌ壺
DECLARE_MUTEX(name);
DECLARE_MUTEX_LOCKED(name);
ÉÏÃæÁ½¸öºêµÄ½á¹ûÊÇ£¬Ò»¸ö³ÆÎªnameµÄÐźÅÁ¿±»³õʼ»¯Îª1(DECLARE_MUTEX)»òÕß0£¨Ê¹ÓÃDECLARE_MUTEX_LOCKED)¡£ÔÚºóÃæÒ»ÖÖÇé¿öÏ£¬»¥³âÌåµÄ³õÊ¼×´Ì¬Ê±Ëø¶¨µÄ£¬Ò²¾ÍÊÇ˵£¬ÔÚÔÊÐíÈκÎÏ̷߳ÃÎÊ֮ǰ£¬±ØÐëÏÔʽµØ½âËø¸Ã»¥³âÌå¡£
Èç¹û»¥³âÌ屨ÐëÔÚÔËÐÐʱ±»³õʼ»¯£¨ÀýÈçÔÚ¶¯Ì¬·ÖÅ以³âÌåµÄÇé¿öÏ£©£¬Ó¦Ê¹ÓÃÏÂÃæµÄº¯ÊýÖ®Ò»£º
void init_MUTEX(struct semaphore * sem);
void init_MUTEX_LOCKED(struct semaphore *sem);
ÔÚlinuxÊÀ½çÖУ¬Pº¯Êý±»³ÆÎªdown--»òÕßÕâ¸öÃû×ֵįäËü±äÖÖ¡£ÕâÀ"down"Ö¸µÄÊǸú¯Êý¼õСÁËÐźÅÁ¿µÄÖµ£¬ËüÒ²Ðí»á±»µ÷ÓÃÕßÖÃÓÚÐÝÃß״̬£¬È»ºóµÈ´ýÐźÅÁ¿±äµÃ¿ÉÓã¬Ö®ºóÊÚÓèµ÷ÓÃÕß¶Ô±»±£»¤×ÊÔ´µÄ·ÃÎÊ¡£ÏÂÃæÊÇdownµÄÈý¸ö°æ±¾£º
void down(struct semaphore *sem);
int down_interruptible(struct semaphore *sem);
int down_trylock(struct semaphore *sem);
down¼õÉÙÐźÅÁ¿µÄÖµ£¬²¢ÔÚ±ØÒªÊ±Ò»Ö±µÈ´ý¡£down_interruptibleÍê³ÉÏàͬµÄ¹¤×÷£¬µ«²Ù×÷ÊÇ¿ÉÖжϵġ£¿ÉÖжϵİ汾¼¸ºõÊÇÎÒÃÇʼÖÕҪʹÓõİ汾£¬ËüÔÊÐíµÈ´ýÔÚij¸öÐźÅÁ¿ÉϵÄÓû§¿Õ¼äµÄ½ø³Ì¿É±»Óû§Öжϡ£Ê¹ÓÃdown_interruptibleÐèÒª¶îÍâСÐÄ£¬Èç¹û²Ù×÷±»Öжϣ¬¸Ãº¯Êý»á·µ»Ø·ÇÁãÖµ£¬¶øµ÷ÓÃÕß²»»áÓµÓиÃÐźÅÁ¿¡£¶Ôdown_interruptibleµÄÕýȷʹÓÃÐèҪʼÖÕ¼ì²é·µ»ØÖµ£¬²¢×÷³öÏàÓ¦µÄÏìÓ¦¡£
×îºóÒ»¸ö°æ±¾(down_trylock)ÓÀÔ¶²»»áÐÝÃߣ»Èç¹ûÐźÅÁ¿ÔÚµ÷ÓÃʱ²»¿É»ñµÃ£¬down_trylock»áÁ¢¼´·µ»ØÒ»¸ö·ÇÁãÖµ¡£
µ±Ò»¸öÏ̳߳ɹ¦µ÷ÓÃÉÏÊödownµÄij¸ö°æ±¾Ö®ºó£¬¾Í³ÆÎª¸ÃÏ߳̔ӵÓГ(»ò”Äõ½“£¬”»ñÈ¡“£©Á˸ÄÐźÅÁ¿¡£ÕâÑù£¬¸ÃÏ߳̾ͱ»¸³Óè·ÃÎÊÓɸÃÐźÅÁ¿±£»¤µÄÁÙ½çÇøµÄȨÀû¡£µ±»¥³â²Ù×÷Íê³Éºó£¬±ØÐë·µ»Ø¸ÃÐźÅÁ¿¡£LinuxµÈ¼ÛÓÚVµÄº¯ÊýÊÇup:
void up(struct semaphore * sem);
µ÷ÓÃupÖ®ºó£¬µ
Ïà¹ØÎĵµ£º
°²×°java£º
´ò¿ªÖÕ¶Ë£¬Ö´ÐÐÒÔÏÂÃüÁ»òʹÓÃAdept/ÐÂÁ¢µÃÈí¼þ¹ÜÀíÆ÷£¬ÔÚÆäÖзֱðËÑË÷"sun-java6-jre"ºÍ"sun-java6-jdk"²¢±ê¼Ç°²×°¡£
sudo apt-get install sun-java6-jre
Èç¹û¿Õ¼ä¸»Ô££¬½¨Òé°²×°Ò»¸öJDK¡£
sudo apt-get install sun-java6-jdk
Ìáʾ£º°²×°¹ý³ÌÖÐÐèÒªÄã»Ø´ðÊÇ·ñͬÒâʹÓÃÐÒ飨ÖÕ¶ËÖкìÀ¶É«µÄÌáʾ½çÃæ£ ......
sudo rm ½â³ýËøÎļþ¼Ð
sudo chmod 777 / ÓÐÁËËùÓÐȨÏÞ
yjh@ubuntu:~$ cd /etc
yjh@ubuntu:/etc$ sudo chmod 777 bash.bashrc ³¬¼¶Óû§È¨ÏÞ ÐÞ¸Äbash.bashrc
yjh@ubuntu:/etc$ gedit bash.bashrc
yjh@ubuntu:/etc$
etcÏ»·¾³±äÁ¿ ÐÞ¸Ä bash.bashrv
×îº ......
ÔÚѧϰÓйØI/O×ÜÏßµÄÄÚÈÝʱ£¬×îºÃÏÈ¿´¿´Ïà¹ØµÄ֪ʶ£º´ÓPC×ÜÏßµ½ARMµÄÄÚ²¿×ÜÏß
I/O ¶Ë¿ÚºÍ I/O ÄÚ´æ
ÿÖÖÍâÉè¶¼ÊÇͨ¹ý¶Áд¼Ä´æÆ÷À´½øÐпØÖÆ¡£
ÔÚÓ²¼þ²ã£¬ÄÚ´æÇøºÍ I/O ÇøÓòûÓиÅÄîÉϵÄÇø±ð: ËüÃǶ¼ÊÇͨ¹ýÏòÔÚµØÖ·×ÜÏߺͿØÖÆ×ÜÏß·¢³öµçƽÐźÅÀ´½øÐзÃÎÊ£¬ÔÙͨ¹ýÊý¾Ý×ÜÏß¶ÁдÊý¾Ý¡£
ÒòΪÍâÉèÒªÓëI\O×ÜÏ߯¥Å䣬¶ø´ó²¿·ÖÁ ......
LinuxÉ豸Çý¶¯³ÌÐòѧϰ±Ê¼ÇϵÁÐÎÄÕÂÔ×÷ÕßÊÇ£ºTekkaman Ninja£¬Ëû²©¿ÍµØÖ·£º
http://blog.chinaunix.net/u1/34474/showart_404278.html
ÔÚ´ËÏòTekkaman Ninja±íʾ¸Ðл£¬Ð´³öÕâôºÃµÄÎÄÕ£¬Ê¹ÎÒÉÙ×ßÁ˺ܶàÍä·¡£
ÒÔ¡¶LDD3¡·µÄ˵·¨£ºLinuxÉ豸ģÐÍÕⲿ·ÖÄÚÈÝ¿ÉÒÔÈÏΪÊǸ߼¶½Ì²Ä£¬¶ÔÓÚ¶àÊý³ÌÐò×÷ÕßÀ´ËµÊDz»±ØÒªµÄ¡£µ«ÊÇÎÒ¸ ......
C¹æÔòÉæ¼°µ½ ¶ÓÁÐ(QUEUE) ·ÖÀàÆ÷(CLASS) ¹ýÂËÆ÷£¨FILTER£©,filter»®·ÖµÄ±ê־λ¿ÉÓÃU32»òiptablesµÄset-markÀ´ÊµÏÖ ) Ò»°ãÊÇ"¿Ø·¢"²»¿ØÊÕ linuxÏÂÓÐÁ½¿éÍø¿¨,Ò»¸öeth1ÊÇÍâÍø,ÁíÒ»¿éeth0ÊÇÄÚÍø.ÔÚeth0ÉÏ×öHTB¡££¨×¢Ò⣺filter»®·Ö±ê־λ¿ÉÓÃu32´ò±ê¹¦ÄÜ»òiptablesµÄset-mark¹¦ÄÜ£¬Èç¹ûÓÃiptablesÀ´´ò±ê¼ÇµÄ»°£¬ÏÂÐÐËÙLVÔÚet ......