ʲôʱºòÐèÒª´´½¨Ï̳߳ØÄØ£¿¼òµ¥µÄ˵£¬Èç¹ûÒ»¸öÓ¦ÓÃÐèҪƵ·±µÄ´´½¨ºÍÏú»ÙỊ̈߳¬¶øÈÎÎñÖ´ÐеÄʱ¼äÓַdz£¶Ì£¬ÕâÑùÏ̴߳´½¨ºÍÏú»ÙµÄ´øÀ´µÄ¿ªÏú¾Í²»ÈݺöÊÓ£¬ÕâʱҲÊÇÏ̳߳ظóö³¡µÄ»ú»áÁË¡£Èç¹ûÏ̴߳´½¨ºÍÏú»Ùʱ¼äÏà±ÈÈÎÎñÖ´ÐÐʱ¼ä¿ÉÒÔºöÂÔ²»¼Æ£¬ÔòûÓбØÒªÊ¹ÓÃÏ̳߳ØÁË¡£ÏÂÃæÊÇLinuxϵͳÏÂÓÃCÓïÑÔ´´½¨µÄÒ»¸öÏ̳߳ء£Ï̳߳ػáά»¤Ò»¸öÈÎÎñÁ´±í(ÿ¸öCThread_worker½á¹¹¾ÍÊÇÒ»¸öÈÎÎñ)¡£pool_init()º¯ÊýÔ¤ÏÈ´´½¨ºÃmax_thread_num¸öỊ̈߳¬Ã¿¸öÏß³ÌÖ´thread_routine ()º¯Êý¡£¸Ãº¯ÊýÖÐ
while (pool->cur_queue_size == 0)
{
pthread_cond_wait (&(pool->queue_ready),&(pool->queue_lock));
}
±íʾÈç¹ûÈÎÎñÁ´±íÖÐûÓÐÈÎÎñ£¬Ôò¸ÃÏ̳߳öÓÚ×èÈûµÈ´ý״̬¡£·ñÔò´Ó¶ÓÁÐÖÐÈ¡³öÈÎÎñ²¢Ö´ÐС£pool_add_worker()º¯ÊýÏòÏ̳߳صÄÈÎÎñÁ´±íÖмÓÈëÒ»¸öÈÎÎñ£¬¼ÓÈëºóͨ¹ýµ÷ÓÃpthread_cond_signal (&(pool->queue_ready))»½ÐÑÒ»¸ö³öÓÚ×èÈû״̬µÄÏß³Ì(Èç¹ûÓеϰ)¡£pool_destroy ()º¯ÊýÓÃÓÚÏú»ÙÏ̳߳أ¬Ï̳߳ØÈÎÎñÁ´±íÖеÄÈÎÎñ²»»áÔÙ±»Ö´ÐУ¬µ«ÊÇÕýÔÚÔËÐеÄÏ̻߳áÒ»Ö±°ÑÈÎÎñÔËÐÐÍêºóÔÙÍ˳ö¡£ÏÂÃæÌù³öÍêÕû´úÂë
#include
#include
#include
#include
#include
#include
/*
*Ï̳߳ØÀïËùÓÐÔËÐк ......
ʲôʱºòÐèÒª´´½¨Ï̳߳ØÄØ£¿¼òµ¥µÄ˵£¬Èç¹ûÒ»¸öÓ¦ÓÃÐèҪƵ·±µÄ´´½¨ºÍÏú»ÙỊ̈߳¬¶øÈÎÎñÖ´ÐеÄʱ¼äÓַdz£¶Ì£¬ÕâÑùÏ̴߳´½¨ºÍÏú»ÙµÄ´øÀ´µÄ¿ªÏú¾Í²»ÈݺöÊÓ£¬ÕâʱҲÊÇÏ̳߳ظóö³¡µÄ»ú»áÁË¡£Èç¹ûÏ̴߳´½¨ºÍÏú»Ùʱ¼äÏà±ÈÈÎÎñÖ´ÐÐʱ¼ä¿ÉÒÔºöÂÔ²»¼Æ£¬ÔòûÓбØÒªÊ¹ÓÃÏ̳߳ØÁË¡£ÏÂÃæÊÇLinuxϵͳÏÂÓÃCÓïÑÔ´´½¨µÄÒ»¸öÏ̳߳ء£Ï̳߳ػáά»¤Ò»¸öÈÎÎñÁ´±í(ÿ¸öCThread_worker½á¹¹¾ÍÊÇÒ»¸öÈÎÎñ)¡£pool_init()º¯ÊýÔ¤ÏÈ´´½¨ºÃmax_thread_num¸öỊ̈߳¬Ã¿¸öÏß³ÌÖ´thread_routine ()º¯Êý¡£¸Ãº¯ÊýÖÐ
while (pool->cur_queue_size == 0)
{
pthread_cond_wait (&(pool->queue_ready),&(pool->queue_lock));
}
±íʾÈç¹ûÈÎÎñÁ´±íÖÐûÓÐÈÎÎñ£¬Ôò¸ÃÏ̳߳öÓÚ×èÈûµÈ´ý״̬¡£·ñÔò´Ó¶ÓÁÐÖÐÈ¡³öÈÎÎñ²¢Ö´ÐС£pool_add_worker()º¯ÊýÏòÏ̳߳صÄÈÎÎñÁ´±íÖмÓÈëÒ»¸öÈÎÎñ£¬¼ÓÈëºóͨ¹ýµ÷ÓÃpthread_cond_signal (&(pool->queue_ready))»½ÐÑÒ»¸ö³öÓÚ×èÈû״̬µÄÏß³Ì(Èç¹ûÓеϰ)¡£pool_destroy ()º¯ÊýÓÃÓÚÏú»ÙÏ̳߳أ¬Ï̳߳ØÈÎÎñÁ´±íÖеÄÈÎÎñ²»»áÔÙ±»Ö´ÐУ¬µ«ÊÇÕýÔÚÔËÐеÄÏ̻߳áÒ»Ö±°ÑÈÎÎñÔËÐÐÍêºóÔÙÍ˳ö¡£ÏÂÃæÌù³öÍêÕû´úÂë
#include
#include
#include
#include
#include
#include
/*
*Ï̳߳ØÀïËùÓÐÔËÐк ......
µÚ1ÕÂ×Ö·û²âÊÔº¯Êýisalnum(²âÊÔ×Ö·ûÊÇ·ñΪӢÎÄ×Öĸ»òÊý×Ö)isalpha(²âÊÔ×Ö·ûÊÇ·ñΪӢÎÄ×Öĸ)isascii(²âÊÔ×Ö·ûÊÇ·ñΪASCIIÂë×Ö·û)isblank(²âÊÔ×Ö·ûÊÇ·ñΪ¿Õ¸ñ×Ö·û)iscntrl(²âÊÔ×Ö·ûÊÇ·ñΪASCIIÂëµÄ¿ØÖÆ×Ö·û)isdigit(²âÊÔ×Ö·ûÊÇ·ñΪ°¢À²®Êý×Ö)isgraph(²âÊÔ×Ö·ûÊÇ·ñΪ¿É´òÓ¡×Ö·û)islower(²âÊÔ×Ö·ûÊÇ·ñΪСдӢÎÄ×Öĸ)isprint(²âÊÔ×Ö·ûÊÇ·ñΪ¿É´òÓ¡×Ö·û)isspace(²âÊÔ×Ö·ûÊÇ·ñΪ¿Õ¸ñ×Ö·û)ispunct(²âÊÔ×Ö·ûÊÇ·ñΪ±êµã·ûºÅ»òÌØÊâ·ûºÅ)isupper(²âÊÔ×Ö·ûÊÇ·ñΪ´óдӢÎÄ×Öĸ)isxdigit(²âÊÔ×Ö·ûÊÇ·ñΪ16½øÖÆÊý×Ö)µÚ2ÕÂÊý¾Ýת»»º¯Êýatof(½«×Ö·û´®×ª»»³É¸¡µãÐÍÊý)1atoi(½«×Ö·û´®×ª»»³ÉÕûÐÍÊý)atol(½«×Ö·û´®×ª»»³É³¤ÕûÐÍÊý)ecvt(½«¸¡µãÐÍÊýת»»³É×Ö·û´®,19È¡ËÄÉáÎåÈë)fcvt(½«¸¡µãÐÍÊýת»»Îª×Ö·û´®,20È¡ËÄÉáÎåÈë)gcvt(½«¸¡µãÐÍÊýת»»Îª×Ö·û´®,21È¡ËÄÉáÎåÈë)µÚ3ÕÂÄÚ´æÅäÖú¯Êýalloca(ÅäÖÃÄÚ´æ¿Õ¼ä)brk(¸Ä±äÊý¾Ý×ֽڵķ¶Î§)calloc(ÅäÖÃÄÚ´æ¿Õ¼ä)free(ÊÍ·ÅÔÏÈÅäÖõÄÄÚ´æ)getpagesize(È¡µÃÄÚ´æ·ÖÒ³´óС)malloc(ÅäÖÃÄÚ´æ¿Õ¼ä)mmap(½¨Á¢ÄÚ´æÓ³Éä)munmap(½â³ýÄÚ´æÓ³Éä)realloc(¸ü¸Ä¼ºÅäÖõÄÄÚ´æ¿Õ¼ä)sbrk(Ôö¼Ó³ÌÐò¿ÉÓõÄÊý¾Ý¿Õ¼ä)µÚ4ÕÂʱ¼äº¯Êýasctime(½«Ê±¼äºÍÈÕÆÚÒÔ×Ö·û´®¸ñʽ±íʾ)clock(È¡µÃ½ø³Ì ......
µÚ1ÕÂ×Ö·û²âÊÔº¯Êýisalnum(²âÊÔ×Ö·ûÊÇ·ñΪӢÎÄ×Öĸ»òÊý×Ö)isalpha(²âÊÔ×Ö·ûÊÇ·ñΪӢÎÄ×Öĸ)isascii(²âÊÔ×Ö·ûÊÇ·ñΪASCIIÂë×Ö·û)isblank(²âÊÔ×Ö·ûÊÇ·ñΪ¿Õ¸ñ×Ö·û)iscntrl(²âÊÔ×Ö·ûÊÇ·ñΪASCIIÂëµÄ¿ØÖÆ×Ö·û)isdigit(²âÊÔ×Ö·ûÊÇ·ñΪ°¢À²®Êý×Ö)isgraph(²âÊÔ×Ö·ûÊÇ·ñΪ¿É´òÓ¡×Ö·û)islower(²âÊÔ×Ö·ûÊÇ·ñΪСдӢÎÄ×Öĸ)isprint(²âÊÔ×Ö·ûÊÇ·ñΪ¿É´òÓ¡×Ö·û)isspace(²âÊÔ×Ö·ûÊÇ·ñΪ¿Õ¸ñ×Ö·û)ispunct(²âÊÔ×Ö·ûÊÇ·ñΪ±êµã·ûºÅ»òÌØÊâ·ûºÅ)isupper(²âÊÔ×Ö·ûÊÇ·ñΪ´óдӢÎÄ×Öĸ)isxdigit(²âÊÔ×Ö·ûÊÇ·ñΪ16½øÖÆÊý×Ö)µÚ2ÕÂÊý¾Ýת»»º¯Êýatof(½«×Ö·û´®×ª»»³É¸¡µãÐÍÊý)1atoi(½«×Ö·û´®×ª»»³ÉÕûÐÍÊý)atol(½«×Ö·û´®×ª»»³É³¤ÕûÐÍÊý)ecvt(½«¸¡µãÐÍÊýת»»³É×Ö·û´®,19È¡ËÄÉáÎåÈë)fcvt(½«¸¡µãÐÍÊýת»»Îª×Ö·û´®,20È¡ËÄÉáÎåÈë)gcvt(½«¸¡µãÐÍÊýת»»Îª×Ö·û´®,21È¡ËÄÉáÎåÈë)µÚ3ÕÂÄÚ´æÅäÖú¯Êýalloca(ÅäÖÃÄÚ´æ¿Õ¼ä)brk(¸Ä±äÊý¾Ý×ֽڵķ¶Î§)calloc(ÅäÖÃÄÚ´æ¿Õ¼ä)free(ÊÍ·ÅÔÏÈÅäÖõÄÄÚ´æ)getpagesize(È¡µÃÄÚ´æ·ÖÒ³´óС)malloc(ÅäÖÃÄÚ´æ¿Õ¼ä)mmap(½¨Á¢ÄÚ´æÓ³Éä)munmap(½â³ýÄÚ´æÓ³Éä)realloc(¸ü¸Ä¼ºÅäÖõÄÄÚ´æ¿Õ¼ä)sbrk(Ôö¼Ó³ÌÐò¿ÉÓõÄÊý¾Ý¿Õ¼ä)µÚ4ÕÂʱ¼äº¯Êýasctime(½«Ê±¼äºÍÈÕÆÚÒÔ×Ö·û´®¸ñʽ±íʾ)clock(È¡µÃ½ø³Ì ......
ÔÚUbuntu LinuxϽøÐÐPHP¿ª·¢£¬Ê×ÏÈ¿ÉÒÔ°²×°´î½¨ LAMP »·¾³ºÍ phpmyadmin Õâ¸öMysql Êý¾Ý¿â¹ÜÀí¹¤¾ß£¬Ö®ºóÑ¡ÔñÒ»¸öFTP´«¹¤¾ßÈ磺Filezilla£¬×îºóÎÒÃÇ»¹ÒªÑ¡ÔñPHP¿ª·¢¹¤¾ß£¬Ubuntu×Ô´øµÄGedit´¿Îı¾±à¼×öÒ»°ãµÄ´úÂëÎı¾µÄÐÞ¸Ä×ã¹»£¬µ«ÒªÊµÏÖһЩÏîÄ¿ºÍµ÷ÊԵȹ¦ÄܾͲ»ÐÐÁË£¬ËùÒÔÎÒÃÇ»¹ÊÇ×îºÃ»¹ÊÇÑ¡ÔñÒ»¿îIDE¿ª·¢»·¾³£¬ÕâÀïÎÒÃÇÑ¡ÔñÁËEclipse (PDT)¡£
Eclipse ×î³õÓÉIBM¹«Ë¾¿ª·¢µÄIDE¿ª·¢»·¾³¹±Ï׸ø¿ªÔ´ÉçÇø£¬ÓŵãºÜ¶àÁË£¬Ê²Ã´¿çƽ̨¡¢Ãâ·Ñ¿ª·ÅÔ´´úÂë¡¢×ÔÓÉIDE(¼¯³É¿ª·¢»·¾³)µÈµÈ¡£×î³õÖ»ÊÇÓÃÓÚjava ÓïÑÔ¿ª·¢£¬ÔÙÌí¼ÓEclipse²å¼þ¾Í¿ÉÒÔÓ¦ÓÃÓÚÆäËûÓïÑÔÈç C/C++(CDT)¡¢Perl¡¢Ruby£¬Python¡¢telnet ºÍÊý¾Ý¿âµÄ¿ª·¢¡£PHPÒ²Ò»Ñù£¬ÔÚEclipse Öа²×° PDT(PDT: PHP Development Tools) ²å¼þ¾Í¿ÉÒÔµ±×÷ PHP¿ª·¢¹¤¾ßÁË¡£PDT ͬʱ֧³ÖXDebug ºÍ Zend Debugger ÕâÁ½ÖÖµ÷ÊÔ¹¤¾ß¡£
Eclipse PDT ÏÂÔØ
Èç¹ûÄãÒÔǰûÓа²×°¹ýEclipse£¬ÄÇô²»ÓÃÏȰ²×°Eclipse£¬ÔÙ°²×°PDT²å¼þÁË¡£Eclipse¹Ù·½ÍøÕ¾Ö±½ÓÌṩÁËAll in one ´ò°üÏÂÔØµÄ°æ±¾£¬°üÀ¨ÁËPDT 2.1-SR2, Eclipse 3.5-SR2, MylynºÍÆäËûPHP¿ª·¢±ØÐëµÄ²å¼þ¡£½øÈëALL IN ONE PDT ÏÂÔØÒ³Ãæ£¬Ñ¡ÔñÊʺϵÄLinux°æ±¾£¬Èç eclipse-php-galileo-SR2-linux- ......
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
´Ëǰ£¬ÖйúµÄ
Linux“
²úÒµ”²¢Î´Óë¹ú¼Ê
Linux
Ô˶¯Õýʽ½Ó¹ì£¬×ÔÐÐÆäÊÇ¡£µ«ÊÇ£¬´Ó´ËÒÔºó£¬Çé¿ö¾Í²»Í¬ÁË¡£ÎªÊ²Ã´£¿
5
ÔÂ
10
ÈÕ£¬¹ú¼Ê
Linux
Ô˶¯µÄ˾Á¡¶
Linux
»ù½ð»á¡·ÏòÖйúÇøÅɳö“ÌØÅÉ´óʹ”£¨Ëùν”
director
of operations“
£©£¬Ä¿µÄÊÇ“
further
promote the Linux platform of China“
£¨½øÒ»²½ÍƽøÖйúµÄ
Linux
ƽ̨£©¡£
Cliff
Miller
ÏÈÉúÊÇÎÒÃÇÖйúµÄÀÏÅóÓÑ¡£¼ÇµÃ£¬´óÔ¼ÔÚ
1997
ÄêµÄÇïÌ죬
Cliff
Miller
ÏÈÉúÔøÀ´»ª²Î¼Ó¹úÄÚÊ×´Î
Linux
ÑÐÌֻᣬÒò³ÖÓÐÃÀ¹ú»¤ÕÕÏë“ÂäµØÇ©Ö¤”ÔÚ±±¾©»ú³¡º£¹ØÊÜ×裨ҪÇóÆäÁ¢¼´·µ»Ø£©£¬ÄÇ´ÎÊÇÎÒ³Ö±±¾©¹«°²¾ÖµÄÖ¤Ã÷Îļþ½«
Miller
ÏÈÉú·ò¸¾½Ó³ö»ú³¡µÄ¡£
Cliff
Miller
ÏÈÉúÊÇÒ»¸ö“Öйúͨ”£¬ÓÐÒ»¸öÃÀ¹ú¼®µÄ»ªÈËÆÞ×Ó£¬Ëû±¾ÈËÄܽ²Ò»¿ÚºÜ²»´íµÄ±ê×¼±±¾©»°£¬¶ÔÖйúµÄʵ¼ÊÇé¿öÓÐÏ൱ÉîÈëµÄÁ˽⣬ÄãÏëÓÓ¹ú²ú”
Lin ......
µÚÒ»²¿·Ö LinuxÏÂARM»ã±àÓï·¨
¾¡¹ÜÔÚLinuxÏÂʹÓÃC»òC++±àд³ÌÐòºÜ·½±ã£¬µ«»ã±àÔ´³ÌÐòÓÃÓÚϵͳ×î»ù±¾µÄ³õʼ»¯£¬Èç³õʼ»¯¶ÑÕ»Ö¸Õë¡¢ÉèÖÃÒ³±í¡¢²Ù×÷ ARMµÄд¦ÀíÆ÷µÈ¡£³õʼ»¯Íê³Éºó¾Í¿ÉÒÔÌø×ªµ½C´úÂëÖ´ÐС£ÐèҪעÒâµÄÊÇ£¬GNUµÄ»ã±àÆ÷×ñÑAT&TµÄ»ã±àÓï·¨£¬¿ÉÒÔ´ÓGNUµÄÕ¾µã £¨www.gnu.org£©ÉÏÏÂÔØÓйع淶¡£
Ò». Linux»ã±àÐнṹ
Èκλã±àÐж¼ÊÇÈçϽṹ£º
[:] [} @ comment
[:] [} @ ×¢ÊÍ
Linux ARM »ã±àÖУ¬ÈκÎÒÔðºÅ½áβµÄ±êʶ·û¶¼±»ÈÏΪÊÇÒ»¸ö±êºÅ£¬¶ø²»Ò»¶¨·ÇÒªÔÚÒ»ÐеĿªÊ¼¡£
¡¾Àý1¡¿¶¨ÒåÒ»¸ö"add"µÄº¯Êý£¬·µ»ØÁ½¸ö²ÎÊýµÄºÍ¡£
.section .text, “x”
.global add @ give the symbol add external linkage
add:
ADD r0, r0, r1 @ add input arguments
MOV pc, lr @ return from subroutine
@ end of program
¶þ. Linux »ã±à³ÌÐòÖеıêºÅ
±êºÅÖ»ÄÜÓÉa¡«z£¬A¡«Z£¬0¡«9£¬“.”£¬_µÈ×Ö·û×é³É¡£µ±±êºÅΪ0¡«9µÄÊý×ÖʱΪ¾Ö²¿±êºÅ£¬¾Ö²¿±êºÅ¿ÉÒÔÖØ¸´³öÏÖ,ʹÓ÷½·¨ÈçÏ£º
? ±êºÅf: ÔÚÒýÓõĵط½ÏòǰµÄ±êºÅ
? ±êºÅb: ÔÚÒýÓõĵط½ÏòºóµÄ±êºÅ
¡¾Àý2¡¿Ê¹Óþֲ ......
Telnet·þÎñµÄÅäÖò½ÖèÈçÏÂ:
Ò»¡¢°²×°TelnetÈí¼þ°ü(ͨ³£ÒªÁ½¸ö£©
¡¡¡¡1¡¢ Telnet-clIEnt (»ò Telnet)£¬Õâ¸öÈí¼þ°üÌṩµÄÊÇ Telnet ¿Í»§¶Ë³ÌÐò£»
¡¡¡¡2¡¢ Telnet-server £¬Õâ¸öÈí¼þ°üÌṩµÄÊÇ Telnet ·þÎñÆ÷¶Ë³ÌÐò£»
¡¡¡¡°²×°Ö®Ç°Ïȼì²âÊÇ·ñÕâЩÈí¼þ°üÒѰ²×°£¬·½·¨ÈçÏ£º
¡¡¡¡[root@echo root]#rpm –q Telnet»ò[root@wljs root]#rpm –q Telnet-client
¡¡¡¡[root@echo root]#rpm –q Telnet-server
¡¡¡¡Èç¹ûûÓмì²âµ½Èí¼þ°ü£¬ÐèÒª½øÐа²×°£¬red hat Linux 9ĬÈÏÒѰ²×°ÁËTelnetÈí¼þ°ü£¬Ò»°ãÖ»Òª°²×°Telnet-serverÈí¼þ°ü¡£
¡¡¡¡1¡¢ÔÚred hat Linux 9µÄ°²×°ÅÌ3ÖлñÈ¡Telnet-server-0.17-25.i386.rpmÈí¼þ°ü¡£
¡¡¡¡2¡¢°²×°Èí¼þ°ü
¡¡¡¡[root@echo root]#rpm –i Telnet-server-0.17-25.i386.rpm
¶þ¡¢Æô¶¯Telnet·þÎñ
¡¡¡¡1¡¢¿ªÆô·þÎñ
¡¡¡¡·½·¨Ò»£ºÊ¹ÓÃntsysv,ÔÚ³öÏֵĴ°¿ÚÖ®ÖУ¬½« TelnetÇ°Ãæ*¼ÓÉÏ£¬È»ºó°´Ï OK ¡£
¡¡¡¡·½·¨¶þ£º±à¼ /etc/xinetd.d/Telnet
¡¡¡¡[root@echo root]# vi /etc/xinetd.d/Telnet
¡¡¡¡ÕÒµ½ disable = yes ½« yes ¸Ä³É no ¡£
¡¡¡¡2¡¢¼¤»î·þÎñ
¡¡¡¡[root@echo ......