Linux/Unix ½ø³Ì¼äͨÐŵĸ÷ÖÖ·½Ê½¼°Æä±È½Ï
½ø³Ì¼äͨОÍÊÇÔÚ²»Í¬½ø³ÌÖ®¼ä´«²¥»ò½»»»ÐÅÏ¢£¬ÄÇô²»Í¬½ø³ÌÖ®¼ä´æÔÚ×Åʲô˫·½¶¼¿ÉÒÔ·ÃÎʵĽéÖÊÄØ£¿½ø³ÌµÄÓû§¿Õ¼äÊÇ»¥Ïà¶ÀÁ¢µÄ£¬Ò»°ã¶øÑÔÊDz»ÄÜ»¥Ïà·ÃÎʵģ¬Î¨Ò»µÄÀýÍâÊǹ²ÏíÄÚ´æÇø¡£µ«ÊÇ£¬ÏµÍ³¿Õ¼äÈ´ÊÇ“¹«¹²³¡Ëù”£¬ËùÒÔÄÚºËÏÔÈ»¿ÉÒÔÌṩÕâÑùµÄÌõ¼þ¡£³ý´ËÒÔÍ⣬ÄǾÍÊÇË«·½¶¼¿ÉÒÔ·ÃÎʵÄÍâÉèÁË¡£ÔÚÕâ¸öÒâÒåÉÏ£¬Á½¸ö½ø³Ìµ±È»Ò²¿ÉÒÔͨ¹ý´ÅÅÌÉϵÄÆÕͨÎļþ½»»»ÐÅÏ¢£¬»òÕßͨ¹ý“×¢²á±í”»òÆäËüÊý¾Ý¿âÖеÄijЩ±íÏîºÍ¼Ç¼½»»»ÐÅÏ¢¡£¹ãÒåÉÏÕâÒ²Êǽø³Ì¼äͨÐŵÄÊֶΣ¬µ«ÊÇÒ»°ã¶¼²»°ÑÕâËã×÷“½ø³Ì¼äͨÐÅ”¡£ÒòΪÄÇЩͨÐÅÊֶεÄЧÂÊÌ«µÍÁË£¬¶øÈËÃǶԽø³Ì¼äͨÐŵÄÒªÇóÊÇÒªÓÐÒ»¶¨µÄʵʱÐÔ¡£
¡¡¡¡½ø³Ì¼äͨОÍÊÇÔÚ²»Í¬½ø³ÌÖ®¼ä´«²¥»ò½»»»ÐÅÏ¢£¬ÄÇô²»Í¬½ø³ÌÖ®¼ä´æÔÚ×Åʲô˫·½¶¼¿ÉÒÔ·ÃÎʵĽéÖÊÄØ£¿½ø³ÌµÄÓû§¿Õ¼äÊÇ»¥Ïà¶ÀÁ¢µÄ£¬Ò»°ã¶øÑÔÊDz»ÄÜ»¥Ïà·ÃÎʵģ¬Î¨Ò»µÄÀýÍâÊǹ²ÏíÄÚ´æÇø¡£µ«ÊÇ£¬ÏµÍ³¿Õ¼äÈ´ÊÇ“¹«¹²³¡Ëù”£¬ËùÒÔÄÚºËÏÔÈ»¿ÉÒÔÌṩÕâÑùµÄÌõ¼þ¡£³ý´ËÒÔÍ⣬ÄǾÍÊÇË«·½¶¼¿ÉÒÔ·ÃÎʵÄÍâÉèÁË¡£ÔÚÕâ¸öÒâÒåÉÏ£¬Á½¸ö½ø³Ìµ±È»Ò²¿ÉÒÔͨ¹ý´ÅÅÌÉϵÄÆÕͨÎļþ½»»»ÐÅÏ¢£¬»òÕßͨ¹ý“×¢²á±í”»òÆäËüÊý¾Ý¿âÖеÄijЩ±íÏîºÍ¼Ç¼½»»»ÐÅÏ¢¡£¹ãÒåÉÏÕâÒ²Êǽø³Ì¼äͨÐŵÄÊֶΣ¬µ«ÊÇÒ»°ã¶¼²»°ÑÕâËã×÷“½ø³Ì¼äͨÐÅ”¡£ÒòΪÄÇЩͨÐÅÊֶεÄЧÂÊÌ«µÍÁË£¬¶øÈËÃǶԽø³Ì¼äͨÐŵÄÒªÇóÊÇÒªÓÐÒ»¶¨µÄʵʱÐÔ¡£
¡¡
¡¡¡¡½ø³Ì¼äͨÐÅÖ÷Òª°üÀ¨¹ÜµÀ, ϵͳIPC(°üÀ¨ÏûÏ¢¶ÓÁÐ,ÐźÅÁ¿,¹²Ïí´æ´¢), SOCKET.
¡¡¡¡¹ÜµÀ°üÀ¨ÈýÖÖ:1)ÆÕͨ¹ÜµÀPIPE, ͨ³£ÓÐÖÖÏÞÖÆ,Ò»ÊÇ°ëË«¹¤,Ö»Äܵ¥Ïò´«Êä;¶þÊÇÖ»ÄÜÔÚ¸¸×Ó½ø³Ì¼äʹÓÃ. 2)Á÷¹ÜµÀs_pipe: È¥³ýÁ˵ÚÒ»ÖÖÏÞÖÆ,¿ÉÒÔË«Ïò´«Êä. 3)ÃüÃû¹ÜµÀ:name_pipe, È¥³ýÁ˵ڶþÖÖÏÞÖÆ,¿ÉÒÔÔÚÐí¶à²¢²»Ïà¹ØµÄ½ø³ÌÖ®¼ä½øÐÐͨѶ.
¡¡¡¡ÏµÍ³IPCµÄÈýÖÖ·½Ê½Ààͬ,¶¼ÊÇʹÓÃÁËÄÚºËÀïµÄ±êʶ·ûÀ´Ê¶±ð.
FAQ1: ¹ÜµÀÓëÎļþÃèÊö·û,ÎļþÖ¸ÕëµÄ¹Øϵ?
¡¡¡¡´ð: Æäʵ¹ÜµÀµÄʹÓ÷½·¨ÓëÎļþÀàËÆ,¶¼ÄÜʹÓÃread,write,openµÈÆÕͨIOº¯Êý. ¹ÜµÀÃèÊö·ûÀ´ÀàËÆÓÚÎļþÃèÊö·û. ÊÂʵÉÏ, ¹ÜµÀʹÓõÄÃèÊö·û, ÎļþÖ¸ÕëºÍÎļþÃèÊö·û×îÖÕ¶¼»áת»¯³ÉϵͳÖÐSOCKETÃèÊö·û. ¶¼Êܵ½ÏµÍ³ÄÚºËÖÐSOCKETÃèÊö·ûµÄÏÞÖÆ. ±¾ÖÊÉÏLINUXÄÚºËÔ´ÂëÖйܵÀÊÇͨ¹ý¿ÕÎļþÀ´ÊµÏÖ.
FAQ2: ¹ÜµÀµÄʹÓ÷½·¨?
¡¡¡¡´ð: Ö÷ÒªÓÐÏÂÃ漸ÖÖ·½·¨:&nbs
Ïà¹ØÎĵµ£º
initÊÇLinuxϵͳÀïµÄ¸ù½ø³Ì£¬ÊÇϵͳËùÓнø³ÌµÄ×æÏÈ¡£ËüµÄÖ÷Òª×÷ÓÃÊǸù¾Ý¼Ç¼ÔÚ/etc/inittabÀïµÄÒ»¸ö½Å±¾£¨script£©³ÌÐò²úÉú½ø³Ì¡£Õâ¸öÎļþͨ³£ÓÃÓÚ¿ØÖÆÓû§µÄµÇ¼ģʽ¡£LinuxϵͳµÄÓÐЧµÇ¼ģʽÓÐ0~9¹²Ê®ÖÖ£¬²»¹ýÑØÓÃUNIXϵͳµÄÖÁ¶à6ÖÖµÄÏÞÖÆ£¬Ò»°ãÖ»ÓÐ1µ½6ÓÐЧ¡£
¡¡¡¡initÒ»°ãÔÚϵͳÆô¶¯Ê±×Ô¶¯ÔËÐУ¬Ò²¿ÉÒÔÓÉrootÓû§µ÷ ......
Ê×ÏȽéÉÜÏÂpthread_cond_t¡£ ÔÚLinuxϳÆ֮Ϊ״̬±äÁ¿£¬ÓëÖ®Ïà¹ØµÄÓÐÏÂÃ漸¸öAPI:
int pthread_cond_init (pthread_cond_t *COND,pthread_condattr_t *cond_ATTR);
int pthread_cond_signal (pthread_cond_t *COND);
int pthread_cond_broadcast (pthread_con ......
ÿ¸ö½ø³Ì¶¼ÓÐÒ»¸öΨһµÄ½ø³ÌºÅ¡£ ÿ¸ö½ø³Ì¶¼ÓÐÒ»¸ö¸¸½ø³Ì¡£ ϵͳÖеĽø³ÌÒÔÊ÷µÄÐÎʽ×éÖ¯£¬init½ø³Ì(½ø³ÌºÅΪ1)×÷Ϊ¸ù¡£ ½ø³Ì0Êǵ÷¶È½ø³Ì£¬Ã»ÓгÌÐòÓëÖ®¶ÔÓ¦£¬ÊÇÄں˵ÄÒ»²¿·Ö¡£ ½ø³Ì1ÊÇinit½ø³Ì£¬ÊÇÔÚϵͳÆô¶¯µÄ½×¶ÎÓÉÄÚºËÆô¶¯µÄ£¬¶ÔÓ¦/sbin/ini ......
Ò»¡¢ VmwareÏÂLinuxµÄ°²×°ºÍʹÓÃ
1. ÏÂÔØLinux ¾µÏñ£¨isoÎļþ£©£¬ÎÒʹÓõÄÊÇRedHat Linux5 server¡£
2. ÔÚVmwareÖÐн¨Ò»¸öÐéÄâ»ú
  ......
(1) Linux »ù´¡£º°üÀ¨Linux °æ±¾£¬°²×°£¬ÃüÁîµÈ֪ʶµÄÕÆÎÕ¡£
(2) Linux ϵͳ¿ª·¢£ºÖ÷ÒªÊÇÇý¶¯½Ó¿Ú£¬ÄÚºËÅäÖý»²æ±àÒ룬ÄÚºËÈ¡µã£¬busybox£¬µÈµÈ·½Ãæ¡£
(3)Linux ǶÈëʽӦÓÿª·¢£ºÇ¶ÈëʽLINUXÓ¦ÓóÌÐò¿ª·¢ÊÇÔÚ²Ù×÷ϵͳÉÏ×ö¿ª·¢£¬ÀàËÆWindowsϵÄVC»òJAVA¿ª·¢¡£
(4)Linux ÍøÂç±à³Ì£ººÍÔÚwindowϵÄsocket±à³ÌÀàËÆ£¬°üÀ¨Ì×½ ......