Linux µÄ¶àÏ̱߳à³ÌµÄ¸ßЧ¿ª·¢¾Ñé
2009 Äê 4 ÔÂ 23 ÈÕ
±¾ÎÄÖÐÎÒÃÇÕë¶Ô Linux É϶àÏ̱߳à³ÌµÄÖ÷ÒªÌØÐÔ×ܽá³ö 5 Ìõ¾Ñ飬ÓÃÒÔ¸ÄÉÆ Linux ¶àÏ̱߳à³ÌµÄϰ¹ßºÍ±ÜÃâÆäÖеĿª·¢ÏÝÚå¡£ÔÚ±¾ÎÄÖУ¬ÎÒÃÇ´©²åһЩ Windows µÄ±à³ÌÓÃÀýÓÃÒÔ¶Ô±È Linux ÌØÐÔ£¬ÒÔ¼ÓÉî¶ÁÕßÓ¡Ïó¡£
±³¾°
Linux ƽ̨ÉϵĶàÏ̳߳ÌÐò¿ª·¢Ïà¶ÔÓ¦ÆäËûƽ̨£¨±ÈÈç Windows£©µÄ¶àÏß³Ì API ÓÐһЩϸ΢ºÍÒþ»ÞµÄ²î±ð¡£²»×¢ÒâÕâЩ Linux ÉϵÄһЩ¿ª·¢ÏÝÚ壬³£³£»áµ¼Ö³ÌÐòÎÊÌâ²»ÇËÀËø²»¶Ï¡£±¾ÎÄÖÐÎÒÃÇ´Ó 5 ¸ö·½Ãæ×ܽá³ö Linux ¶àÏ̱߳à³ÌÉϵÄÎÊÌ⣬²¢·Ö±ðÒý³öÏà¹Ø¸ÄÉÆµÄ¿ª·¢¾Ñ飬ÓÃÒÔ±ÜÃâÕâЩµÄÏÝÚå¡£ÎÒÃÇÏ£ÍûÕâЩ¾Ñé¿ÉÒÔ°ïÖú¶ÁÕßÃÇÄܸüºÃ¸ü¿ìµÄÊìϤ Linux ƽ̨µÄ¶àÏ̱߳à³Ì¡£
ÎÒÃǼÙÉè¶ÁÕß¶¼ÒѾºÜÊìϤ Linux ƽ̨ÉÏ»ù±¾µÄÏ̱߳à³ÌµÄ Pthread ¿â API ¡£ÆäËûµÄµÚÈý·½ÓÃÒÔÏ̱߳à³ÌµÄ¿â£¬Èç boost£¬½«²»»áÔÚ±¾ÎÄÖÐÌá¼°¡£±¾ÎÄÖÐÖ÷񻃾¼°µÄÌâ²Ä°üÀ¨Ï߳̿ª·¢ÖеÄÏ̹߳ÜÀí£¬»¥³â±äÁ¿£¬Ìõ¼þ±äÁ¿µÈ¡£½ø³Ì¸ÅÄ²»»áÔÚ±¾ÎÄÖÐÉæ¼°¡£
»ØÒ³Ê×
Linux ÉÏÏ߳̿ª·¢ API µÄ¸ÅÒª½éÉÜ
¶àÏ߳̿ª·¢ÔÚ Linux ƽ̨ÉÏÒѾÓгÉÊìµÄ Pthread ¿âÖ§³Ö¡£ÆäÉæ¼°µÄ¶àÏ߳̿ª·¢µÄ×î»ù±¾¸ÅÄîÖ÷Òª°üº¬Èýµã£ºỊ̈߳¬»¥³âËø£¬Ìõ¼þ¡£ÆäÖУ¬Ï̲߳Ù×÷ÓÖ·ÖÏ̵߳Ĵ´½¨£¬Í˳ö£¬µÈ´ý 3 ÖÖ¡£»¥³âËøÔò°üÀ¨ 4 ÖÖ²Ù×÷£¬·Ö±ðÊÇ´´½¨£¬Ïú»Ù£¬¼ÓËøºÍ½âËø¡£Ìõ¼þ²Ù×÷ÓÐ 5 ÖÖ²Ù×÷£º´´½¨£¬Ïú»Ù£¬´¥·¢£¬¹ã²¥ºÍµÈ´ý¡£ÆäËûµÄһЩÏß³ÌÀ©Õ¹¸ÅÄÈçÐźŵƵȣ¬¶¼¿ÉÒÔͨ¹ýÉÏÃæµÄÈý¸ö»ù±¾ÔªËصĻù±¾²Ù×÷·â×°³öÀ´¡£
Ị̈߳¬»¥³âËø£¬Ìõ¼þÔÚ Linux ƽ̨É϶ÔÓ¦µÄ API ¿ÉÒÔÓñí 1 ¹éÄÉ¡£ÎªÁË·½±ãÊìϤ Windows Ï̱߳à³ÌµÄ¶ÁÕßÊìϤ Linux ¶àÏ߳̿ª·¢µÄ API£¬ÎÒÃÇÔÚ±íÖÐͬʱҲÁгö Windows SDK ¿âÖÐËù¶ÔÓ¦µÄ API Ãû³Æ¡£
±í 1. Ï̺߳¯ÊýÁбí
¶ÔÏó
²Ù×÷
Linux Pthread API
Windows SDK ¿â¶ÔÓ¦ API
Ïß³Ì
´´½¨
pthread_create
CreateThread
Í˳ö
pthread_exit
ThreadExit
µÈ´ý
pthread_join
WaitForSingleObject
»¥³âËø
´´½¨
pthread_mutex_init
CreateMutex
Ïú»Ù
pthread_mutex_destroy
CloseHandle
¼ÓËø
pthread_mutex_lock
WaitForSingleObject
½âËø
pthread_mutex_unlock
ReleaseMutex
Ìõ¼þ
´´½¨
pthread_cond_init
CreateEvent
Ïú»Ù
pthread_cond_destroy
CloseHandle
´¥·¢
pthread_cond_signal
SetEvent
¹ã²¥
pthread_cond_broadcast
SetEvent / ResetEvent
µÈ´ý
pthread_cond_wait / pthread_cond_timedwait
SingleObjectAndWait
¶àÏ߳̿ª·¢ÔÚ Linux
Ïà¹ØÎĵµ£º
°æÈ¨ÉùÃ÷
±¾ÎÄ×÷ÕßÊÇһλ×ÔÓÉÈí¼þ°®ºÃÕߣ¬ËùÒÔ±¾ÎÄËäÈ»²»ÊÇÈí¼þ£¬µ«ÊDZ¾×Å GPL µÄ¾«Éñ·¢²¼¡£ÈκÎÈ˶¼¿ÉÒÔ×ÔÓÉʹÓá¢×ªÔØ¡¢¸´ÖƺÍÔÙ·Ö·¢£¬µ«±ØÐë±£Áô×÷ÕßÊðÃû£¬Ò಻µÃ¶ÔÉùÃ÷ÖеÄÈκÎÌõ¿î×÷ÈκÎÐÎʽµÄÐ޸ģ¬Ò²²»µÃ¸½¼ÓÈÎºÎÆäËüÌõ¼þ¡£Äú¿ÉÒÔ×ÔÓÉÁ´½Ó¡¢ÏÂÔØ¡¢´«²¥´ËÎĵµ£¬µ«Ç°ÌáÊDZØÐ뱣֤ȫÎÄÍêÕû×ªÔØ£¬°üÀ¨ÍêÕûµÄ°æÈ¨ÐÅÏ¢ºÍ× ......
ÏȲο´Ò»ÏÂĿ¼ÏµÄREADMEÎĵµ
Ö÷ÒªÓÐÒÔϼ¸¸ö²½Ö裺
1) perl **.PL Éú³Émakefile Îļþ
2) make
3) make test (this is optional£¬Èç¹ûÕⲽûɶÎÊÌâ,»áÏÔʾһÇÐok)
4) make install
³öÏÖµÄÎÊÌ⣬¶à¿´ÏÂÌáʾ£¬Ò»°ã¶¼ÊÇȱ°üÉÙ¿â ......
Linux·þÎñÆ÷ÐÔÄܼà²âÊǺÜÖØÒªµÄ¹¤×÷£¬·þÎñÆ÷ÔËÐÐÓ¦¸ÃÌṩ×îÓÐЧµÄϵͳÐÔÄÜ¡£µ±·þÎñÆ÷ϵͳÐÔÄÜͻȻµÍÓÚÆ½¾ùÓ¦ÓеÄÇé¿ö£¬ÎÊÌâ¿ÉÄÜÀ´×ÔÔÚÖ´ÐеĽø³Ì¡¢ÄÚ´æµÄʹÓÃÂÊ¡¢´ÅÅ̵ÄÐÔÄÜ¡¢ÍøÂçÁ÷Á¿ºÍCPU µÄѹÁ¦¡£ÔÚÔ¤Ëã¶ÌȱµÄ½ñÌ죬Àí½âÈçºÎÓÅ»¯ÏµÍ³ÐÔÄܱÈÒÔÍùÈκÎʱºò¶¼ÖØÒª¡£ÒªÊµÏÖËüµÄǰÌáÊÇ£¬Äã±ØÐë³ä·ÖÁ˽â×Ô¼ºµÄ¼ÆËã»úºÍÍøÂ磬´Ó¶ ......
Ãæ¶Ô²»¶ÏÉý¼¶µÄÄںˣ¬ÈçºÎѧϰlinuxÉ豸Çý¶¯
  ......
(¼Ó#µÄÃüÁîΪ±ØÐëÔÚ¸ùÓû§È¨ÏÞϲÙ×÷)
Ò»¡¢¹Ø»úÓëÖØÐÂÆô¶¯
1£©#init 0ÖØÆô #init 6¹Ø»ú£¨¸Ä±äϵͳÔËÐм¶±ðµÄ·½·¨£©
2£©#rebootÖØÆô #halt¹Ø»ú£¨ÃüÁî·¨£©
3)#showdown -h +5 (5·ÖÖÓºó¹Ø»ú) #showdown -r +5(5·ÖÖÓºóÖØÆô)
¶þ¡¢³£ÓÃĿ¼²Ù×÷ÃüÁî
1£©ÏÔʾÎļþºÍĿ¼£ºls -a ......