Linuxѧϰ£¨¶þ£© ¹²Ïí¿âµÄ°²×°
°²×°³ÌÐòËùÐèÒªµÄ¹²Ïí¿âʱÐèҪעÒâµÄÎÊÌâ¡£
ÆðÒò£º°²×°libsqlite3.so.0 ºó£¬Ê¹ÓÃldd test ʱ£¬È´ÕÒ²»µ½¸Ã¿âÎļþ¡£
ÔÚʹÓÃcpptest¶ÔÔ³ÌÐòÔËÐе¥Ôª²âÊÔʱ£¬·¢ÏÖ´íÎ󣬼´ÕÒ²»µ½¿âÎļþ¡£
°²×°Íêlibsqlite3.so.0ºó£¬ÆäÊÇ´æ´¢ÔÚusr/local/libµÄ¡£ËùÒÔÎÊÌâÔÚÓÚ£¬linuxϵÄ×°ÔØ³ÌÐòloaderÊÇ·ñ»áËÑË÷Õâ¸ö·¾¶£¿
°´ÕÕ/etc/ld.so.cacheÖеĶ¯Ì¬Á´½Ó¿âÀ´½øÐÐËÑË÷£¬¶ø/etc/ld.so.cacheÊǶÁÈ¡µÄ/etc/ld.so.configÖеÄÄÚÈÝÀ´´´½¨µÄ¡£ËùÒÔ¿ÉÒÔÔÚ/etc/ld.so.configÖÐÌí¼Ólibsqlite3.so.oµÄ·¾¶¡£Ìí¼ÓÖ®ºóÔËÐÐldconfig£¬¸üÐÂ/etc/ld.so.cache¡£
ÔÙ´ÎÔËÐÐldd²é¿´Ê±£¬»òÕߣ¬ÔËÐÐcpptestµÄµ¥Ôª²âÊÔʱ£¬¾Íͨ¹ýÁË¡£
¶þ¡¢¹ØÓÚLinuxµÄ¶¯Ì¬¹²Ïí¿âµÄÉèÖÃ
¿ÉÖ´ÐгÌÐòÕÒ²»µ½ÒªÁ´½ÓµÄ¶¯Ì¬¹²Ïí¿â£¬ÕâÊÇLinuxÉÏÃæ±àÒëºÍÔËÐгÌÐòºÜÈÝÒ×Åöµ½µÄÎÊÌ⣬ͨ¹ýÉÏÃæµÄСÀý×Ó£¬ÎÒÃÇÒѾ´óÖÂÁ˽⹲Ïí¿âµÄÒ»µã»ù±¾ÔÀí£¬½ÓÏÂÀ´ÎÒÃÇҪ̽ÌÖÒ»ÏÂÔõôÉèÖóÌÐòѰÕÒ¶¯Ì¬¹²Ïí¿âµÄÐÐΪ¡£
Linux²Ù×÷ϵͳÉÏÃæµÄ¶¯Ì¬¹²Ïí¿â´óÖ·ÖΪÈýÀࣺ
1¡¢²Ù×÷ϵͳ¼¶±ðµÄ¹²Ïí¿âºÍ»ù´¡µÄϵͳ¹¤¾ß¿â
±È·½Ëµlibc.so, libz.so, libpthread.soµÈµÈ£¬ÕâЩϵͳ¿â»á±»·ÅÔÚ/libºÍ/usr/libĿ¼ÏÂÃæ£¬Èç¹ûÊÇ64λ²Ù×÷ϵͳ£¬»¹»áÓÐ/lib64ºÍ/usr/lib64Ŀ¼¡£Èç¹û²Ù×÷ϵͳ´øÓÐͼÐνçÃæ£¬ÄÇô»¹»áÓÐ/usr/X11R6/libĿ¼£¬Èç¹ûÊÇ64λ²Ù×÷ϵͳ£¬»¹ÓÐ/usr/X11R6/lib64Ŀ¼¡£´ËÍ⻹¿ÉÄÜÓÐÆäËûÌØ¶¨Linux°æ±¾µÄϵͳ¿âĿ¼¡£
ÕâЩϵͳ¿âÎļþµÄÍêÕûºÍ°æ±¾µÄÕýÈ·£¬È·±£ÁËLinuxÉÏÃæ¸÷ÖÖ³ÌÐòÄܹ»Õý³£µÄÔËÐС£
2¡¢Ó¦ÓóÌÐò¼¶±ðµÄϵͳ¹²Ïí¿â
²¢·Ç²Ù×÷ϵͳ×Ô´ø£¬µ«ÊÇ¿ÉÄܱ»ºÜ¶àÓ¦ÓóÌÐòËù¹²ÏíµÄ¿â£¬Ò»°ã»á±»·ÅÔÚ/usr/local/libºÍ/usr/local/lib64ÕâÁ½¸öĿ¼ÏÂÃæ¡£ºÜ¶àÄã×ÔÐбàÒë°²×°µÄ³ÌÐò¶¼»áÔÚ±àÒëµÄʱºò×Ô¶¯°Ñ/usr/local/lib¼ÓÈëgccµÄ-L²ÎÊý£¬¶øÔÚÔËÐеÄʱºò×Ô¶¯µ½/usr/local/libÏÂÃæÈ¥Ñ°ÕÒ¹²Ïí¿â¡£
ÒÔÉÏÁ½ÀàµÄ¶¯Ì¬¹²Ïí¿â£¬Ó¦ÓóÌÐò»á×Ô¶¯Ñ°ÕÒµ½ËûÃÇ£¬²¢²»ÐèÒªÄã¶îÍâµÄÉèÖú͵£ÐÄ¡£ÕâÊÇÎªÊ²Ã´ÄØ£¿ ÒòΪÒÔÉÏÕâЩĿ¼ĬÈϾͱ»¼ÓÈëµ½¶¯Ì¬Á´½Ó³ÌÐòµÄËÑË÷·¾¶ÀïÃæÁË¡£LinuxµÄϵͳ¹²Ïí¿âËÑË÷·¾¶¶¨ÒåÔÚ/etc/ld.so.confÕâ¸öÅäÖÃÎļþÀïÃæ¡£Õâ¸öÎļþµÄÄÚÈݸñʽ´óÖÂÈçÏ£º
/usr/X11R6/lib64
/usr/X11R6/lib
/usr/local/lib
/lib64
/lib
/usr/lib64
/
Ïà¹ØÎĵµ£º
½ñÌì¿´µ½Ê¦ÐÖ¹¤Î»ÉÏÓб¾Linux Kernel In a Nutshell£¬»¹ÊÇȫӢµÄÓ°Ó¡°æ£¬ËùÒԾͽè¹ýÀ´¿´¿´£¬·¢ÏÖÏÖÔÚ¿´Ó¢ÎĵÄÊé½¥½¥ÊÊÓ¦ÁË£¬»¹ÊDZȽÏÈÝÒ׵ģ¬ÊéÖпªÊ¼½éÉÜÈçºÎ±àÒëLinuxÄںˣ¬LinuxÄں˴óÈýµÄʱºòҲѧ¹ý±àÒë¹ý£¬µ«Êǵ±Ê±±àÒë±È½Ï¼òµ¥£¬Õâ´Î¾ö¶¨ÔÙÖØÍ·µ½Î²ºÃºÃ±àÒëһϣ¬Ê×ÏÈÏÂÔØlinux kernel£¬ÔÙÓÃsecureCRTÉÏ´«µ½Ubuntu 8. ......
£¨Ò»£©Îļþ¡¢Ä¿Â¼²Ù×÷ÃüÁî
1¡¢lsÃüÁî
¹¦ÄÜ£ºÏÔʾÎļþºÍĿ¼µÄÐÅÏ¢
ls¡¡ÒÔĬÈÏ·½Ê½ÏÔʾµ±Ç°Ä¿Â¼ÎļþÁбí
ls -a ÏÔʾËùÓÐÎļþ°üÀ¨Òþ²ØÎļþ
ls -l ÏÔʾÎļþÊôÐÔ£¬°üÀ¨´óС£¬ÈÕÆÚ£¬·ûºÅÁ¬½Ó£¬ÊÇ·ñ¿É¶Áд¼°ÊÇ·ñ¿ÉÖ´ÐÐ
ls -lh ÏÔʾÎļþµÄ´óС£¬ÒÔÈÝÒ×Àí½âµÄ¸ñʽӡ³öÎļþ´óС (ÀýÈç 1K 234M 2G)
ls -lt ÏÔʾÎļþ£¬°´ÕÕÐÞ¸ÄÊ ......
1. Workqueue
WorkqueueµÄÃû×־ͺÍËûµÄ¹¦ÄÜÒ»Ñù£ºÐèÒª´¦ÀíµÄ¹¤×÷ÁбíºÍ¹¤×÷µÄÌí¼Óɾ³ý£¨Ã²ËÆÃ»Óп´µ½ÈçºÎɾ³ýµÄ£©¡¢ÒÔ¼°¹¤×÷µÄµ÷¶ÈÖ´ÐС£
ÐèÒª´¦ÀíµÄ¹¤×÷Áбíͨ³£¶¼Î¬»¤ÔÚÄں˶ÔÏóworkqueue_structÀïÃæ¡£ÏµÍ³ÀïÃæ¿ÉÒÔÓжà¸öworkqueue_struct¡£ ......
ÖÕ¶ËÊÇÒ»ÖÖ×Ö·ûÐÍÉ豸£¬ËüÓжàÖÖÀàÐÍ£¬Í¨³£Ê¹ÓÃttyÀ´¼ò³Æ¸÷ÖÖÀàÐ͵ÄÖÕ¶ËÉ豸¡£ttyÊÇTeletypeµÄËõд£¬TeletypeÊÇ×îÔç³öÏÖµÄÒ»ÖÖÖÕ¶ËÉ豸£¬ºÜÏóµç´«´ò×Ö»ú£¬ÊÇÓÉTeletype¹«Ë¾Éú²úµÄ¡£É豸Ãû·ÅÔÚÌØÊâÎļþĿ¼/dev/Ï£¬ÖÕ¶ËÌØÊâÉ豸ÎļþÒ»°ãÓÐÒÔϼ¸ÖÖ£º
1£¬´®Ðж˿ÚÖÕ¶Ë£¨/dev/ttySn£©£º´®Ðж ......
UnixÖеĺ¯ÊýselectºÍpollÓÃÀ´£¬Ö§³ÖUnixÖÐI/O¸´ÓõŦÄÜ£¬ÔÚUnixÖÐI/OÄ£ÐÍ¿ÉÒÔ·ÖΪÒÔÒ»¼¸ÖÖ£º
£¨1£©×èÈûI/O
£¨2£©·Ç×èÈûI/O
£¨3£©I/O¸´Óã¨selectºÍpoll£©
£¨4£©ÐźÅÇý¶¯I/O(SIGIO)
£¨5£©Òì²½I/O
ÆäÖУ¬ÏÖÔڱȽÏÁ÷ÐеÄI/OÄ£ÐÍÊÇ×èÈûI/OÄ£ÐÍ.×èÈûI/OÊǵ±Ó¦ÓóÌÐòºÍÄں˽»»»Êý¾Ýʱ£¬ÓÉÓÚÄں˻¹Ã»ÓÐ×¼±¸ºÃ ......