Ò»¸öLinuxÏÂCÏ̳߳صÄʵÏÖ
ʲôʱºòÐèÒª´´½¨Ï̳߳ØÄØ£¿¼òµ¥µÄ˵£¬Èç¹ûÒ»¸öÓ¦ÓÃÐèҪƵ·±µÄ´´½¨ºÍÏú»ÙỊ̈߳¬¶øÈÎÎñÖ´ÐеÄʱ¼äÓַdz£¶Ì£¬ÕâÑùÏ̴߳´½¨ºÍÏú»ÙµÄ´øÀ´µÄ¿ªÏú¾Í²»ÈݺöÊÓ£¬ÕâʱҲÊÇÏ̳߳ظóö³¡µÄ»ú»áÁË¡£Èç¹ûÏ̴߳´½¨ºÍÏú»Ùʱ¼äÏà±ÈÈÎÎñÖ´ÐÐʱ¼ä¿ÉÒÔºöÂÔ²»¼Æ£¬ÔòûÓбØҪʹÓÃÏ̳߳ØÁË¡£
ÏÂÃæÊÇLinuxϵͳÏÂÓÃCÓïÑÔ´´½¨µÄÒ»¸öÏ̳߳ء£Ï̳߳ػáά»¤Ò»¸öÈÎÎñÁ´±í(ÿ¸öCThread_worker½á¹¹¾ÍÊÇÒ»¸öÈÎÎñ)¡£
pool_init()º¯ÊýÔ¤ÏÈ´´½¨ºÃmax_thread_num¸öỊ̈߳¬Ã¿¸öÏß³ÌÖ´thread_routine ()º¯Êý¡£¸Ãº¯ÊýÖÐ
1. while (pool->cur_queue_size == 0)
2. {
3. pthread_cond_wait (&(pool->queue_ready),&(pool->queue_lock));
4. }
±íʾÈç¹ûÈÎÎñÁ´±íÖÐûÓÐÈÎÎñ£¬Ôò¸ÃÏ̳߳öÓÚ×èÈûµÈ´ý״̬¡£·ñÔò´Ó¶ÓÁÐÖÐÈ¡³öÈÎÎñ²¢Ö´ÐС£
pool_add_worker()º¯ÊýÏòÏ̳߳صÄÈÎÎñÁ´±íÖмÓÈëÒ»¸öÈÎÎñ£¬¼ÓÈëºóͨ¹ýµ÷ÓÃpthread_cond_signal (&(pool->queue_ready))»½ÐÑÒ»¸ö³öÓÚ×èÈû״̬µÄÏß³Ì(Èç¹ûÓеĻ°)¡£
pool_destroy ()º¯ÊýÓÃÓÚÏú»ÙÏ̳߳أ¬Ï̳߳ØÈÎÎñÁ´±íÖеÄÈÎÎñ²»»áÔÙ±»Ö´ÐУ¬µ«ÊÇÕýÔÚÔËÐеÄÏ̻߳áÒ»Ö±°ÑÈÎÎñÔËÐÐÍêºóÔÙÍ˳ö¡£
ÏÂÃæÌù³öÍêÕû´úÂë
1. #include <stdio.h>
2. #include <stdlib.h>
3. #include <unistd.h>
4. #include <sys/types.h>
5. #include <pthread.h>
6. #include <assert.h>
7.
8. /*
9. *Ï̳߳ØÀïËùÓÐÔËÐк͵ȴýµÄÈÎÎñ¶¼ÊÇÒ»¸ö CThread_worker
10. *ÓÉÓÚËùÓÐÈÎÎñ¶¼ÔÚÁ´±íÀËùÒÔÊÇÒ»¸öÁ´±í½á¹¹
11. */
12. typedef struct worker
13. {
14. /*»Øµ÷º¯Êý£¬ÈÎÎñÔËÐÐʱ»áµ÷Óô˺¯Êý£¬×¢ÒâÒ²¿ÉÉùÃ÷³ÉÆäËüÐÎʽ*/
15. void *(*process) (void *arg);
16. void *arg;/*»Øµ÷º¯ÊýµÄ²ÎÊý*/
17. struct worker *next;
18.
19. } CThread_worker;
20.
21.
Ïà¹ØÎĵµ£º
1£¬-c ±àÒëÄ¿±ê´úÂë
gcc -o hello.o -c hello.c //-o Ö»ÊÇÖ¸¶¨Éú³ÉÄ¿±êÎļþÃû
»ò
gcc -c hello.c
¶¼Éú³Éhello.oÎļþ£¬²»¿ÉÒÔÖ´ÐС£
gcc -o hello hello.o
ÓÃÄ¿±êÎļþÉú³Éhell ......
Linux¿ª»ú¹ý³ÌÀí½â
Ò»£® Power on
¶þ£® BIOS¼Óµç×Լ죺
1£® ¼ì²âËùÓÐÖܱßÓ²¼þ
2£® Ñ°ÕÒÆô¶¯µÄ´ÅÅÌ(cd-rom,floppy,IDE HDD,usb deviceµÈ)
Èý£® & ......
ÔÚÇ°ÃæµÄ×¼±¸¹¤×÷Íê³ÉÖ®ºó£¬ÏÈʵÑéһϣ¬Ì¸²»ÉÏÕæÕýµÄÒÆÖ² £¬ÒòΪ´úÂ붼ûÓиĵġ£
Ê×ÏÈÐ޸Ķ¥²ãµÄMakefile£¬ÐÞ¸ÄARCH,CROSS_COMPLIE±äÁ¿¡£
#ARCH ?= $(SUBARCH)
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
Ö´ÐÐmake smd ......
Ö÷Òª¿´ÁËLinuxÍêȫעÊÍÄDZ¾Ê飬ÖÕÓÚ×¼±¸¹¥¶ÁLinuxÄÚºËÔ´ÂëÁË£¬ÏÈ¿´Á˵ڶþÕŵÄ×ÜÌå¸ÅÄ¸Ð¾õ²Ù×÷ϵͳÓкܶණÎ÷»¹ÕæÊÇ´óͬСÒ죬¼ÇµÃucos¾ÍÊÇÓÐÒ»¸ö½Ð×ö¿ì±íµÄ¶«Î÷£¬ÀïÃæ×î¶à¿ÉÒÔ±íʾ64¸ö½ø³Ì£¬¶øÔç°æµÄLinux£¨0.11£©Ò²ÓÐÕâ¸öһ˵µÄ¶«Î÷¡£
ÔÚLinuxÖÐÒ²ÓÐÒ»¸öPCBÀ´±íʾÿ¸ö½ø³Ì£¬ÔÚÕâ¸ö½á¹¹ÌåÖУ¬ÓÐÖ¸ÏòÈÎÎñ´úÂëµÄÖ ......
°²×°OpenSSH
UbuntuȱʡûÓа²×°SSH Server£¬Ê¹ÓÃÒÔÏÂÃüÁî°²×°£º
sudo apt-get install openssh-server openssh-client
²»¹ýUbuntuȱʡÒѾ°²×°ÁËssh client¡£
ÅäÖÃÍê³ÉºóÖØÆð£º
sudo /etc/init.d/ssh restart
windows ¿Í»§¶ËÓÃputtyÁ¬½ÓÃüÁîshellģʽ
......