6)Linux³ÌÐòÉè¼ÆÈëÃÅ
6)Linux³ÌÐòÉè¼ÆÈëÃÅ--ÏûÏ¢¹ÜÀí
Ç°ÑÔ:LinuxϵĽø³ÌͨÐÅ(IPC)
LinuxϵĽø³ÌͨÐÅ(IPC)
POSIXÎÞÃûÐźÅÁ¿
System VÐźÅÁ¿
System VÏûÏ¢¶ÓÁÐ
System V¹²ÏíÄÚ´æ
1¡£POSIXÎÞÃûÐźÅÁ¿ Èç¹ûÄãѧϰ¹ý²Ù×÷ϵͳ,ÄÇô¿Ï¶¨ÊìϤPV²Ù×÷ÁË.PV²Ù×÷ÊÇÔ×Ó
²Ù×÷.Ò²¾ÍÊDzÙ×÷ÊDz»¿ÉÒÔÖжϵÄ,ÔÚÒ»¶¨µÄʱ¼äÄÚ,Ö»Äܹ»ÓÐÒ»¸ö½ø³ÌµÄ´úÂëÔÚCPUÉÏÃæ
Ö´ÐÐ.ÔÚϵͳµ±ÖÐ,ÓÐʱºòΪÁË˳ÀûµÄʹÓúͱ£»¤¹²Ïí×ÊÔ´,´ó¼ÒÌá³öÁËÐźŵĸÅÄî. ¼ÙÉè
ÎÒÃÇҪʹÓÃһ̨´òÓ¡»ú,Èç¹ûÔÚͬһʱ¿ÌÓÐÁ½¸ö½ø³ÌÔÚÏò´òÓ¡»úÊä³ö,ÄÇô×îÖյĽá¹û»á
ÊÇʲôÄØ.ΪÁË´¦ÀíÕâÖÖÇé¿ö,POSIX±ê×¼Ìá³öÁËÓÐÃûÐźÅÁ¿ºÍÎÞÃûÐźÅÁ¿µÄ¸ÅÄî,ÓÉÓÚLi
nuxֻʵÏÖÁËÎÞÃûÐźÅÁ¿,ÎÒÃÇÔÚÕâÀï¾ÍÖ»ÊǽéÉÜÎÞÃûÐźÅÁ¿ÁË. ÐźÅÁ¿µÄʹÓÃÖ÷ÒªÊÇÓÃ
À´±£»¤¹²Ïí×ÊÔ´,ʹµÄ×ÊÔ´ÔÚÒ»¸öʱ¿ÌÖ»ÓÐÒ»¸ö½ø³ÌËùÓµÓÐ.Ϊ´ËÎÒÃÇ¿ÉÒÔʹÓÃÒ»¸öÐźÅ
µÆ.µ±ÐźŵƵÄֵΪij¸öÖµµÄʱºò,¾Í±íÃ÷´Ëʱ×ÊÔ´²»¿ÉÒÔʹÓÃ.·ñÔò¾Í±í>ʾ¿ÉÒÔʹÓÃ.
ΪÁËÌṩЧÂÊ,ϵͳÌṩÁËÏÂÃ漸¸öº¯Êý
POSIXµÄÎÞÃûÐźÅÁ¿µÄº¯ÊýÓÐÒÔϼ¸¸ö:
#include <semaphore.h>
int sem_init(sem_t *sem,int pshared,unsigned int value);
int sem_destroy(sem_t *sem);
int sem_wait(sem_t *sem);
int sem_trywait(sem_t *sem);
int sem_post(sem_t *sem);
int sem_getvalue(sem_t *sem);
sem_init´´½¨Ò»¸öÐźŵÆ,²¢³õʼ»¯ÆäֵΪvalue.pshared¾ö¶¨ÁËÐźÅÁ¿ÄÜ·ñÔÚ¼¸¸ö½ø³Ì
¼ä¹²Ïí.ÓÉÓÚÄ¿Ç°Linux»¹Ã»ÓÐʵÏÖ½ø³Ì¼ä¹²ÏíÐźŵÆ,ËùÒÔÕâ¸öÖµÖ»Äܹ»È¡0. sem_dest
royÊÇÓÃÀ´É¾³ýÐźŵƵÄ.sem_waitµ÷Óý«×èÈû½ø³Ì,Ö±µ½ÐźŵƵÄÖµ´óÓÚ0.Õâ¸öº¯Êý·µ»Ø
µÄʱºò×Ô¶¯µÄ½«ÐźŵƵÄÖµµÄ¼þÒ».sem_postºÍsem_waitÏà·´,Êǽ«ÐźŵƵÄÄÚÈݼÓһͬ
ʱ·¢³öÐźŻ½ÐѵȴýµÄ½ø³Ì..sem_trywaitºÍsem_waitÏàͬ,²»¹ý²»×èÈûµÄ,µ±ÐźŵƵÄÖµ
Ϊ0µÄʱºò·µ»ØEAGAIN,±íʾÒÔºóÖØÊÔ.sem_getvalueµÃµ½ÐźŵƵÄÖµ.
ÓÉÓÚLinux²»Ö§³Ö,ÎÒÃÇûÓа취ÓÃÔ´³ÌÐò½âÊÍÁË.
Õ⼸¸öº¯ÊýµÄʹÓÃÏ൱¼òµ¥µÄ.±ÈÈçÎÒÃÇÓÐÒ»¸ö³ÌÐòÒªÏòÒ»¸öϵͳ´òÓ¡»ú´òÓ¡Á½Ò³.ÎÒÃÇ
Ê×ÏÈ´´½¨Ò»¸öÐźŵÆ,²¢Ê¹Æä³õʼֵΪ1,±íʾÎÒÃÇÓÐÒ»¸ö×ÊÔ´¿ÉÓÃ.È»ºóÒ»¸ö½ø³Ìµ÷ÓÃse
m_waitÓÉÓÚÕâ¸öʱºòÐźŵƵÄֵΪ1,ËùÒÔÕâ¸öº¯Êý·µ»Ø,´òÓ¡»ú¿ªÊ¼´òÓ¡ÁË,ͬʱÐźŵÆ
µÄֵΪ0 ÁË. Èç¹ûµÚ¶þ¸ö½ø³ÌÒª´òÓ¡,µ÷ÓÃsem_waitʱºò,ÓÉÓÚÐźŵƵÄֵΪ0,×ÊÔ´²»¿É
ÓÃ,ÓÚÊDZ»×èÈûÁË.µ±µÚÒ»¸ö½ø³Ì´òÓ¡Íê³ÉÒÔºó,µ÷ÓÃsem_postÐźŵƵÄֵΪ1ÁË,Õâ
Ïà¹ØÎĵµ£º
×¼±¸¹¤×÷:
¡¡¡¡Óõ½µÄperl À©Õ¹×é¼þ(modules)ÔÚÉÏƪÌù³ö.( win32::odbc Ä£¿é
)ÏÂÔØ×é¼þºó°´ÕÕReadmeÎļþ°²×°µ¹ÏìӦĿ¼.ÅäÖúÃÏàÓ¦µÄodbcÊý¾ÝÔ´.
¡¡¡¡
¡¡¡¡³ÌÐòʵÏÖ:
¡¡¡¡Ê¹ÓÃ
¡¡¡¡use
Win32::ODBC;
¡¡¡¡
¡¡¡¡Óï¾ä°üº¬Ó¦Ê¹ÓõÄÄ£¿éÊÇwin32::odbc,д³öÊý¾Ý¿â
Á¬½Ó×Ö·û´®
¡¡¡¡
¡¡¡¡$DSN = "DSN =
My DSN ......
1. È¥http://java.sun.com/javase/downloads/index.jspÏÂÔØÒ»¸öLinux PlatformµÄJDK¡£
2. ÉÏÔØ
# chmod 755 jdk-6u2-linux-i586-rpm.bin
# ./jdk-6u2-linux-i586-rpm.bin
3. ³ÌÐò»á×Ô¶¯Éú³ÉÎļþ
Ö´ÐÐ
# rpm -ivh jdk-6u11-linux-i586.rpm
4. ÉèÖû·¾³±äÁ¿
  ......
http://www.ibm.com/developerworks/cn/linux/l-ipc/part5/index1.html
¹²ÏíÄÚ´æ¿ÉÒÔ˵ÊÇ×îÓÐÓõĽø³Ì¼äͨÐÅ·½Ê½£¬Ò²ÊÇ×î¿ìµÄIPCÐÎʽ¡£Á½¸ö²»Í¬½ø³ÌA¡¢B¹²ÏíÄÚ´æµÄÒâ˼ÊÇ£¬Í¬Ò»¿éÎïÀíÄÚ´æ±»Ó³Éäµ½
½ø³ÌA¡¢B¸÷×ԵĽø³ÌµØÖ·¿Õ¼ä¡£½ø³ÌA¿ÉÒÔ¼´Ê±¿´µ½½ø³ÌB¶Ô¹²ÏíÄÚ´æÖÐÊý¾ÝµÄ¸üУ¬·´Ö®ÒàÈ»¡£ÓÉÓÚ¶à¸ö½ø³Ì¹²Ïíͬһ¿éÄÚ´æÇøÓò£ ......
ÒÔÏÂΪSHELL½Å±¾´´½¨Ò»¸ö±È½ÏÍêÕûµÄFTPÕʺÅ,°üÀ¨:
1) ÐÂÔöFTPÕÊ»§ºÍĿ¼
2) ÐÞ¸ÄFTPÕÊ»§ÃÜÂë
3) ÔÚFTPÕÊ»§Ä¿Â¼ÏÂ,н¨Èý¸ö×ÓĿ¼,´æ·Å²»Í¬Êý¾Ý
4) Ŀ¼ȨÏÞÖÃΪ¿É¶Áд
ʹÓÃ˵Ã÷:
1) ´´½¨ÐÂshÎļþ(Èç:addFTPAcc.sh), ½«Ô´½Å±¾È«²¿¿½±´ÆäÖÐ
......
windowsÏÂʹÓÃfoxmailºÜÈÝÒ×ÉèÖÃhotmailºÍgmail£¬×ªµ½linuxºó£¬·¢ÏÖevolution²»Ì«ºÃʹ£¬ÓʼþÐÅÏ¢µÄ±àÂëû·¨ÉèÖã¬gbk±àÂëµÄÓʼþÖ÷ÌâÏÔʾÂÒÂ룬ֻºÃ»»³Éthunderbird¡£
thunderbird±¾Éí²»Ö§³ÖhotmailÕâÀàwebmailµÄÊÕ·¢£¬ÐèÒªÏÂÔزå¼þwebmailºÍhotmail£¬ÐèÒª½ÓÊÕyahooµÄ ......