LinuxÄÚºËÔ´Âë·ÖÎö
LinuxÄÚºËÔ´Âë·ÖÎö-Á´±í´úÂë·ÖÎö
·ÖÎöÈË£ºÓàÐñ
·ÖÎöʱ¼ä£º2005Äê11ÔÂ17ÈÕÐÇÆÚËÄ 11:40:10 AM
Óê ζȣº10-11¶È
±àºÅ£º1-4 Àà±ð£º×¼±¸¹¤×÷
Email£ºyuxu9710108@163.com
ʱ´ú±³¾°£º¿ªÊ¼ÔÚwww.linuxforum.net LinuxÄں˼¼ÊõÂÛ̳ÉÏÃæ·¢Ìù£¬ÔÚÍøÓѵİïæÏ£¬
½â¾öÁËһЩÎÊÌâ¡£
°æÈ¨ÉùÃ÷£º°æÈ¨±£Áô¡£±¾ÎÄÓÃ×÷ÆäËûÓÃ;µ±¾×÷Õß±¾ÈËͬÒâ,×ªÔØÇë×¢Ã÷×÷ÕßÐÕÃû
All Rights Reserved. If for other use,must Agreed By the writer.Citing this
text,please claim the writer's name.
Copyright (C) 2005 YuXu
**************************************************
-------------Ë«ÏòÑ»·Á´±í---------------------------
À´Ô´ÓÚ£ºlist.h
Éè¼ÆË¼Ï룺¾¡¿ÉÄܵĴúÂëÖØÓ㬻¯´ó¶ÑµÄÁ´±íÉè¼ÆÎªµ¥¸öÁ´±í¡£
Á´±íµÄ¹¹Ô죺Èç¹ûÐèÒª¹¹ÔìijÀà¶ÔÏóµÄÌØ¶¨ÁÐ±í£¬ÔòÔÚÆä½á¹¹Öж¨ÒåÒ»¸öÀàÐÍΪlist_
headÖ¸ÕëµÄ³ÉÔ±£¬Í¨¹ýÕâ¸ö³ÉÔ±½«ÕâÀà¶ÔÏóÁ¬½ÓÆðÀ´£¬ÐγÉËùÐèÁÐ±í£¬²¢Í¨¹ýͨÓÃÁ´±íº¯
Êý¶ÔÆä½øÐвÙ×÷¡£ÆäÓŵãÊÇÖ»Ðè±àдͨÓÃÁ´±íº¯Êý£¬¼´¿É¹¹ÔìºÍ²Ù×÷²»Í¬¶ÔÏóµÄÁÐ±í£¬¶ø
ÎÞÐèΪÿÀà¶ÔÏóµÄÿÖÖÁбí±àдרÓú¯Êý£¬ÊµÏÖÁË´úÂëµÄÖØÓá£
Èç¹ûÏë¶ÔijÖÖÀàÐÍ´´½¨Á´±í£¬¾Í°ÑÒ»¸ölist_headÀàÐ͵ıäÁ¿Ç¶Èëµ½¸ÃÀàÐÍÖУ¬ÓÃlist_
headÖеijÉÔ±ºÍÏà¶ÔÓ¦µÄ´¦Àíº¯ÊýÀ´¶ÔÁ´±í½øÐбéÀú¡£Èç¹ûÏëµÃµ½ÏàÓ¦µÄ½á¹¹µÄÖ¸Õ룬ʹ
ÓÃlist_entry¿ÉÒÔËã³öÀ´¡£
-------------·ÀÖ¹ÖØ¸´°üº¬Í¬Ò»¸öÍ·Îļþ---------------
#ifndef _LINUX_LIST_H
#define _LINUX_LIST_H
...
#endif
ÓÃÓÚ·ÀÖ¹ÖØ¸´°üº¬Í¬Ò»¸ölist.hÍ·Îļþ
-----------struct list_head{}¼°³õʼ»¯ºê---------
struct list_head
{
struct list_head *next, *prev;
};
list_head´Ó×ÖÃæÉÏÀí½â£¬ºÃÏñÊÇÍ·½áµãµÄÒâ˼¡£µ«´ÓÕâÀïµÄ´úÂëÀ´¿´È´ÊÇÆÕͨ½áµãµÄ½á¹¹
Ìå¡£ÔÚºóÃæµÄ´úÂëÖн«list_headµ±³ÉÆÕͨµÄ½áµãÀ´´¦Àí¡£
--LIST_HEAD_INIT()--LIST_HEAD()--INIT_LIST_HEAD()------
#define LIST_HEAD_INIT(name) { &(name), &(name) }
#define LIST_HEAD(name) \
struct list_head name = LIST_HEAD_INIT(name)
·ÖÎö£ºnameµ±Îª½á¹¹Ìåstruct list_head{}µÄÒ»¸ö½á¹¹Ìå±äÁ¿£¬&(name)Ϊ¸Ã½á¹¹Ìå±äÁ¿µÄ
µØÖ·¡£ÓÃname½á¹¹Ìå±äÁ¿µÄʼµØÖ·½«¸Ã½á¹¹Ìå±äÁ¿½øÐгõʼ»¯¡£
#define INIT_LIST_HEAD(ptr) do { \
(ptr)->next = (ptr); (ptr)->prev = (ptr); \
} while (0)
1.ptrΪһ¸ö½á¹¹ÌåµÄÖ¸Õ룬¶ønameΪһ¸ö½á
Ïà¹ØÎĵµ£º
Linux϶¯Ì¬¿âµÄÉú³É¼°Á´½Ó·½·¨ £¨1£©
Linux ϶¯Ì¬¿âÎļþµÄÀ©Õ¹ÃûΪ".so"£¨Shared Object£©¡£°´ÕÕÔ¼¶¨£¬ËùÓж¯Ì¬¿âÎļþÃûµÄÐÎʽÊÇlibname.so£¨¿ÉÄÜÔÚÃû×ÖÖмÓÈë°æ±¾ºÅ£©¡£ÕâÑù£¬Ï̺߳¯Êý¿â±»³Æ×÷ ......
LinuxÁ÷Á¿¿ØÖÆ1--ÅŶӹæÔò
2008-07-31 15:26
Linux²Ù×÷ϵͳÖеÄÁ÷Á¿¿ØÖÆ¿ò¼Ü´´½¨ÁËÒ»¸öͨÓû·¾³£¬Ëü¼¯³ÉÁËËùÓÐÓÃÓÚÏÞÖÆºÍÁ÷Á¿ÕûÐεĿÉÒÔ»¥ÁªµÄ²»Í¬ÔªËØ¡£ÔÚʵ¼Ê²Ù×÷ÖÐÕâÐ©ÔªËØÉõÖÁ¿ÉÒÔ×÷Ϊһ¸öÄ£¿é¶¯Ì¬µØ¼ÓÔØºÍÐ¶ÔØ¡£
TC£¨Traffic Control£©¹¤¾ßÌṩÁËÒ»¸öÃüÁîÐÐÓû§½Ó¿ÚÀ´ÅäÖÃLinuxÁ÷Á¿¿ØÖÆ¡£¸Ã¹¤¾ßÈÃÓû§¿ÉÒÔÉ ......
~ µ±Ç°Óû§Ä¿Â¼µÄËõд
cd ~
cd /home/<user-name>/
--help »ñÈ¡°ïÖú
vi --help
tab ×Ô¶¯²¹È«¡£Ë«»÷tab¸ø³ö²¹È«Ìáʾ¡£
Èôµ±Ç°ÃüÁîÎÞÆçÒ壬ÔòÍêÕû²¹È«¡£ÈôÓÐÆçÒåË«»÷¿ÉÁгöÌáʾѡÏî¡£
cd /e [tab], ²¹È«Îªcd /etc/
cd /b [tab-tab], ÁгöÑ¡Ïîbin/ bo ......
PCI: bus0: Fast back to back transfers disabled
PCI: Configured XX as a PCI slave with 128MB PCI memory
PCI: Each Region size is 16384KB
PCI: Reserved memory from 0x10080000 to 0x15080000 for DMA and mapped to 0x12000000
¡¡¡¡É豸µÄ³õʼ»¯ init()--->do_basic_init()--->pci_init()£¬³õÊ ......
Á´±íµÄɾ³ý
83/*
84 * Delete a list entry by making the prev/next entries
85 * point to each other.
86 *
87 * This is only for internal list manipulation where we know
88 * the prev/next entries already!
89 */
90static inline void __list_del(struct list_head * prev, struct list_head * next)
......