Linux¹²Ïí¿â
¹²Ïí¿â
½éÉܹ²Ïí¿â
Linux ϵͳÉÏÓÐÁ½Àà¸ù±¾²»Í¬µÄ Linux ¿ÉÖ´ÐгÌÐò¡£µÚÒ»ÀàÊǾ²Ì¬Á´½ÓµÄ¿ÉÖ´ÐгÌÐò¡£¾²Ì¬¿ÉÖ´ÐгÌÐò°üº¬Ö´ÐÐËùÐèµÄËùÓк¯Êý — »»¾ä»°Ëµ£¬ËüÃÇÊÇ“ÍêÕûµÄ”¡£ÒòΪÕâÒ»ÔÒò£¬¾²Ì¬¿ÉÖ´ÐгÌÐò²»ÒÀÀµÈκÎÍⲿ¿â¾Í¿ÉÒÔÔËÐС£
µÚ¶þÀàÊǶ¯Ì¬Á´½ÓµÄ¿ÉÖ´ÐгÌÐò¡£
¾²Ì¬¿ÉÖ´ÐгÌÐòÓ붯̬¿ÉÖ´ÐгÌÐò±È½Ï
ÎÒÃÇ¿ÉÒÔÓà ldd ÃüÁîÀ´È·¶¨Ä³Ò»Ìض¨¿ÉÖ´ÐгÌÐòÊÇ·ñΪ¾²Ì¬Á´½ÓµÄ£º
# ldd /sbin/sln
not a dynamic executable
“not a dynamic executable”ÊÇ ldd ˵Ã÷ sln ÊǾ²Ì¬Á´½ÓµÄÒ»ÖÖ·½Ê½¡£ÏÖÔÚ£¬ÈÃÎÒÃÇ±È½Ï sln ÓëÆä·Ç¾²Ì¬Í¬Àà ln µÄ´óС£º
# ls -l /bin/ln /sbin/sln
-rwxr-xr-x 1 root root 23000 Jan 14 00:36 /bin/ln
-rwxr-xr-x 1 root root 381072 Jan 14 00:31 /sbin/sln
ÈçÄúËù¼û£¬sln µÄ´óС³¬¹ý ln Ê®±¶¡£ln ±È sln СÕâô¶àÊÇÒòΪËüÊǶ¯Ì¬¿ÉÖ´ÐгÌÐò¡£¶¯Ì¬¿ÉÖ´ÐгÌÐòÊDz»ÍêÕûµÄ³ÌÐò£¬ËüÒÀ¿¿Íⲿ¹²Ïí¿âÀ´ÌṩÔËÐÐËùÐèµÄÐí¶àº¯Êý¡£
¶¯Ì¬Á´½ÓÏà¹ØÐÔ
Òª²é¿´ ln ÒÀÀµµÄËùÓй²Ïí¿âµÄÁÐ±í£¬¿ÉÒÔʹÓà ldd ÃüÁ
# ldd /bin/ln
libc.so.6 => /lib/libc.so.6 (0x40021000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
ÈçÄúËù¼û£¬ln ÒÀÀµÍⲿ¹²Ïí¿â libc.so.6 ºÍ ld-linux.so.2¡£Í¨³££¬¶¯Ì¬Á´½ÓµÄ³ÌÐò±ÈÆ侲̬Á´½ÓµÄµÈ¼Û³ÌÐòСµÃ¶à¡£²»¹ý£¬¾²Ì¬Á´½ÓµÄ³ÌÐò¿ÉÒÔÔÚijЩµÍ¼¶Î¬»¤ÈÎÎñÖз¢»Ó×÷Óá£ÀýÈ磬sln ÊÇÐÞ¸ÄλÓÚ /lib ÖеIJ»Í¬¿â·ûºÅÁ´½ÓµÄ¼«¼Ñ¹¤¾ß¡£µ«Í¨³£Äú»á·¢ÏÖ¼¸ºõËùÓÐ Linux ϵͳÉϵĿÉÖ´ÐгÌÐò¶¼ÊÇijÖÖ¶¯Ì¬Á´½ÓµÄ±äÌå¡£
¶¯Ì¬×°ÈëÆ÷
ÄÇô£¬Èç¹û¶¯Ì¬¿ÉÖ´ÐгÌÐò²»°üº¬ÔËÐÐËùÐèµÄËùÓк¯Êý£¬Linux µÄÄIJ¿·Ö¸ºÔð½«ÕâЩ³ÌÐòºÍËùÓбØÐèµÄ¹²Ïí¿âÒ»Æð×°È룬ÒÔʹËüÃÇÄÜÕýÈ·Ö´ÐÐÄØ£¿´ð°¸ÊǶ¯Ì¬×°ÈëÆ÷£¨dynamic loader£©£¬Ëüʵ¼ÊÉÏÊÇÄúÔÚ ln µÄ ldd Çåµ¥Öп´µ½µÄ×÷Ϊ¹²Ïí¿âÏà¹ØÐÔÁгöµÄ ld-linux.so.2 ¿â¡£¶¯Ì¬×°ÈëÆ÷¸ºÔð×°È붯̬Á´½ÓµÄ¿ÉÖ´ÐгÌÐòÔËÐÐËùÐèµÄ¹²Ïí¿â¡£ÏÖÔÚ£¬ÈÃÎÒÃÇѸËٲ鿴һ϶¯Ì¬×°ÈëÆ÷ÈçºÎÔÚϵͳÉÏÕÒµ½Êʵ±µÄ¹²Ïí¿â¡£
ld.so.
Ïà¹ØÎĵµ£º
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâƪ·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´ËתÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨Õâƪ²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
diffµÄÊä³ö¸ñʽ·ÖΪ´«Í³¸ñʽºÍͳһ¸ñʽ
1)diffµÄ´«Í³¸ñʽÊä³ö.
############################################
cat before.txt
Êä³ö:
This is a line to be deleted
This is a line that will be changed
This is a line that will be unchanged
cat after.txt
Êä³ö:
This is a line that has been changed
Thi ......
ÔÎÄÍøÖ·£ºhttp://group.ednchina.com/1036/21283.aspx
RCU»úÖÆÊÇLinux2.6Ö®ºóÌṩµÄÒ»ÖÖÊý¾ÝÒ»ÖÂÐÔ·ÃÎʵĻúÖÆ£¬´ÓRCU£¨read-copy-update£©µÄÃû³ÆÉÏ¿´£¬ÎÒÃǾÍÄܶÔËûµÄʵÏÖ»úÖÆÓÐÒ»¸ö´ó¸ÅµÄÁ˽⣬ÔÚÐÞ¸ÄÊý¾ÝµÄʱºò£¬Ê×ÏÈÐèÒª¶ÁÈ¡Êý¾Ý£¬È»ºóÉú³ÉÒ»¸ö¸±±¾£¬¶Ô¸±±¾½øÐÐÐ޸ģ¬ÐÞ¸ÄÍê³ÉÖ®ºóÔÙ½«ÀÏÊý¾Ýupdate³ÉеÄÊý¾Ý£¬´ ......
Chapter 1: Thread
¢Ù thread functions
1. pthread_self();
2. thread existing
you can get the value of rval_ptr just by pthread_join(pthread_t tht, void ** rval_ptr)
cancel a thread as the thread exits with PTHREAD_CANCELED in pthread_exit, this functio ......
¡¡±¾ÎÄÖÜÏêµÄ½éÉÜÁËLinuxÄÚºËÖеÄͬ²½»úÖÆ£ºÔ×Ó²Ù×÷¡¢ÐźÅÁ¿¡¢¶ÁдÐźÅÁ¿ºÍ×ÔÐýËøµÄAPI£¬Ê¹ÓÃÐèÇó¼°Ò»Ð©µäÐÍʾÀý
¡¡¡¡Ò»¡¢ÒýÑÔ
¡¡¡¡ÔÚÏÖ´ú²Ù×÷ϵͳÀͬһʱ¼ä¿ÉÄÜÓжà¸öÄÚºËÖ´ÐÐÁ÷ÔÚÖ´ÐУ¬Òò´ËÄÚºËÆäʵÏó¶à½ø³Ì¶àÏ̱߳à³ÌÏàͬҲÐèҪһЩͬ²½»úÖÆÀ´Í¬²½¸÷Ö´Ðе¥Ôª¶Ô¹²ÏíÊý¾ÝµÄ·ÃÎÊ¡£ÓÈÆäÊÇÔڶദÀíÆ÷ϵͳÉÏ£¬¸üÐèÒªÒ» ......