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

linuxÄÚ´æ¹ÜÀíÖ®·ÇÁ¬ÐøÎïÀíµØÖ··ÖÅä(vmalloc

Ç°ÃæÎÒÃÇÒѾ­·ÖÎöÁËlinuxÈçºÎÀûÓûï°éϵͳ,slab·ÖÅäÆ÷·ÖÅäÄÚ´æ,ÓÃÕâЩ·½·¨µÃµ½µÄÄÚ´æÔÚÎïÀíµØÖ·É϶¼ÊÇÁ¬ÐøµÄ,È»¶ø,ÓÐЩʱºò,ÿ´ÎÇëÇóÄÚ´æÊ±,ϵͳ¶¼·ÖÅäÎïÀíµØÖ·Á¬ÐøµÄÄÚ´æ¿éÊDz»ºÏÊʵÄ,¿ÉÒÔÀûÓÃС¿éÄÚ´æ“Á¬½Ó”³É´ó¿é¿ÉʹÓõÄÄÚ´æ.ÕâÔÚ²Ù×÷ϵͳÉè¼ÆÖÐÒ²±»³ÆÎª “ÄÚ´æÆ´½Ó”,ÏÔÈ»,ÄÚ´æÆ´½ÓÔÚÐèÒª½Ï´óÄÚ´æ,¶øÄÚ´æ·ÃÎÊÏà±È֮ϲ»ÊÇºÜÆµ·±µÄÇé¿öÏÂÊDZȽÏÓÐЧµÄ.
¡¡¡¡ÔÚlinuxÄÚºËÖÐÓÃÀ´¹ÜÀíÄÚ´æÆ´½ÓµÄ½Ó¿ÚÊÇvmalloc/vfree.ÓÃvmalloc·ÖÅäµÃµ½µÄÄÚ´æÔÚÏßÐÔµØÖ·ÊÇÆ½»¬µÄ,µ«ÊÇÎïÀíµØÖ·ÉÏÊÇ·ÇÁ¬ÐøµÄ.
¡¡¡¡Ò»:×¼±¸ÖªÊ¶:
¡¡¡¡LinuxÓÃvm_struct½á¹¹À´±íʾvmallocʹÓõÄÏßÐÔµØÖ·.vmallocËùʹÓõÄÏßÐÔµØÖ·Çø¼äΪ: VMALLOC_START VMALLOC_END.½èÓÃ<<Understanding.the.Linux.Kernel.3rd>>ÖеÄÒ»¸±²åͼ,ÈçÏÂʾ:
¡¡¡¡´ÓÉÏͼÖÐÎÒÃÇ¿ÉÒÔ¿´µ½Ã¿Ò»¸övmalloc_areaÓÃ4KB¸ô¿ª,ÕâÑù×öÊÇΪÁ˺ÜÈÝÒ×¾ÍÄܲ¶×½µ½Ô½½ç·ÃÎÊ,ÒòΪÖмäÊÇÒ»¸ö “¿Õ¶´”.
¡¡¡¡¶þ:Ïà¹ØµÄÊý¾Ý½á¹¹
¡¡¡¡ÏÂÃæÀ´·ÖÎöÒ»ÏÂvmalloc areaµÄÊý¾Ý½á¹¹:
¡¡¡¡struct vm_struct {
¡¡¡¡void          *addr;             //ÐéÄâµØÖ·
¡¡¡¡unsigned long      size;         //vmµÄ´óС
¡¡¡¡unsigned long      flags;        //vmµÄ±êÖ¾
¡¡¡¡struct page        **pages;      //vmËùÓ³ÉäµÄpage
¡¡¡¡unsigned int       nr_pages;     //page¸öÊý
¡¡¡¡unsigned long      phys_addr;    //¶ÔÓ¦µÄÆðʼÎïÀíµØÖ·
¡¡¡¡struct vm_struct   *next;        //ÏÂÒ»¸övm.ÓÃÀ´ÐγÉÁ´±í
¡¡¡¡}
¡¡¡¡È«¾Ö±äÁ¿vmlistÓÃÀ´¹ÜÀívm¹¹³ÉµÄÁ´±í
¡¡¡¡È«¾Ö±äÁ¿vmlistÓÃÓÚ·ÃÎÊvmlistËùʹÓõÄÐźÅÁ¿
¡¡¡¡¶ÔÓÚvm_structÓÐÁ½¸ö³£ÓõIJÙ×÷: get_vm_area/remove_vm_area
¡¡¡¡get_vm_area:ÓÃÀ´·ÖÅäÒ»¸öºÏÊÊ´óСµÄvm½á¹¹,·ÖÅä³É¹¦Ö®ºó,½«ÆäÁ´Èëµ½vmlistÖÐ,´úÂëÔÚ mm/vmalloc.cÖÐ.ÈçÏÂʾ:
¡¡¡¡//sizeΪvmµÄ´óС
¡¡¡¡struct vm_struc


Ïà¹ØÎĵµ£º

¡¾Ô­´´¡¿ÃþÅÀ¹ö´òÖ®LinuxϵÄOCCI±à³Ì


µÚһƪ¼¼Êõ²©¿Í£¬ÖÕÓÚÓÐȨ˵¡¾×ªÔØÇë×¢Ã÷³ö´¦http://user.qzone.qq.com/329331481¡¿
 
LinuxϵÄOCCI±à³Ì£¬Ò²ÐíÄú¼ò¼òµ¥µ¥¾ÍÊÇʵÏÖÁË£¬µ«¶ÔÓÚÒ»¸ö´Óδ½Ó´¥¹ýOracleÊý¾Ý¿â£¬Ã»ÓÐLinuxϱà³Ì¾­Ñ飬һÇдÓ0ѧÆðµÄ²ËÄñÐÂÊÖÀ´Ëµ£¬µÄÈ·¿ÉνÃþÅÀ¹ö´ò£¬µ±È»£¬Ò²Ñ§µ½Á˲»ÉÙ¶«Î÷¡£
ÔÚÕâ¸ö¹ý³ÌÖУ¬Óöµ½ÁËÌ«¶àµÄÎÊÌ⣬ÔÚÍøÉÏË ......

linux³£ÓõÄһЩÃüÁî

1.ÏÔʾÎļþĿ¼ÃüÁîls(DOSÏÂΪDIR)
¡¡¡¡¡¡¡¡ÔÚLinuxÖÐÓÃlsÃüÁîÏÔʾÎļþ¼°Ä¿Â¼(µ±È»£¬ÄãÈÔȻҲ¿ÉÓÃDIRÃüÁֻ²»¹ýÔÚÕâÀïµÄ²ÎÊý²»Í¬)¡£ÀýÈ磺#ls
¡¡¡¡¡¡¡¡root mnt boot dev bin usr xiong tmp etc games
¡¡¡¡¡¡¡¡¿´ÆðÀ´Ëƺõ¼òµ¥(¾ÍÏ൱ÓÚDOSÖеēDIR/W”)£¬µ«Äã»á·¢ÏÖÄã¿´µ½µÄÓÐЩÄѶ®£¬Á¬ÄÄЩÊÇĿ¼ÄÄÐ©Ê ......

linux¹ÒÔØwindows¹²Ïíºó£¬ÍøÕ¾ÀïµÄͼƬ²»ÄÜÕý³£ÏÔʾ

»·¾³ËµÃ÷
ºô½ÐÖÐÐÄ·þÎñÆ÷
    ϵͳ£ºCentos5
    IP£º192.168.1.146
    httpÍøÕ¾¸úĿ¼/var/www/html/
ÎҵĵçÄÔ
    ϵͳ£ºwindows XP
    IP£º 192.168.4.98
    ¹²ÏíĿ¼£ºD:\bgcrm £¨Ò»¸öphpµÄÍøÕ¾£©
bgcrmµÄÍøÕ¾ ......

Fedora ϱàÒë linux fetion Ó¦ÓóÌÐò

Fedora ϱàÒë linux fetion Ó¦ÓóÌÐòdemo
1: °²×°±àÒë»·¾³
sudo yum install qt4-devel curl-devel gcc glibc-devel
2: È¥ http://www.libfetion.cn/Linux_demoapp_download.html ÏÂÔØ×îеÄlibfetion GUIÔ´´úÂë
3: ʹÓýâѹÃüÁî½âѹÏÂÔØºóµÄÎļþ
tar -zxvf linux-fetion-***.tar.gz (***Ϊ³ÌÐò°æ±¾ºÅ)
4: ½øÈ ......

½â¾ölinux vimÂÒÂëÎÊÌâ

VimºÍËùÓеÄÁ÷ÐÐÎı¾±à¼­Æ÷Ò»Ñù£¬Vim ¿ÉÒԺܺõı༭¸÷ÖÖ×Ö·û±àÂëµÄÎļþ£¬Õ⵱Ȼ°üÀ¨ UCS-2¡¢UTF-8 µÈÁ÷ÐÐµÄ Unicode ±àÂ뷽ʽ¡£È»¶ø²»ÐÒµÄÊÇ£¬ºÍºÜ¶àÀ´×Ô Linux ÊÀ½çµÄÈí¼þÒ»Ñù£¬ÕâÐèÒªÄã×Ô¼º¶¯ÊÖÉèÖá£
Vim ÓÐËĸö¸ú×Ö·û±àÂ뷽ʽÓйصÄÑ¡Ïencoding¡¢fileencoding¡¢fileencodings¡¢termencoding (ÕâЩѡÏî¿ÉÄܵÄȡֵÇë ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ