Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

2)Linux³ÌÐòÉè¼ÆÈëÃÅ

2)Linux³ÌÐòÉè¼ÆÈëÃÅ--½ø³Ì½éÉÜ
LinuxϽø³ÌµÄ´´½¨
Ç°ÑÔ:
ÕâƪÎÄÕÂÊÇÓÃÀ´½éÉÜÔÚLinuxϺͽø³ÌÏà¹ØµÄ¸÷¸ö¸ÅÄî.ÎÒÃǽ«»áѧµ½:
½ø³ÌµÄ¸ÅÄî
½ø³ÌµÄÉí·Ý
½ø³ÌµÄ´´½¨
ÊØ»¤½ø³ÌµÄ´´½¨
----------------------------------------------------------------------------
----
1¡£½ø³ÌµÄ¸ÅÄî
Linux²Ù×÷ϵͳÊÇÃæÏò¶àÓû§µÄ.ÔÚͬһʱ¼ä¿ÉÒÔÓÐÐí¶àÓû§Ïò²Ù×÷ϵͳ·¢³ö¸÷ÖÖÃü
Áî.ÄÇô²Ù×÷ϵͳÊÇÔõôʵÏÖ¶àÓû§µÄ»·¾³ÄØ? ÔÚÏÖ´úµÄ²Ù×÷ϵͳÀïÃæ,¶¼ÓгÌÐòºÍ½ø³Ì
µÄ¸ÅÄî.ÄÇôʲôÊdzÌÐò,ʲôÊǽø³ÌÄØ? ͨË׵Ľ²³ÌÐòÊÇÒ»¸ö°üº¬¿ÉÒÔÖ´ÐдúÂëµÄÎļþ
,ÊÇÒ»¸ö¾²Ì¬µÄÎļþ.¶ø½ø³ÌÊÇÒ»¸ö¿ªÊ¼Ö´Ðе«ÊÇ»¹Ã»ÓнáÊøµÄ³ÌÐòµÄʵÀý.¾ÍÊÇ¿ÉÖ´ÐÐÎÄ
¼þµÄ¾ßÌåʵÏÖ. Ò»¸ö³ÌÐò¿ÉÄÜÓÐÐí¶à½ø³Ì,¶øÿһ¸ö½ø³ÌÓÖ¿ÉÒÔÓÐÐí¶à×Ó½ø³Ì.ÒÀ´ÎÑ­»·
ÏÂÈ¥,¶ø²úÉú×ÓËï½ø³Ì. µ±³ÌÐò±»ÏµÍ³µ÷Óõ½ÄÚ´æÒÔºó,ϵͳ»á¸ø³ÌÐò·ÖÅäÒ»¶¨µÄ×ÊÔ´(ÄÚ
´æ,É豸µÈµÈ)È»ºó½øÐÐһϵÁеĸ´ÔÓ²Ù×÷,ʹ³ÌÐò±ä³É½ø³ÌÒÔ¹©ÏµÍ³µ÷ÓÃ.ÔÚϵͳÀïÃæÖ»
Óнø³ÌûÓгÌÐò,ΪÁËÇø·Ö¸÷¸ö²»Í¬µÄ½ø³Ì,ϵͳ¸øÿһ¸ö½ø³Ì·ÖÅäÁËÒ»¸öID(¾ÍÏóÎÒÃǵÄ
Éí·ÝÖ¤)ÒÔ±ãʶ±ð. ΪÁ˳ä·ÖµÄÀûÓÃ×ÊÔ´,ϵͳ»¹¶Ô½ø³ÌÇø·ÖÁ˲»Í¬µÄ״̬.½«½ø³Ì·ÖΪÐÂ
½¨,ÔËÐÐ,×èÈû,¾ÍÐ÷ºÍÍê³ÉÎå¸ö״̬. н¨±íʾ½ø³ÌÕýÔÚ±»´´½¨,ÔËÐÐÊǽø³ÌÕýÔÚÔËÐÐ,×è
ÈûÊǽø³ÌÕýÔڵȴýijһ¸öʼþ·¢Éú,¾ÍÐ÷ÊDZíʾϵͳÕýÔڵȴýCPUÀ´Ö´ÐÐÃüÁî,¶øÍê³É±íʾ
½ø³ÌÒѾ­½áÊøÁËϵͳÕýÔÚ»ØÊÕ×ÊÔ´. ¹ØÓÚ½ø³ÌÎå¸ö״̬µÄÏêϸ½â˵ÎÒÃÇ¿ÉÒÔ¿´¡¶²Ù×÷ϵ
ͳ¡·ÉÏÃæÓÐÏêϸµÄ½â˵¡£
2¡£½ø³ÌµÄ±êÖ¾
ÉÏÃæÎÒÃÇÖªµÀÁ˽ø³Ì¶¼ÓÐÒ»¸öID,ÄÇôÎÒÃÇÔõôµÃµ½½ø³ÌµÄIDÄØ?ϵͳµ÷ÓÃgetpid¿É
ÒԵõ½½ø³ÌµÄID,¶øgetppid¿ÉÒԵõ½¸¸½ø³Ì(´´½¨µ÷Óøú¯Êý½ø³ÌµÄ½ø³Ì)µÄID.
#include <unistd>
pid_t getpid(void);
pid_t getppid(void);
½ø³ÌÊÇΪ³ÌÐò·þÎñµÄ,¶ø³ÌÐòÊÇΪÁËÓû§·þÎñµÄ.ϵͳΪÁËÕÒµ½½ø³ÌµÄÓû§Ãû,»¹Îª½ø³ÌºÍ
Óû§½¨Á¢ÁªÏµ.Õâ¸öÓû§³ÆΪ½ø³ÌµÄËùÓÐÕß.ÏàÓ¦µÄÿһ¸öÓû§Ò²ÓÐÒ»¸öÓû§ID.ͨ¹ýϵͳ
µ÷ÓÃgetuid¿ÉÒԵõ½½ø³ÌµÄËùÓÐÕßµÄID.ÓÉÓÚ½ø³ÌÒªÓõ½Ò»Ð©×ÊÔ´,¶øLinux¶Ôϵͳ×ÊÔ´ÊÇ
½øÐб£»¤µÄ,ΪÁË»ñÈ¡Ò»¶¨×ÊÔ´½ø³Ì»¹ÓÐÒ»¸öÓÐЧÓû§ID.Õâ¸öIDºÍϵͳµÄ×ÊԴʹÓÃÓйØ
,Éæ¼°µ½½ø³ÌµÄȨÏÞ. ͨ¹ýϵͳµ÷ÓÃgeteuidÎÒÃÇ¿ÉÒԵõ½½ø³ÌµÄÓÐЧÓû§ID. ºÍÓû§ID
Ïà¶ÔÓ¦½ø³Ì»¹ÓÐÒ»¸ö×éIDºÍÓÐЧ×éIDϵͳµ÷ÓÃgetgidºÍgetegid¿ÉÒÔ·Ö±ðµÃµ½×éIDºÍÓÐЧ
×éID
#include <unistd>


Ïà¹ØÎĵµ£º

LinuxÏÂSVN·þÎñÆ÷µÄ°²×°

        Õâ´Îתµ½Á˺½¿ÕµÄÒ»¸öÏîÄ¿£¬ÐèÒªÔÚLinuxÏÂÓÃC×ö¿ª·¢¡£°æ±¾¹ÜÀí²ÉÓÃSVN£¬´Ó×òÌìÏÂÎ翪ʼÎҾͿªÊ¼ÁË°²×°£¬ÕæµÄÊÇÍ´¿àµÄ¹ý³Ì¡£ÏÖÔÚµ¹ÊÇ°²×°ºÃÁË£¬µ«ÊÇÅäÖÃÃüÁûÓÐÕÆÎÕ¡£
        Èç¹ûÓÐȨÏÞ´ÓÍøÉÏÖ±½Ó¸üÐÂÈí¼þ£¬ÎÒ²»±Øÿ´Î¶¼È¥ÕÒÔ´Âë°ü£¬È ......

Linux»·¾³½ø³Ì¼äͨÐÅ£¨Î壩——¹²ÏíÄÚ´æ

http://www.ibm.com/developerworks/cn/linux/l-ipc/part5/index1.html
¹²ÏíÄÚ´æ¿ÉÒÔ˵ÊÇ×îÓÐÓõĽø³Ì¼äͨÐÅ·½Ê½£¬Ò²ÊÇ×î¿ìµÄIPCÐÎʽ¡£Á½¸ö²»Í¬½ø³ÌA¡¢B¹²ÏíÄÚ´æµÄÒâ˼ÊÇ£¬Í¬Ò»¿éÎïÀíÄÚ´æ±»Ó³Éäµ½
½ø³ÌA¡¢B¸÷×ԵĽø³ÌµØÖ·¿Õ¼ä¡£½ø³ÌA¿ÉÒÔ¼´Ê±¿´µ½½ø³ÌB¶Ô¹²ÏíÄÚ´æÖÐÊý¾ÝµÄ¸üУ¬·´Ö®ÒàÈ»¡£ÓÉÓÚ¶à¸ö½ø³Ì¹²Ïíͬһ¿éÄÚ´æÇøÓò£ ......

linuxÇý¶¯¿ª·¢Ñ§Ï°±Ê¼Ç£¨¶þ£©

                scull µÄMakefile
Makefile½Å±¾ÈçÏÂËùʾ¡£
--------------------------------------------------------------------------------
KERNEL_MAKE := -C /home/zhoumin/hi3511/Hi3511_VSSDK_V1.1.2.1/pub/kbuild-LESS_REL
PWD := $(shell pwd ......

ÉîÈëdz³ö LinuxÉ豸Çý¶¯×èÈûÓë·Ç×èÈû (select poll)


×èÈû²Ù×÷ÊÇÖ¸£¬ÔÚÖ´ÐÐÉ豸²Ù×÷ʱ£¬Èô²»ÄÜ»ñµÃ×ÊÔ´£¬Ôò½ø³Ì¹ÒÆðÖ±µ½Âú×ã¿É²Ù×÷µÄÌõ¼þÔÙ½øÐвÙ×÷¡£·Ç×èÈû²Ù×÷µÄ½ø³ÌÔÚ²»ÄܽøÐÐÉ豸²Ù×÷ʱ£¬²¢²»¹ÒÆð¡£±»¹ÒÆðµÄ½ø³Ì½øÈësleep״̬£¬±»´Óµ÷¶ÈÆ÷µÄÔËÐжÓÁÐÒÆ×ߣ¬Ö±µ½µÈ´ýµÄÌõ¼þ±»Âú×ã¡£
ÔÚLinuxÇý¶¯³ÌÐòÖУ¬ÎÒÃÇ¿ÉÒÔʹÓõȴý¶ÓÁУ¨wait queue£©À´ÊµÏÖ×èÈû²Ù×÷¡£wait queueºÜÔ ......

ÉîÈëdz³öLinuxÉ豸Çý¶¯Ö®×èÈûÓë·Ç×èÈû

×¢: ¸ÃϵÁÐÎÄÕÂתÔØ×Ôarm+linux chinaunix²©¿ÍȦȦÖ÷Ö®²©¿Í——http://blog.chinaunix.net/u/22630 /article_54997.html   ΪÁËÊʺÏÎҵıàÒë»·¾³£¬Ô´´úÂëÓиĶ¯£¬µ«ÊÇÏàÐÅÎÒ¸ü¸ÄºóµÄ´úÂë¸ü¼ÓÊʺÏÏÖÔÚ´ó¶àÊý¶ÁÕßµÄpc»·¾³¡£
×èÈû²Ù×÷ÊÇÖ¸£¬ÔÚÖ´ÐÐÉ豸²Ù×÷ʱ£¬Èô²»ÄÜ»ñµÃ×ÊÔ´£¬Ôò½ø³Ì¹ÒÆðÖ±µ½Âú×ã¿É²Ù×÷µ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ