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

ÉîÈëÀí½âLinuxÄÚºËÖеÄÁ´±í

      ×î½ü£¬¿ªÊ¼ÑжÁÒ»ÏÂLinuxµÄÄں˴úÂ룬¸ÕÒ»¿ªÊ¼£¬¾ÍÓÐÁîÈ˾ªÌ¾µÄ·¢ÏÖ£¬²»µÃ²»¸Ð̾Äں˴úÂëÉè¼ÆµÃÖ®ÃÀ£¡µ¥ÊÇ×î³£ÓõÄÁ´±íÒ²Éè¼ÆµÃ²»µÃ²»ÁîÈËÅå·þ£¡
1.1.Á´±ílist_head
    include/linux/list.h
    ºÜ¾­µä£¬Á´±íÔÚÄÚºËÖкܳ£Óã¬ÀýÈç¹ÜÀí½ø³Ì£¬½ø³ÌµÄ¸÷¸ö״̬¶ÓÁж¼ÊÇʹÓÃÕâ¸öË«ÏòÁ´±íʵÏֵġ£ÄÚºËÖеÄÁ´±í¶¨Òå³ÉºÍÊý¾ÝÎ޹صÄÐÎʽ£¬¶ø²»ÊÇͨ³£ÎÒÃÇʹÓõÄÁ´±í¸ñʽ£¬ÀýÈç
typedef struct _list{
    Elemtype elem;
    struct _list *next;
}list;
ÄÚºËÖеÄÁ´±í¶¨ÒåΪ
struct list_head{
    struct list_head *next, *prev;
};
¿É¼û£¬Õâ¸öÁ´±í½ÚµãÖв»°üº¬ÈκÎÊý¾Ý£¬Ö»ÓÐÁ½¸öÖ¸Õë¡£µ±ÐèҪʹÓÃÁ´±íÀ´×éÖ¯Êý¾Ý½á¹¹Ê±£¬Õâ¸ö½á¹¹ÖоͰüº¬Ò»¸ölist_head³ÉÔ±£¬ÀýÈç
struct _list_struct{
    Elemtype elem;
    struct list_head list;
    ...
};
ÏÔ¶øÒ×¼û£¬Á´±íʵÏֳɺÍÊý¾Ý·ÖÀëµÄºÃ´¦ÊÇ£¬²»ÓÃΪÿÖÖÊý¾Ý¶¼¶¨ÒåÁ´±í²Ù×÷£¬¿ÉÒÔʹÓÃͳһµÄÁ´±í²Ù×÷¼´¿É¡£µ«ÊÇÎÊÌâÊÇ£ºÖ»ÖªµÀÊý¾Ý³ÉÔ±listµÄµØÖ·£¬ÔõÑùÈ¥·ÃÎÊ×ÔÉíÒÔ¼°ÆäËû³ÉÔ±ÄØ£¿
#define list_entry(ptr,type,member)    \
    container_of(ptr,type,member)
¶øcontainer_of(ptr,type,member)ºê¶¨ÒåÔÚinclude/list/kernel.hÖÐ
#define container_of(ptr,type,member)    ({
    const typeof( ((type *)0)->member) *__ptr=ptr;
    (type *)( (char *)__ptr - offsetof(type,member));})
    ÉÏÃæµÄºêÓм¸µãÐèÒª½âÊÍ£º
1£©typeof(type) ºê
    typeof(type) ºê·µ»Ø±äÁ¿typeµÄÀàÐÍ£¬ÀýÈ磺int a; typeof(a) b;µÈ¼ÛÓÚint b;
2£©offsetof(type,member)ºê
    Ëü¶¨ÒåÔÚinclude/linx/stddef.hÖУ¬ÈçÏ£º
#define offsetof(TYPE, MEMBER)  ((size_t) &((TYPE *)0)->MEMBER)
Õâ¸öºê·µ»ØmemberÔÚtypeÀàÐÍÖÐµÄÆ«ÒÆÁ¿£¬typeÊÇÒ»¸ö½á¹¹£¬ÀýÈ磺
typeof(list_head,next);·µ»Ø0£¬Ò²¾ÍÊÇ·µ»ØÏà¶ÔÓڽṹÆðʼµØÖ·µÄÆ«ÒÆÁ¿¡£
3£©ÎªÊ²Ã´ÒªÊ¹ÓÃtypeof(((type *)0)->member)À´¶¨ÒåÖ¸Õë __ptr£¬¶ø²»ÊÇÕâÑù£º
const typeof(member) *__ptr=ptr;£¿
    Æäʵ£¬Õâ¸öºÜ¼ò


Ïà¹ØÎĵµ£º

linux wirelessÏà¹ØÍøÕ¾


http://linuxwireless.org/
  »òÊÇ http://wireless.kernel.org/
http://wireless.kernel.org/mac80211book/
http://www.hpl.hp.com/personal/J ... Linux/Wireless.html
http://madwifi.org/
http://ipw2200.sourceforge.net/
http://ieee80211.sourceforge.net/
ÖÕÓÚÕÒµ½×éÖ¯ÁË£¬ÓеÄѧÁË ......

Linuxʱ¼äÉèÖÃ

Ê±ÇøÉ趨:
Ö÷ÒªÎļþ
/etc/sysconfig/clock
Óñ±¾©Ê±¼äµÄÕýÈ·ÄÚÈÝÓ¦¸ÃÊÇ
TIMEZONE="Asia/Beijing"
DEFAULT_TIMEZONE="Asia/Beijing"
ͬʱȷ±£ /etc/localtimeÎļþÊÇ/usr/share/zoneinfo/Asia/BeijingµÄ¿½±´
±£³Ö¸üÐÂ:
ÔÚ/etc/crontabÖмÓÈëÒ»ÐÐ
10 5 * * * root /usr/sbin/ntpdate 221.139.48.11 && /sbin/ ......

linuxÏÂʵʱ¼ì²âÍøÂç´ø¿íµÄС¹¤¾ßbmon

ÔÚlinuxµÄprocÎļþϵͳÖУ¬Í¨¹ý²é¿´/proc/net/devÎļþ
¿ÉÒԵõ½Ã¿¸öÍøÂç½Ó¿ÚµÄÍÌÍÂÁ¿£¬µ«ÊÇÎÞ·¨»ñµÃʵʱ´ø¿í
×î½ü·¢ÏÖÁËÒ»ÖÖ»ùÓÚncurses¿âµÄС³ÌÐòbmon£¬¿ÉÒÔ»ñµÃʵʱ´ø¿í
Example:
Ö´ÐÐ
[root@debian ~]# bmon -o ascii -p eth0
Interface RX Rate RX # TX Rate TX #
eth0 0.00B 0.0 0.00B 0.0
eth0 0.00B 0.0 ......

LinuxÏÂcoreÎļþµ÷ÊÔ·½·¨


LinuxÏÂcoreÎļþµ÷ÊÔ·½·¨


ÔÚ³ÌÐò²»Ñ°³£Í˳öʱ£¬Äں˻áÔÚµ±Ç°¹¤×÷Ŀ¼ÏÂÉú³ÉÒ»¸öcoreÎļþ£¨ÊÇÒ»¸öÄÚ´æÓ³Ïñ£¬Í¬Ê±¼ÓÉϵ÷ÊÔÐÅÏ¢£©¡£Ê¹ÓÃgdbÀ´²é¿´coreÎļþ£¬¿ÉÒÔָʾ³öµ¼Ö³ÌÐò³ö´íµÄ´úÂëËùÔÚÎļþºÍÐÐÊý¡£
1.coreÎļþµÄÉú³É¿ª¹ØºÍ´óСÏÞÖÆ
 1£©Ê¹ÓÃul ......

ÕÆÎÕ Linux ѧϰ·½·¨

     ¡¡Èç¹ûÄã°®ºÃѧϰ֪ʶ£¬ÓÈÆäÊÇLinux²Ù×÷ϵͳ֪ʶ£¬Ëæ×ÅLinuxÓ¦ÓõÄÀ©Õ¹£¬Ðí¶àÅóÓÑ¿ªÊ¼½Ó´¥Linux£¬¿ÉÄã²»ÖªµÀÈ¥ÄÄÀïÕÒµ½ÕâЩ֪ʶ£¬À´ÕâÀÈÃÄã¸ü¼ÓÁ˽âLinuxѧϰ·½·¨¡£ÈÃÄãÈ«ÃæÕÆÎÕLinuxѧϰ·½·¨¡£
1£®Ñ§Ï°µÄÄ¿µÄ
¡¡¡¡Í¨¹ýLinuxµÄÑ§Ï°ÕÆÎÕUNIXµÄÄ¿µÄÏë±Ø²»Óöà˵ÁË£¬ÔÚÕâ¸öÍøÂçÈ˲ÅÉí¼Û±¶ÔöµÄÄê´ú£¬Ï ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ