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

LinuxÄڴ棺ÄÚ´æ¹ÜÀíµÄʵÖÊ

1. Äں˳õʼ»¯£º
    * Äں˽¨Á¢ºÃÄÚºËҳĿ¼ҳ±íÊý¾Ý¿â£¬¼ÙÉèÎïÀíÄÚ´æ´óСΪlen£¬Ôò½¨Á¢ÁË[3G--3G+len]::[0--len]ÕâÑùµÄÐ鵨ַvaddrºÍÎïÀíµØÖ·paddrµÄÏßÐÔ¶ÔÓ¦¹ØÏµ£»
    * Äں˽¨Á¢Ò»¸öpageÊý×飬pageÊý×éºÍÎïÀíÒ³ÃæÏµÁÐÍêÈ«ÊÇÏßÐÔ¶ÔÓ¦£¬pageÓÃÀ´¹ÜÀí¸ÃÎïÀíÒ³Ãæ×´Ì¬£¬Ã¿¸öÎïÀíÒ³ÃæµÄÐ鵨ַ±£´æÔÚpage->virtualÖУ»
    * Äں˽¨Á¢ºÃÒ»¸öfree_list£¬½«Ã»ÓÐʹÓõÄÎïÀíÒ³Ãæ¶ÔÓ¦µÄpage·ÅÈëÆäÖУ¬ÒѾ­Ê¹ÓõľͲ»Ó÷ÅÈëÁË£»   2. ÄÚºËÄ£¿éÉêÇëÄÚ´ævaddr = get_free_pages(mask,order)£º
    * ÄÚ´æ¹ÜÀíÄ£¿é´Ófree_listÕÒµ½Ò»¸öpage£¬½«page->virtual×÷Ϊ·µ»ØÖµ£¬¸Ã·µ»ØÖµ¾ÍÊǶÔÓ¦ÎïÀíÒ³ÃæµÄÐ鵨ַ£»
    * ½«page´Ófree_listÖÐÍÑÀ룻
    * Ä£¿éʹÓøÃÐéÄâµØÖ·²Ù×÷¶ÔÓ¦µÄÎïÀíÄڴ棻

3. ÄÚºËÄ£¿éʹÓÃvaddr£¬ÀýÈçÖ´ÐÐÖ¸Áîmov(eax, vaddr)£º
    * CPU»ñµÃvaddrÕâ¸öÐ鵨ַ£¬ÀûÓý¨Á¢ºÃµÄҳĿ¼ҳ±íÊý¾Ý¿â£¬ÕÒµ½Æä¶ÔÓ¦µÄÎïÀíÄÚ´æµØÖ·£»
    * ½«eaxµÄÄÚÈÝдÈëvaddr¶ÔÓ¦µÄÎïÀíÄÚ´æµØÖ·ÄÚ£»
  4. ÄÚºËÄ£¿éÊÍ·ÅÄÚ´æfree_pages(vaddr,order)£º
    * ÒÀ¾ÝvaddrÕÒµ½¶ÔÓ¦µÄpage£»
    * ½«¸Ãpage¼ÓÈëµ½free_listÖУ»   5. Óû§½ø³ÌÉêÇëÄÚ´ævaddr = malloc(size)£º
    * ÄÚ´æ¹ÜÀíÄ£¿é´ÓÓû§½ø³ÌÄÚ´æ¿Õ¼ä(0--3G)ÖÐÕÒµ½Ò»¿é»¹Ã»Ê¹ÓõĿռävm_area_struct(start--end)£»
    * Ëæºó½«Æä²åÈëµ½task->mm->mmapÁ´±íÖУ»
  6. Óû§½ø³ÌдÈëvaddr(0-3G)£¬ÀýÈçÖ´ÐÐÖ¸Áîmov(eax, vaddr)£º
    * CPU»ñµÃvaddrÕâ¸öÐ鵨ַ£¬¸ÃÐ鵨ַӦ¸ÃÒѾ­ÓÉglibc¿âÉèÖúÃÁË£¬Ò»¶¨ÔÚ3GһϵÄij¸öÇøÓò£¬¸ù¾ÝCR3¼Ä´æÆ÷Ö¸ÏòµÄcurrent->pgd²éµ±Ç°½ø³ÌµÄҳĿ¼ҳ±íÊý¾Ý¿â£¬·¢ÏÖ¸Ãvaddr¶ÔÓ¦µÄҳĿ¼±íÏîΪ0£¬¹Ê²úÉúÒì³££»
    * ÔÚÒì³£´¦ÀíÖУ¬·¢ÏÖ¸Ãvaddr¶ÔÓ¦µÄvm_area_structÒѾ­


Ïà¹ØÎĵµ£º

ÓÃLinuxÏÂPerl½Å±¾Á¬½ÓSQLServer

×¼±¸¹¤×÷:
¡¡¡¡Óõ½µÄperl À©Õ¹×é¼þ(modules)ÔÚÉÏÆªÌù³ö.( win32::odbc Ä£¿é
)ÏÂÔØ×é¼þºó°´ÕÕReadmeÎļþ°²×°µ¹ÏìӦĿ¼.ÅäÖúÃÏàÓ¦µÄodbcÊý¾ÝÔ´.
¡¡¡¡
¡¡¡¡³ÌÐòʵÏÖ:
¡¡¡¡Ê¹ÓÃ
¡¡¡¡use
Win32::ODBC;
¡¡¡¡
¡¡¡¡Óï¾ä°üº¬Ó¦Ê¹ÓõÄÄ£¿éÊÇwin32::odbc,д³öÊý¾Ý¿â
Á¬½Ó×Ö·û´®
¡¡¡¡
¡¡¡¡$DSN = "DSN =
My DSN ......

Linuxϵͳ¹ÜÀíʵ¼ù(3)£ºGRUBϵͳÒýµ¼ÅäÖÃ

    °²×°ubuntuʱ£¬grubĬÈϰ²×°ÔÚµÚÒ»¸öÓ²ÅÌ(hd0)µÄmbrÖУ¬Æäʵ¾ÍÊǰÑÒýµ¼Îļþboot.imgдÈëÓ²Å̵Ämbr,µ±È»,Óû§Ò²¿ÉÒÔÑ¡Ôñ²»Ð´ÈëÓ²ÅÌmbr ¶øÊÇдÈëlinux·ÖÇøµÄÒýµ¼ÉÈÇø¡£grubÒÔfd±íʾÈíÅÌ£¬hd±íʾӲÅÌ(°üº¬IDEºÍSCSIÓ²ÅÌ)¡£ÒÔǰ°æ±¾µÄgrubÆäÉ豸ÊÇ´Ó0¿ªÊ¼±àºÅ,·ÖÇøÒ²ÊÇ´Ó0¿ªÊ¼,Ö÷·ÖÇø´Ó0-3,Âß¼­·ÖÇø´Ó4¿ªÊ¼, ......

¹ØÓÚLINUXÈëÃŵÄһЩÕûÀí²ÄÁÏ

LinuxÒ»°ãÓÐËĸöÖ÷Òª²¿·Ö£ºÄںˡ¢Shell¡¢Îļþ½á¹¹ºÍʵÓù¤¾ß¡£
1. LinuxÄÚºË
ÄÚºËÊÇϵͳµÄÐÄÔ࣬ÊÇÔËÐгÌÐòºÍ¹ÜÀíÏñ´ÅÅ̺ʹòÓ¡»úµÈÓ²¼þÉ豸µÄºËÐijÌÐò¡£Ëü
´ÓÓû§ÄÇÀï½ÓÊÜÃüÁî²¢°ÑÃüÁîË͸øÄÚºËÈ¥Ö´ÐС£
½ñÌìLinuxÊÇÒ»¸öÒ»Ì廯Äںˣ¨monolithic kernel£©ÏµÍ³¡£É豸Çý¶¯³ÌÐò¿ÉÒÔÍêÈ«·ÃÎÊÓ²¼þ¡£LinuxÄÚµÄÉ豸Çý¶¯³ÌÐò¿ÉÒÔ· ......

JDK1.6ÔÚLINUXϵݲװÅäÖÃ

JDK1.6ÔÚLINUXϵݲװÊÇÈçºÎ½øÐеÄÄØ£¬ÈÃÎÒÃÇ¿ªÊ¼ÎÒÃǵÄÑÝʾ£º
Ubuntu LinuxÏÂjdkµÄ°²×°ÓëÅäÖÃ
1.JDK1.6°²×°×¼±¸
´Ósun¹«Ë¾ÍøÕ¾www.sun.comÏÂÔØlinux°æ±¾µÄjdk,ÎÒÏÂÔØµÄ°æ±¾ÊÇJDK 6 Update 7,
µØÖ·http://java.sun.com/javase/downloads/index.jsp
jdk-6u7-linux-i586.bin,´ò¿ªÖÕ¶Ë£¬ÓÃcdÃüÁî½øÈëjdkËùÔÚĿ¼,Ö´Ðи´Ö ......

LinuxÄÚºËDRMʵÏÖ·ÖÎö——»ùÓÚi915

1  ½Ó¿Ú
     ÎÒÃÇÏÈ¿´¿´i915_drv.cÀïÃæÉêÃ÷µÄdriver±äÁ¿£º
static struct drm_driver driver = {
 /* don't use mtrr's here, the Xserver or user space app should
  * deal with them for intel hardware.
  */
 .driver_features =
     DRI ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ