[ת]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Ö®ºó£¬µ
Ïà¹ØÎĵµ£º
ÔÚѧϰÓйØ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»±ØÒªµÄ¡£µ«ÊÇÎÒ¸ ......
LinuxÉ豸Çý¶¯³ÌÐòѧϰ±Ê¼ÇϵÁÐÎÄÕÂÔ×÷ÕßÊÇ£ºTekkaman Ninja£¬Ëû²©¿ÍµØÖ·£º
http://blog.chinaunix.net/u1/34474/showart_404278.html
ÔÚ´ËÏòTekkaman Ninja±íʾ¸Ðл£¬Ð´³öÕâôºÃµÄÎÄÕ£¬Ê¹ÎÒÉÙ×ßÁ˺ܶàÍä·¡£
ͨ¹ýÒ»¸öÉ豸ÔÚÄÚºËÖÐÉúÃüÖÜÆڵĸ÷¸ö½×¶Î£¬¿ÉÒÔ¸üºÃµØÀí½âLinuxÉ豸ģÐÍ¡£ÎÒ½«Í¨¹ý·ÖÎölddbusºÍsculldµÄÔ ......
FTPµÄÃüÁîÐиñʽΪ£º
ftp -v -d -i -n -g [Ö÷»úÃû] £¬ÆäÖÐ
-v ÏÔʾԶ³Ì·þÎñÆ÷µÄËùÓÐÏìÓ¦ÐÅÏ¢£»
-n ÏÞÖÆftpµÄ×Ô¶¯µÇ¼£¬¼´²»Ê¹Óã».n etrcÎļþ£»
-d ʹÓõ÷ÊÔ·½Ê½£»
-g È¡ÏûÈ«¾ÖÎļþÃû¡£
FTPʹÓõÄÄÚ²¿ÃüÁîÈçÏÂ(ÖÐÀ¨ºÅ±íʾ¿ÉÑ¡Ïî):
1.![cmd[args]]£ºÔÚ±¾µØ»úÖÐÖ´Ðн»»¥shell£¬exit»Øµ½ftp»·¾³£¬È磺!ls*.zip
......
ÎҴ󲿷Öʱ¼äʹÓÃLinux²Ù×÷ϵͳ(Debian
Lenny)£¬²»¹ýºÜ¶àʱ¼ä»¹ÊÇÒªWindowsµÄ£¨±È·½ËµÍøÉÏÒøÐС¢¿´docÎĵµ¡¢¿´WindowsרÓõÄÍøÕ¾¡¢war3£©£¬Ë«ÏµÍ³ÊÇÒ»¸ö½â¾ö·½°¸£¬²»
¹ýÀÏÇÐÀ´ÇÐÈ¥ÕæÀÛ¡£½ñÌìÖÕÓÚ±¬·¢ÁË£¬Åܵ½Ì«Æ½Ñó2Â¥ÂòÁËÌõ2GµÄÄڴ棬¼ÓÉÏ×Ô¼ºµÄ1GÄڴ棬¿ªÊ¼ÕÛÌÚÐéÄâ»ú¡£Ò»¿ªÊ¼ÏÈÊÔÁËKVM£¬·¢ÏÖÎÒµÄCPU²»Ö§³Ö£¬
Ö»ÄÜ×÷°Õ ......