±à¼ÍƼö: |
±¾ÎÄÀ´×Ô¼òÊ飬±¾ÎÄÖ÷Òª½²½âÁËʲôÊǽø³Ì¼äͨѶ£¬ÓÐÄÄЩIPC·½·¨ÒÔ¼°IPC·½·¨ÊÊÓõĻ·¾³£¬Ï£Íû¶ÔÄúµÄѧϰÓÐËù°ïÖú¡£ |
|

ʲôÊǽø³Ì¼äͨѶ
½ø³Ì¼äͨÐÅ(inter-process communication»òinterprocess communication£¬¼òдIPC)ÊÇÖ¸Á½¸ö»òÁ½¸öÒÔÉϽø³Ì(»òÏß³Ì)Ö®¼ä½øÐÐÊý¾Ý»òÐźŽ»»¥µÄ¼¼Êõ·½°¸¡£
ͨ³££¬IPCÒ»°ã°üº¬¿Í»§¶ËºÍ·þÎñÆ÷£¬¿Í»§¶ËÇëÇóÊý¾Ý£¬·þÎñÆ÷ÏìÓ¦ÇëÇó(±ÈÈç·Ö²¼Ê½¼ÆËãÖоÍÊÇÕâÑù)¡£
ÓÐÄÄЩIPC·½·¨
IPC·½·¨ÊÊÓõĻ·¾³

Îļþ(File)
´æ´¢ÔÚ´ÅÅÌÉϵļǼ£¬»òÓÉÎļþ·þÎñÆ÷°´ÐèºÏ³ÉµÄ¼Ç¼£¬¿ÉÒÔÓɶà¸ö½ø³Ì·ÃÎÊ¡£

ÐźÅ(Signal)
ϵͳÏûÏ¢´ÓÒ»¸ö½ø³Ì·¢Ë͵½ÁíÒ»¸ö½ø³Ì£¬Ò»°ã²»ÓÃÓÚ´«ÊäÊý¾Ý£¬¶øÊÇÓÃÓÚÔ¶³Ì´«ÊäÃüÁî¡£

Ì×½Ó×Ö(Socket)
ͨ¹ýÍøÂç½Ó¿Ú½«Êý¾ÝÁ¿·¢Ë͵½±¾»úµÄ²»Í¬½ø³Ì»òÔ¶³Ì¼ÆËã»ú¡£

UnixÓòÌ×½Ó×Ö(Unix domain socket)
ÓÃÓÚÔÚͬһ̨»úÆ÷ÉÏÔËÐеĽø³ÌÖ®¼äµÄͨÐÅ¡£ËäÈ»ÒòÌØÍøÓòÌ×½Ó×Ö¿ÉÓÃÓÚͬһĿµÄ£¬µ«UNIXÓòÌ×½Ó×ÖµÄЧÂʸü¸ß¡£UNIXÓòÌ×½Ó×Ö½ö½ö¸´ÖÆÊý¾Ý£»ËüÃDz¢²»Ö´ÐÐÐÒé´¦Àí£¬²»ÐèÒªÌí¼Ó»òɾ³ýÍøÂ籨ͷ£¬ÎÞÐè¼ÆËã¼ìÑéºÍ£¬²»Òª²úÉú˳ÐòºÅ£¬ÎÞÐè·¢ËÍÈ·Èϱ¨ÎÄ¡£

ÏûÏ¢¶ÓÁÐ(Message queue)
ÀàËÆÓÚÌ×½Ó×ÖµÄÊý¾ÝÁ÷£¬µ«ÏûÏ¢ÓÐ×Ô¼ºµÄ½á¹¹£¬ËüÔÊÐí¶à¸ö½ø³ÌÖ»ÐèÒª¶ÁдÏûÏ¢¶ÓÁУ¬¶ø²»ÐèÒªÖ±½ÓÏ໥Á¬½Ó¡£

¹ÜµÀ(Pipe)
¹ÜµÀÊÇÒ»ÖÖ°ëË«¹¤µÄͨÐÅ·½Ê½£¬Êý¾ÝÖ»Äܵ¥ÏòÁ÷¶¯£¬¶øÇÒÖ»ÄÜÔÚ¾ßÓÐÇ×Ôµ¹ØÏµµÄ½ø³Ì¼äʹÓ᣽ø³ÌµÄÇ×Ôµ¹ØÏµÍ¨³£ÊÇÖ¸¸¸×Ó½ø³Ì¹ØÏµ¡£

ÃüÃû¹ÜµÀ(Named pipe»òFIFO)
ÃüÃû¹ÜµÀ¿ÉÔÚͬһ̨¼ÆËã»úµÄ²»Í¬½ø³ÌÖ®¼ä»òÔÚ¿çÔ½Ò»¸öÍøÂçµÄ²»Í¬¼ÆËã»úµÄ²»Í¬½ø³ÌÖ®¼ä£¬Ö§³Ö¿É¿¿µÄ¡¢µ¥Ïò»òË«ÏòµÄÊý¾ÝͨÐÅ¡£

¹²ÏíÄÚ´æ(Shared memory)
ÔÊÐí¶à¸ö½ø³Ì·ÃÎÊͬһ¸öÄÚ´æ¿é£¬¸ÃÄÚ´æ¿é×÷Ϊһ¸ö¹²Ïí»º³åÇø£¬¹©½ø³Ì¼äÏ໥ͨÐÅ¡£

ÏûÏ¢´«µÝ(Message passing)
Ò»°ãÔÚ²¢·¢Ä£ÐÍÖУ¬ÔÊÐí¶à¸ö³ÌÐòʹÓÃÏûÏ¢¶ÓÁлòÕßÍйÜͨµÀͨÐÅ¡£

ÄÚ´æÓ³ÉäÎļþ(Memory-mapped file)
ÀàËÆÓÚ±ê×¼µÄÎļþ£¬ÄÚ´æÓ³ÉäÎļþÓ³Éäµ½RAM£¬¿ÉÒÔÖ±½Ó¶ÔÄÚ´æµØÖ·½øÐиü¸Ä£¬¶ø²»ÊǸü¸ÄÊä³öÁ÷¡£

|