LinuxϵĽø³ÌͨÐÅ£¨IPC£©
LinuxϵĽø³ÌͨÐÅÊֶλù±¾ÉÏÊÇ´ÓUnixƽ̨ÉϵĽø³ÌͨÐÅÊֶμ̳жøÀ´µÄ¡£¶ø¶ÔUnix·¢Õ¹×ö³öÖØ´ó¹±Ï×µÄÁ½´óÖ÷Á¦AT&TµÄ±´¶ûʵÑéÊÒ¼°BSD£¨¼ÓÖÝ´óѧ²®¿ËÀû·ÖУµÄ²®¿ËÀûÈí¼þ·¢²¼ÖÐÐÄ£©ÔÚ½ø³Ì¼äͨÐÅ·½ÃæµÄ²àÖصãÓÐËù²»Í¬¡£Ç°Õ߶ÔUnixÔçÆڵĽø³Ì¼äͨÐÅÊֶνøÐÐÁËϵͳµÄ¸Ä½øºÍÀ©³ä£¬ÐγÉÁË“system V IPC”£¬Í¨ÐŽø³Ì¾ÖÏÞÔÚµ¥¸ö¼ÆËã»úÄÚ£»ºóÕßÔòÌø¹ýÁ˸ÃÏÞÖÆ£¬ÐγÉÁË»ùÓÚÌ×½Ó¿Ú£¨socket£©µÄ½ø³Ì¼äͨÐÅ»úÖÆ¡£
ÆäÖУ¬×î³õUnix IPC°üÀ¨£º¹ÜµÀ¡¢FIFO¡¢Ðźţ»System V IPC°üÀ¨£ºSystem VÏûÏ¢¶ÓÁС¢System VÐźŵơ¢System V¹²ÏíÄÚ´æÇø£»Posix IPC°üÀ¨£ºPosixÏûÏ¢¶ÓÁС¢PosixÐźŵơ¢Posix¹²ÏíÄÚ´æÇø¡£ÓÐÁ½µãÐèÒª¼òµ¥ËµÃ÷һϣº1£©ÓÉÓÚUnix°æ±¾µÄ¶àÑùÐÔ£¬µç×ÓµçÆø¹¤³ÌлᣨIEEE£©¿ª·¢ÁËÒ»¸ö¶ÀÁ¢µÄUnix±ê×¼£¬Õâ¸öеÄANSI Unix±ê×¼±»³ÆΪ¼ÆËã»ú»·¾³µÄ¿ÉÒÆÖ²ÐÔ²Ù×÷ϵͳ½çÃ棨PSOIX£©¡£ÏÖÓд󲿷ÖUnixºÍÁ÷Ðа汾¶¼ÊÇ×ñÑPOSIX±ê×¼µÄ£¬¶øLinux´ÓÒ»¿ªÊ¼¾Í×ñÑPOSIX±ê×¼£»2£©BSD²¢²»ÊÇûÓÐÉæ×ãµ¥»úÄڵĽø³Ì¼äͨÐÅ£¨socket±¾Éí¾Í¿ÉÒÔÓÃÓÚµ¥»úÄڵĽø³Ì¼äͨÐÅ£©¡£
LinuxϽø³Ì¼äͨÐŵļ¸ÖÖÖ÷ÒªÊֶμò½é£º
1.¹ÜµÀ£¨Pipe£©¼°ÓÐÃû¹ÜµÀ£¨named pipe£©£º¹ÜµÀ¿ÉÓÃÓÚ¾ßÓÐÇ×Ôµ¹Øϵ½ø³Ì¼äµÄͨÐÅ£¬ÓÐÃû¹ÜµÀ¿Ë·þÁ˹ܵÀûÓÐÃû×ÖµÄÏÞÖÆ£¬Òò´Ë£¬³ý¾ßÓйܵÀËù¾ßÓеŦÄÜÍ⣬Ëü»¹ÔÊÐíÎÞÇ×Ôµ¹Øϵ½ø³Ì¼äµÄͨÐÅ£»
2.Ðźţ¨Signal£©£ºÐźÅÊDZȽϸ´ÔÓµÄͨÐÅ·½Ê½£¬ÓÃÓÚ֪ͨ½ÓÊܽø³ÌÓÐijÖÖʼþ·¢Éú£¬³ýÁËÓÃÓÚ½ø³Ì¼äͨÐÅÍ⣬½ø³Ì»¹¿ÉÒÔ·¢ËÍÐźŸø½ø³Ì±¾Éí£»Linux³ýÁËÖ§³ÖUnixÔçÆÚÐźÅÓïÒ庯ÊýsigalÍ⣬»¹Ö§³ÖÓïÒå·ûºÏPosix.1±ê×¼µÄÐźź¯Êýsigaction
3,±¨ÎÄ£¨Message£©¶ÓÁУ¨ÏûÏ¢¶ÓÁУ©£ºÏûÏ¢¶ÓÁÐÊÇÏûÏ¢µÄÁ´½Ó±í£¬°üÀ¨PosixÏûÏ¢¶ÓÁÐsystemVÏûÏ¢¶ÓÁС£ÓÐ×㹻ȨÏ޵Ľø³Ì¿ÉÒÔÏò¶ÓÁÐÖÐÌí¼ÓÏûÏ¢£¬±»¸³Óè¶ÁȨÏ޵Ľø³ÌÔò¿ÉÒÔ¶Á×߶ÓÁÐÖеÄÏûÏ¢¡£ÏûÏ¢¶ÓÁп˷þÁËÐźųÐÔØÐÅÏ¢Á¿ÉÙ£¬¹ÜµÀÖ»ÄܳÐÔØÎÞ¸ñʽ×Ö½ÚÁ÷ÒÔ¼°»º³åÇø´óСÊÜÏÞµÈȱµã¡£
4,¹²ÏíÄڴ棺ʹµÃ¶à¸ö½ø³Ì¿ÉÒÔ·ÃÎÊͬһ¿éÄÚ´æ¿Õ¼ä£¬ÊÇ×î¿ìµÄ¿ÉÓÃIPCÐÎʽ¡£ÊÇÕë¶ÔÆäËûͨÐÅ»úÖÆÔËÐÐЧÂʽϵͶøÉè¼ÆµÄ¡£ÍùÍùÓëÆäËüͨÐÅ»úÖÆ£¬ÈçÐźÅÁ¿½áºÏʹÓã¬À´´ïµ½½ø³Ì¼äµÄͬ²½¼°»¥³â¡£
5,ÐźÅÁ¿£¨semaphore£©£ºÖ÷Òª×÷Ϊ½ø³Ì¼äÒÔ¼°Í¬Ò»½ø³Ì²»Í¬Ïß³ÌÖ®¼äµÄͬ²½ÊֶΡ£
6,Ì×½Ó¿Ú£¨Socket£©£º¸üΪһ°ãµÄ½ø³Ì¼äͨÐÅ»úÖÆ£¬¿ÉÓÃÓÚ²»Í¬»úÆ÷Ö®¼äµÄ½ø³Ì¼äͨÐÅ¡£Æð³õÊÇÓÉUnixϵͳµÄBSD·ÖÖ§¿ª
Ïà¹ØÎĵµ£º
¾¹ýÉÏÊöµÄ¼¸¸ö²½Öè¡£µÚÒ»¸öÄ¿±ê£¬´úÂëÄܹ»±àÒëͨ¹ý»ù±¾ÉÏÊDz»»áÓÐʲôÎÊÌâµÄ¡£Ö»Òª°ÑÎպöþ¸öÐ޸ĴúÂëµÄ»ù±¾ÔÔò£¬µÚÒ»¡£ÒýÈëеĴúÂ룬¶ø²»ÐÞ¸ÄÔÓеĴúÂë¡£ÔÚûÓа취½øÐе÷ÊÔÇ°ÐÞ¸ÄÔ´´úÂëÊDz»ÔÊÐíµÄ£¬Ð޸ĵIJ»ºÃ¾Í»áÒýÆð×îºó´úÂëÔËÐÐÂß¼µÄ»ìÂÒ£¬¶øÇÒÔÚ´úÂëÄܹ»ÔËÐÐ֮ǰÊǺÜÄÑ·¢ÏÖÎÊÌâµÄ¡£ËùÒÔ³ý·Ç·Ç³£ÓаÑÎÕ£¬·ñÔò²»Òª ......
WindowsÓëLinuxÖеĻ»ÐÐÊDz»Ò»ÑùµÄ£¬ÒѾÓöµ½¹ýºÃ¼¸´ÎÎÊÌâÁË¡«ÅúÁ¿Ð½¨Óû§µÄʱºò£¬ÐÂÓû§²»ÄܵǼ£¬ÒòΪÎÒµÄÎı¾ÊÇÔÚWindowsÏÂÉú³ÉµÄ£¬»»ÐÐÊÇWindows¸ñʽ£¬¶øLinuxÖÐʹÓÃnewusersÃüÁîµ¼Èëµ½passwdÎļþ£¬ÊÇÖ±½Ó¸´ÖƹýÈ¥µÄ¡«²»ÄÜÒ»ÐÐÒ»Ðеĸİ¡¡«ºÇºÇ£¬¸Õ¸Õѧµ½ÁËÒ»ÕС£
×Ö·ûÎļþÔÚÁ½¸öϵͳ֮¼ä¿½±´Ö®ºó£¬¿ÉÒÔʹÓÃdos2unix» ......
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
Linux
·¢ÐаæÓë
Linux
²úÆ·Á½ÕßÏà²îºÜ´ó£¬ÓÐʱÈÝÒ×»ìÏý£¬·¢ÉúÎó½â£¬ÉõÖÁÒªÄÖ³ö´óЦ»°À´¡£ÎªÊ²Ã´£¿
´Ó×ÖÃæÉÏÀ´½²£¬·¢Ðа棨
Distribution
£©ºÍ²úÆ ......
ÒýÓãºhttp://blog.chinaunix.net/u/12207/showart_2061214.html
¹ØÓÚ2.6.31Óöµ½µÄÎÊÌâ
´íÎóÌáʾ1£º
drivers/built-in.o(.init.text+0x3bad): In function `con_init':
include/trace/events/kmem.h:47: undefined reference to `.L1452'
½â¾ö£º
vi /usr/src/linux/drivers/char/vt.c ÕÒµ½static int __init con_init ......