Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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ϵÄhttpd

     µ±ÎÒÃÇÏëÐ¶ÔØhttpd µÄʱºò£¬Ê¹ÓÃrpm -qa httpd µÄʱºò£¬ÎÒÃÇ·¢ÏÖÓкܶàµÄÒÀÀµ°ü¡£ÎÒÃÇÄÍÐĵÄÏëÒ»¸öÒ»¸öµÄÐ¶ÔØµÄʱºò£¨Ê¹ÓÃrpm -e httpd-*£©£¬»¹»á½øÈëËÀÑ­»·¡£
½â¾öµÄ°ì·¨ÊÇ£ºÊ¹Óà rpm -e httpd-* --nodeps˵Ã÷£º¡°*¡±ÊÇͨÅä·û¡£
 
°²×°CentOS5.3µÄʱºò»áĬÈϰ²×°httpd·þÎñ¡£
Ê×ÏȲ鿴 ......

linuxϵÄ/etc/security/limits.confÎļþ

limits.conf Îļþʵ¼ÊÊÇ Linux PAM£¨²åÈëʽÈÏ֤ģ¿é£¬Pluggable Authentication Modules£©ÖÐ pam_limits.so µÄÅäÖÃÎļþ£¬¶øÇÒÖ»Õë¶ÔÓÚµ¥¸ö»á»°¡£
limits.confµÄ¸ñʽÈçÏ£º
username|@groupname type resource limit
username|@groupname£ºÉèÖÃÐèÒª±»ÏÞÖÆµÄÓû§Ãû£¬×éÃûÇ°Ãæ¼Ó@ºÍÓû§ÃûÇø±ð¡£Ò²¿ÉÒÔÓÃͨÅä·û*À´×öËùÓÐÓû§ ......

LinuxÂß¼­¾í¹ÜÀíLVMÏê½â

Ò»¡¢ ǰÑÔ
LVMÊÇÂß¼­¾í¹ÜÀí£¨Logical Volume Manager£©µÄ¼ò³Æ£¬ËûÊǽ¨Á¢ÔÚÎïÀí´æ´¢É豸֮ÉϵÄÒ»¸ö³éÏó²ã£¬ÔÊÐíÄãÉú³ÉÂß¼­´æ´¢¾í,ºÍÖ±½ÓʹÓÃÎïÀí´æ´¢ÔÚ¹ÜÀíÉÏÏà±È,ÌṩÁ˸üºÃÁé»îÐÔ¡£
LVM½«´æ´¢ÐéÄ⻯,ʹÓÃÂß¼­¾í,Äã²»»áÊÜÏÞÓÚÎïÀí´ÅÅ̵ĴóС,ÁíÍâ,ºÍÓ²¼þÏà¹ØµÄ´æ´¢ÉèÖñ»ÆäÒþ²Ø,ÄãÄܲ»ÓÃÍ£Ö¹Ó¦ÓûòÐ¶ÔØÎļþϵͳÀ´µ÷Õû¾í´ó ......

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ºÅ