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


±êÇ©£º
it
·ÖÀࣺ
linux_kernel
×÷ÕߣºSam £¨Õç·å£© sam_code@hotmail.com
Sam֮ǰ¿´2.4
kernelʱ£¬³£¿´µ½List.Ò²×Ðϸ¿´ÁËһϣ¬µ«ÏÖÔÚ³¤ÆÚûÓп´kernel,ûÓÐд³ÌÐò£¬ÒѾ­Íü¼ÇÁ˺ܶࡣ½ñÌìÓÖ¿´Ò»¿´²¢¼Ç¼ÏÂÀ´¡£
Linux
KernelÖУ¬³£³£ÐèҪʹÓÃË«ÏòÁ´±í¡£ÔÚ~/include/linux/list.hÖУ¬¾Í¶¨ÒåÁËË«ÏòÁ´±íºÍ³£ÓõÄfunc ......

LinuxÏÂApache ÅäÖÃÎļþÏê½â


### Section 1: Global Environment
//µ±·þÎñÆ÷ÏìÓ¦Ö÷»úÍ·£¨header£©ÐÅϢʱÏÔʾApacheµÄ°æ±¾ºÍ²Ù×÷ϵͳÃû³Æ
ServerTokens OS
//ÉèÖ÷þÎñÆ÷µÄ¸ùĿ¼
ServerRoot "/etc/httpd"
#ScoreBoardFile run/httpd.scoreboard
//ÉèÖÃÔËÐÐApacheʱʹÓõÄPidFileµÄ·¾¶
PidFile run/httpd.pid
//Èô300ÃëºóûÓÐÊÕµ½»òËͳöÈκÎÊ ......

linux Ï fluent UDF ÓÃµÄ makefile

Linux ϱàÒë fluent UDF ʹµÄ makefile£¬¸ù¾Ý fluent ×Ô´øµÄ makefile Ð޸ĵġ£
µ÷ÓõÄʱºò£¬Ö±½Ó¼ÓÉÏÄ¿±ê£¬Èç
make -f makefile_linux lnamd64
#----------------------------------------------------------------------#
# makefile for user defined functions.
#---------------------------------------------- ......

vmware ÏÂlinuxÉÏÍøÉèÖÃ

http://blog.163.com/lwzy-crack/blog/static/95272042200910218176623/
Ö÷»úΪWindowsXPϵͳ£¬VMwareÐéÄâ»úÀï°²×°Linux²Ù×÷ϵͳ¡£°²×°ÍêVMwareºó£¬Ö÷»úµÄÍøÂçÁ¬½ÓÀïÃæ³öÏÖÁËÁ½¸öеÄÁ¬½Ó£¬¼´VMware Network Adapter VMnet1ºÍVMware Network Adapter VMnet8Èçͼ¡£ÐéÄâ»úÀï°²×°µÄϵͳ¾ÍÊÇ¿¿ÕâÁ½¸öÐéÄâÍø¿¨À´ÁªÍøµÄ¡££¨ÈçÏÂÍ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ