LinuxÉ豸Çý¶¯Ö®——¹¹½¨ÄÚºËÊ÷
ѧLinuxÒ»Äê¶àÁË£¬¶ÔÇý¶¯µÄ֪ʶһµã¶¼Á˽⣬ÉÏÖÜÂòÁ˱¾¡¶LinuxÉ豸Çý¶¯¡·£¬O'REILLY³ö°æ£¬´òËãѧϰѧϰ¡£Ñ§Ï°¹ýµÄ´óÏÀ£¬Ï£Íû¿ÉÒÔÖ¸µ¼Ö¸µ¼¡£
Ê×ÏÈÏÂÔØLinuxÄںˣ¬°´×÷ÕßµÄ˵·¨£¬Ö»ÒªÊÇlinux-2.6.xxxµÄÄں˶¼¿ÉÒÔ£¬ÎÒµÄÊÇlinux-2.6.33.2¡£ÓÐÎ»ÍøÓÑ˵ÏÂÔØºó×îºÃ½âѹµ½/usr/src/Ŀ¼Ï£¬½âѹ
ÔÚ¹¹½¨ÄÚºËÊ÷ÊDzο¼ÁËÔÊéµÚËÄÕ“µ÷ÊÔ¼¼Êõ”£¬ÅäÖÃÁ˼¸Ìõµ÷ÊÔʱ¿ÉÄÜ»áÓõ½µÄÑ¡Ïî,ÕâЩѡÏî´ó¶àÔÚ“kernel hacking“²Ëµ¥ÖУº
CONFIG_DEBUG_KERNEL£ºÊ¹ÆäËûµ÷ÊÔÑ¡Ïî¿ÉÓÃ
CONFIG_DEBUG_SLAB£º´ò¿ªÄÚºËÄÚ´æ·ÖÅ亯ÊýÖеĶà¸öÀàÐͼì²é
CONFIG_DEBUG_PAGEALLOC£ºÔÚÊÍ·Åʱ£¬È«²¿ÄÚ´æÒ³´ÓÄں˵ØÖ·¿Õ¼äÖÐÒÆ³ö¡£¸ÃÑ¡Ï´ó´ó½µµÍÔËÐÐËÙ¶È£¬µ«¿ÉÒÔ¿ìËÙ¶¨Î»Ìض¨µÄÄÚ´æË𻵴íÎóµÄËùÔÚλÖÃ
CONFIG_DEBUG_SPINLOCK
CONFIG_DEBUG_SPINLOCK_SLEEP
CONFIG_INIT_DEBUG
CONFIG_DEBUG_INFO
Ïà¹ØÎĵµ£º
Äں˼ò½é
¡¡¡¡Äںˣ¬ÊÇÒ»¸ö²Ù×÷ϵͳµÄºËÐÄ¡£Ëü¸ºÔð¹ÜÀíϵͳµÄ½ø³Ì¡¢ÄÚ´æ¡¢É豸Çý¶¯³ÌÐò¡¢ÎļþºÍÍøÂçϵͳ£¬¾ö¶¨×ÅϵͳµÄÐÔÄܺÍÎȶ¨ÐÔ¡£
¡¡¡¡LinuxµÄÒ»¸öÖØÒªµÄÌØµã¾ÍÊÇÆäÔ´´úÂëµÄ¹«¿ªÐÔ£¬ËùÓеÄÄÚºËÔ´³ÌÐò¶¼¿ÉÒÔÔÚ/usr/src/linuxÏÂÕÒµ½£¬´ó²¿·ÖÓ¦ÓÃÈí¼þÒ²¶¼ÊÇ×ñÑGPL¶øÉè¼ÆµÄ£¬Äã¶¼¿ÉÒÔ»ñÈ¡ÏàÓ¦µÄ ......
¡¡I2C×ÜÏß¾ßÓнṹ¼òµ¥Ê¹Ó÷½±ãµÄÌØµã¡£±¾ÎÄÃèÊöÁËlinuxÏÂI2CÇý¶¯µÄ½á¹¹£¬²¢ÔÚ´Ë»ù´¡Éϸø³öÁËI2CÉ豸Çý¶¯ºÍÓ¦ÓõÄʵÏÖ¡£
¡¡¡¡1 ÒýÑÔ
¡¡¡¡I2C (Inter£Integrated Circuit)×ÜÏßÊÇÒ»ÖÖÓÉPHILIPS¹«Ë¾¿ª·¢µÄÁ½Ïßʽ´®ÐÐ×ÜÏߣ¬ÓÃÓÚÁ¬½Ó΢¿ØÖÆÆ÷¼°ÆäÍâΧÉ豸¡£I2C×ÜÏß×îÖ÷ÒªµÄÓŵãÊÇÆä¼òµ¥ÐÔºÍÓÐЧÐÔ¡£ÓÉÓÚ½Ó¿ÚÖ±½ÓÔÚ×é¼þÖ ......
±¾ÎÄÏêϸ·ÖÎöÁËLinux×ÀÃæ²Ù×÷ϵͳµÄÆô¶¯¹ý³Ì£¬Éæ¼°µ½BIOSϵͳ¡¢LILO ºÍGRUBÒýµ¼×°ÔسÌÐò£¬ÒÔ¼°bootsect¡¢setup¡¢vmlinuxµÈÓ³ÏñÎļþ£¬²¢½áºÏÒýµ¼¡¢Æô¶¯ÔÀíºÍ¾ßÌåµÄ´úÂëʵÏÖ»úÖÆÓÉdzÈëÉîµØ½øÐÐÁË·ÖÎö¡£
³õѧÕ߸սӴ¥Linux×ÀÃæÏµÍ³»á¸Ð¾õϵͳÆô¶¯ËٶȽÏÂý£¬ÄÇô£¬ÎªÊ²Ã´ËüµÄÆô¶¯ËÙ¶ÈÂýÄØ?±¾ÎľÍ×ÀÃæÏµ ......
1¡¢×ܽᱳ¾°
ÔÚlinuxϵͳÏ£¬Èç¹ûÄãÏÂÔØ²¢°²×°ÁËÓ¦ÓóÌÐò£¬ºÜÓпÉÄÜÔÚ¼üÈëËüµÄÃû³ÆÊ±³öÏÖ“command not found”µÄÌáʾÄÚÈÝ¡£Èç¹ûÿ´Î¶¼µ½°²×°Ä¿±êÎļþ¼ÐÄÚ£¬ÕÒµ½¿ÉÖ´ÐÐÎļþÀ´½øÐвÙ×÷¾ÍÌ«·±ËöÁË¡£ÕâÉæ¼°µ½»·¾³±äÁ¿PATHµÄÉèÖÃÎÊÌ⣬¶øPATHµÄÉèÖÃÒ²ÊÇÔÚlinux϶¨ÖÆ»·¾³±äÁ¿µÄÒ»¸ö×é³É²¿·Ö¡£±¾°¸Àý»ùÓÚRedHat AS4½² ......
¼òµ¥½âÊÍÒ»ÏÂipcsÃüÁîºÍipcrmÃüÁî¡£
È¡µÃipcÐÅÏ¢£º
ipcs [-m|-q|-s]
-m Êä³öÓйع²ÏíÄÚ´æ(shared memory)µÄÐÅÏ¢
-q Êä³öÓйØÐÅÏ¢¶ÓÁÐ(message queue)µÄÐÅÏ¢
-s Êä³öÓйؓÕÚ¶ÏÆ÷”(semaphore)µÄÐÅÏ¢
%ipcs -m
ɾ³ýipc
ipcrm -m|-q|-s shm_id
%ipcrm -m 105
ÀýÈ磬ÎÒÃÇÔÚÒÔ0x12345678ΪKEY´´½¨ÁËÒ»¸ö¹ ......