Éî¿ÌÀí½âLinuxϵͳ½ø³Ì¼äͨÐÅ£¨IPC£©
LinuxϵĽø³ÌͨÐÅÊֶλù±¾ÉÏÊÇ´ÓUnixƽ̨ÉϵĽø³ÌͨÐÅÊֶμ̳жøÀ´µÄ¡£
Ðò
LinuxϵĽø³ÌͨÐÅÊֶλù±¾ÉÏÊÇ´ÓUnixƽ̨ÉϵĽø³ÌͨÐÅÊֶμ̳жøÀ´µÄ¡£¶ø¶ÔUnix·¢Õ¹×ö³öÖØ´ó¹±Ï×µÄÁ½´óÖ÷Á¦AT&TµÄ±´¶ûʵÑéÊÒ¼°BSD£¨¼ÓÖÝ´óѧ²®¿ËÀû·ÖУµÄ²®¿ËÀûÈí¼þ
·¢²¼ÖÐÐÄ£©ÔÚ½ø³Ì¼äͨÐÅ·½ÃæµÄ²àÖØµãÓÐËù²»Í¬¡£Ç°Õß¶ÔUnixÔçÆÚµÄ½ø³Ì¼äͨÐÅÊֶνøÐÐÁËϵͳ
µÄ¸Ä½øºÍÀ©³ä£¬ÐγÉÁË“system V IPC”£¬Í¨ÐŽø³Ì¾ÖÏÞÔÚµ¥¸ö¼ÆËã»úÄÚ£»ºóÕßÔòÌø¹ýÁ˸ÃÏÞÖÆ£¬ÐγÉÁË»ùÓÚÌ×½Ó¿Ú£¨socket£©µÄ½ø³Ì¼äͨÐÅ»úÖÆ¡£LinuxÔò°ÑÁ½Õ߼̳ÐÁËÏÂÀ´£¬Èçͼʾ£º
ÆäÖУ¬×î³õ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±¾Éí¾Í¿ÉÒÔÓÃÓÚµ¥»úÄڵĽø³Ì¼äͨÐÅ£©¡£ÊÂʵÉÏ£¬ºÜ¶àUnix°æ±¾µÄµ¥»úIPCÁôÓÐBSDµÄºÛ¼££¬Èç
4.4BSDÖ§³ÖµÄÄäÃûÄÚ´æÓ³Éä¡¢4.3+BSD¶Ô¿É¿¿ÐźÅÓïÒåµÄʵÏֵȵȡ£
ÉÏͼ¸ø³öÁËLinuxËùÖ§³ÖµÄ¸÷ÖÖIPCÊֶΣ¬ÔÚ±¾ÎĽÓÏÂÀ´µÄÌÖÂÛ
ÖУ¬
ΪÁ˱ÜÃâ¸ÅÄîÉϵĻìÏý£¬ÔÚ¾¡¿ÉÄÜÉÙÌá¼°UnixµÄ¸÷¸ö°æ±¾µÄÇé¿öÏ£¬ËùÓÐÎÊÌâµÄÌÖÂÛ×îÖÕ¶¼»á¹é½áµ½Linux»·¾³ÏµĽø³Ì¼äͨÐÅÉÏÀ´¡£²¢ÇÒ£¬¶ÔÓÚ
LinuxËùÖ§³ÖͨÐÅÊֶεIJ»Í¬ÊµÏÖ°æ±¾£¨Èç¶ÔÓÚ¹²ÏíÄÚ´æÀ´Ëµ£¬ÓÐPosix¹²ÏíÄÚ´æÇøÒÔ¼°System
V¹²ÏíÄÚ´æÇøÁ½¸öʵÏÖ°æ±¾£©£¬½«Ö÷Òª½éÉÜPosix API¡£
LinuxϽø³Ì¼äͨÐŵļ¸ÖÖÖ÷ÒªÊֶμò½é£º
1.¹ÜµÀ£¨Pipe£©¼°ÓÐÃû¹ÜµÀ£¨named pipe£©£º¹ÜµÀ¿ÉÓÃÓÚ¾ßÓÐÇ×Ôµ¹ØÏµ½ø³Ì¼äµÄͨÐÅ£¬ÓÐÃû¹ÜµÀ¿Ë·þÁ˹ܵÀûÓÐÃû×ÖµÄÏÞÖÆ£¬Òò´Ë£¬³ý¾ßÓйܵÀËù¾ßÓеŦÄÜÍ⣬Ëü»¹ÔÊÐíÎÞÇ×Ôµ¹ØÏµ½ø³Ì¼äµÄͨÐÅ£»
2.Ðźţ¨Signal£©£ºÐźÅÊDZȽϸ´ÔÓµÄͨÐÅ·½Ê½£¬ÓÃÓÚ֪ͨ½ÓÊܽø³ÌÓÐijÖÖʼþ·¢Éú£¬³ýÁËÓÃÓÚ½ø³Ì¼äͨÐÅÍ⣬½ø³Ì»¹¿ÉÒÔ·¢ËÍÐźŸø½ø³Ì±¾
Éí£»Linux³ýÁËÖ§³ÖUnixÔçÆÚÐźÅÓïÒ庯ÊýsigalÍ⣬»¹Ö§³ÖÓïÒå·ûºÏPosix.1±ê×¼µÄÐźź¯Êýsigaction£¨Êµ¼ÊÉÏ£¬¸Ãº¯ÊýÊÇ»ùÓÚ
BSDµÄ£¬BSDΪÁËʵÏÖ¿É¿¿ÐźŻúÖÆ£¬ÓÖÄܹ»Í³Ò»¶ÔÍâ½Ó¿Ú£¬ÓÃsigactionº¯ÊýÖØÐÂʵÏÖÁËsignalº¯Êý£©£»
±¨ÎÄ£
Ïà¹ØÎĵµ£º
MYSQL°²×°
//½âѹ±àÒë°²×°
# tar xzvf mysql-5.0.27.tar.gz
# cd mysql-5.0.27
# ./configure -prefix=/home/redadmin/mysql
# make
# make install
# cd /home/redadmin/mysql/
# cp share/mysql/my-medium.cnf ./
# mv my-medium.cnf my.cnf
// my.confÎļþÐÞ¸Ä
# vi my.cnf
ÐÞ¸Äǰ£º
port &nb ......
ÒÔÏÂÖ÷ÒªÊÕ¼¯ linux Öг£ÓõÄÃüÁî.ÒÔºó»áÂ½ÐøÔö¼Ó
¸´ÖÆÎļþ¼Ð¼°ÆäÏÂÎļþ: cp smdk2440 -r mini2440
ɾ³ýÎļþ¼Ð¼°ÆäÏÂÎļþ: rm -rf mini2440
²éÕÒ°üº¬¹Ø¼ü×ÖµÄÎļþ:
grep "CONFIG_S3C2410" * -R //²éÕÒ°üº¬"CONFIG_S3C2410" µÄÎļþ,
*±íʾ²éÕÒ µ±Ç°Ä¿Â¼ÏµÄËùÓÐÎļþ, -R ±íʾµÝ¹é²éÕÒ ......
ÔÚѧϰ Linux® µÄ¹ý³ÌÖУ¬ÄúÒ²Ðí½Ó´¥¹ý²¢·¢£¨concurrency£©¡¢ÁÙ½ç¶Î£¨critical
section£©ºÍËø¶¨£¬µ«ÊÇÈçºÎÔÚÄÚºËÖÐʹÓÃÕâЩ¸ÅÄîÄØ£¿±¾ÎÄÌÖÂÛÁË 2.6 °æÄÚºËÖпÉÓõÄ
Ëø¶¨»úÖÆ£¬°üÀ¨Ô×ÓÔËËã·û£¨atomic operator£©¡¢×ÔÐýËø£¨spinlock£©¡¢¶Á/Ð´Ëø£¨
reader/writer lock£©ºÍÄÚºËÐźÅÁ¿£¨kernel semaphore£©¡£ ±¾ÎÄ»¹Ì½Ì ......
½ø³Ì¼äͨОÍÊÇÔÚ²»Í¬½ø³ÌÖ®¼ä´«²¥»ò½»»»ÐÅÏ¢£¬ÄÇô²»Í¬½ø³ÌÖ®¼ä´æÔÚ×Åʲô˫·½¶¼¿ÉÒÔ·ÃÎʵĽéÖÊÄØ£¿½ø³ÌµÄÓû§¿Õ¼äÊÇ»¥Ïà¶ÀÁ¢µÄ£¬Ò»°ã¶øÑÔÊDz»ÄÜ»¥Ïà·ÃÎʵģ¬Î¨Ò»µÄÀýÍâÊǹ²ÏíÄÚ´æÇø¡£µ«ÊÇ£¬ÏµÍ³¿Õ¼ä
È´ÊÇ“¹«¹²³¡Ëù”£¬ËùÒÔÄÚºËÏÔÈ»¿ÉÒÔÌṩÕâÑùµÄÌõ¼þ¡£³ý´ËÒÔÍ⣬ÄǾÍÊÇË«·½¶¼¿ÉÒÔ·ÃÎʵ ......
LinuxÒ»°ãÓÐËĸöÖ÷Òª²¿·Ö£ºÄںˡ¢Shell¡¢Îļþ½á¹¹ºÍʵÓù¤¾ß¡£
1. LinuxÄÚºË
ÄÚºËÊÇϵͳµÄÐÄÔ࣬ÊÇÔËÐгÌÐòºÍ¹ÜÀíÏñ´ÅÅ̺ʹòÓ¡»úµÈÓ²¼þÉ豸µÄºËÐijÌÐò¡£Ëü
´ÓÓû§ÄÇÀï½ÓÊÜÃüÁî²¢°ÑÃüÁîË͸øÄÚºËÈ¥Ö´ÐС£
½ñÌìLinuxÊÇÒ»¸öÒ»Ì廯Äںˣ¨monolithic kernel£©ÏµÍ³¡£É豸Çý¶¯³ÌÐò¿ÉÒÔÍêÈ«·ÃÎÊÓ²¼þ¡£LinuxÄÚµÄÉ豸Çý¶¯³ÌÐò¿ÉÒÔ· ......