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

linuxÆô¶¯¹ý³Ì

LinuxϵͳÆô¶¯¹ý³Ì
±¾ÎÄÒÔRedHat9.0ºÍi386ƽ̨ΪÀý£¬ÆÊÎöÁË´ÓÓû§´ò¿ªµçÔ´Ö±µ½ÆÁÄ»³öÏÖÃüÁîÐÐÌáʾ·ûµÄÕû¸öLinuxÆô¶¯¹ý³Ì¡£²¢ÇÒ½éÉÜÁËÆô¶¯ÖÐÉæ¼°µ½µÄ¸÷ÖÖÎļþ¡£
µ±Óû§´ò¿ªPCµÄµçÔ´£¬BIOS¿ª»ú×Լ죬°´BIOSÖÐÉèÖÃµÄÆô¶¯É豸(ͨ³£ÊÇÓ²ÅÌ)Æô¶¯£¬½Ó×ÅÆô¶¯É豸Éϰ²×°µÄÒýµ¼³ÌÐòlilo»ògrub¿ªÊ¼Òýµ¼ Linux£¬LinuxÊ×ÏȽøÐÐÄں˵ÄÒýµ¼£¬½ÓÏÂÀ´Ö´ÐÐinit³ÌÐò£¬init³ÌÐòµ÷ÓÃÁËrc.sysinitºÍrcµÈ³ÌÐò£¬rc.sysinitºÍrcµ±Íê³Éϵͳ³õʼ»¯ºÍÔËÐзþÎñµÄÈÎÎñºó£¬·µ»Øinit£»initÆô¶¯ÁËmingettyºó£¬´ò¿ªÁËÖն˹©Óû§µÇ¼ϵͳ£¬Óû§µÇ¼³É¹¦ºó½øÈëÁËShell£¬ÕâÑù¾ÍÍê³ÉÁË´Ó¿ª»úµ½µÇ¼µÄÕû¸öÆô¶¯¹ý³Ì¡£
µÚÒ»²¿·Ö£ºÄں˵ÄÒýµ¼(ºËÄÚÒýµ¼)
¡¡¡¡Red Hat9.0¿ÉÒÔʹÓÃlilo»ògrubµÈÒýµ¼³ÌÐò¿ªÊ¼Òýµ¼Linuxϵͳ£¬µ±Òýµ¼³ÌÐò³É¹¦Íê³ÉÒýµ¼ÈÎÎñºó£¬Linux´ÓËüÃÇÊÖÖнӹÜÁËCPUµÄ¿ØÖÆÈ¨£¬È»ºóCPU¾Í¿ªÊ¼Ö´ÐÐLinuxµÄºËÐÄÓ³Ïó´úÂ룬¿ªÊ¼ÁËLinuxÆô¶¯¹ý³Ì¡£ÕâÀïʹÓÃÁ˼¸¸ö»ã±à³ÌÐòÀ´Òýµ¼Linux£¬ÕâÒ»²½·º¼°µ½LinuxÔ´´úÂëÊ÷Öеēarch/i386/boot”ϵÄÕ⼸¸öÎļþ£ºbootsect.S¡¢setup.S¡¢video.SµÈ¡£
¡¡ ÆäÖÐbootsect.SÊÇÉú³ÉÒýµ¼ÉÈÇøµÄ»ã±àÔ´Â룬ËüÍê³É¼ÓÔØ¶¯×÷ºóÖ±½ÓÌø×ªµ½setup.SµÄ³ÌÐòÈë¿Ú¡£setup.SµÄÖ÷Òª¹¦ÄܾÍÊǽ«ÏµÍ³²ÎÊý£¨°üÀ¨ÄÚ´æ¡¢´ÅÅ̵ȣ¬ÓÉBIOS·µ»Ø£©¿½±´µ½ÌرðÄÚ´æÖУ¬ÒÔ±ãÒÔºóÕâЩ²ÎÊý±»±£»¤Ä£Ê½ÏµĴúÂëÀ´¶ÁÈ¡¡£´ËÍ⣬setup.S»¹½«video.SÖеĴúÂë°üº¬½øÀ´£¬¼ì²âºÍÉèÖÃÏÔʾÆ÷ºÍÏÔʾģʽ¡£×îºó£¬setup.S½«ÏµÍ³×ª»»µ½±£»¤Ä£Ê½£¬²¢Ìø×ªµ½ 0x100000¡£
¡¡¡¡ÄÇô0x100000Õâ¸öÄÚ´æµØÖ·Öдæ·ÅµÄÊÇʲô´úÂ룿¶øÕâЩ´úÂëÓÖÊǴӺζøÀ´µÄÄØ£¿
¡¡¡¡0x100000Õâ¸öÄÚ´æµØÖ·´æ·ÅµÄÊǽâѹºóµÄÄںˣ¬ÒòΪRed HatÌṩµÄÄں˰üº¬ÁËÖÚ¶àÇý¶¯ºÍ¹¦ÄܶøÏԵñȽϴó£¬ËùÒÔÔÚÄں˱àÒëÖÐʹÓÃÁË“makebzImage”·½Ê½£¬´Ó¶øÉú³ÉѹËõ¹ýµÄÄںˣ¬ÔÚRedHatÖÐÄں˳£³£±»ÃüÃûΪvmlinuz£¬ÔÚLinuxµÄ×î³õÒýµ¼¹ý³ÌÖУ¬ÊÇͨ¹ý"arch/i386/boot/compressed/"ÖеÄhead.SÀûÓà misc.cÖж¨ÒåµÄdecompress_kernel()º¯Êý£¬½«ÄÚºËvmlinuz½âѹµ½0x100000µÄ¡£
¡¡¡¡µ±CPUÌøµ½ 0x100000ʱ£¬½«Ö´ÐÐ"arch/i386/kernel/head.S"ÖеÄstartup_32£¬ËüÒ²ÊÇvmlinuxµÄÈë¿Ú£¬È»ºó¾ÍÌø×ªµ½ start_kernel()ÖÐÈ¥ÁË¡£start_kernel()ÊÇ"init/main.c"Öе͍ÒåµÄº¯Êý£¬start_kernel()Öе÷ÓÃÁËһϵÁгõʼ»¯º¯Êý£¬ÒÔÍê³Ékernel±¾ÉíµÄÉèÖá£start_kernel()º¯ÊýÖУ¬×öÁË´óÁ¿µÄ¹¤×÷À´½¨Á¢»ù±¾µÄLinuxºËÐÄ»·¾³¡£Èç¹û˳ÀûÖ´ÐÐÍê start_kernel()£¬Ô


Ïà¹ØÎĵµ£º

ÔÚLinuxÖд´½¨¾²Ì¬¿âºÍ¶¯Ì¬¿â


ÎÒÃÇͨ³£°ÑһЩ¹«Óú¯ÊýÖÆ×÷³Éº¯Êý¿â£¬¹©ÆäËü³ÌÐòʹÓá£
º¯Êý¿â·ÖΪ¾²Ì¬¿âºÍ¶¯Ì¬¿âÁ½ÖÖ¡£
¾²Ì¬¿âÔÚ³ÌÐò±àÒëʱ»á±»Á¬½Óµ½Ä¿±ê´úÂëÖУ¬³ÌÐòÔËÐÐʱ½«²»ÔÙÐèÒª¸Ã¾²Ì¬¿â¡£
¶¯Ì¬¿âÔÚ³ÌÐò±àÒëʱ²¢²»»á±»Á¬½Óµ½Ä¿±ê´úÂëÖУ¬¶øÊÇÔÚ³ÌÐòÔËÐÐÊDzű»ÔØÈ룬Òò´ËÔÚ³ÌÐòÔËÐÐʱ»¹ÐèÒª¶¯Ì¬¿â´æÔÚ¡£
±¾ÎÄÖ÷Ҫͨ¹ý¾ÙÀýÀ´ËµÃ÷ÔÚLinuxÖÐÈçº ......

LinuxÄÚºËVmallocÇøÓò´óСµÄ¼ÆËã

ÒÔǰ×Ô¼º¸ú×ÅÄÚºËÄÚ´æ¹ÜÀíµÄһЩºê¶¨Òå»­¹ýÄÚ´æ·Ö²¼Í¼
±ÈÈçVMALLOC_START, VMALLOC_END, FIXADDR_STARTµÈµÈ
Ò»Ö±ÒÔΪÕâЩֵÔÚʵ¼ÊÄÚºËÖжà¶àÉÙÉÙ»áÓÐÎó²î£¬Ã»Ï뵽ǰ¼¸Ìì¿´ÁËÒ»ÏÂ
¾ÓÈ»ÍêÈ«ÎǺϡ£
À´ÊÔ׿ÆËãÒ»ÏÂVmallocµÄ×Ü´óС£¬ÎªÁ˱ãÓÚ¼ÆËãÎÒÃÇÈÏΪ1GµÄÄں˿ռä´Ó0µØÖ·¿ªÊ¼¡£
Ê×ÏÈÎÒµÄÎïÀíÄڴ泬¹ýÁË896M£¬Òò´Ëhigh_ ......

LinuxÆô¶¯Ê±¼äµÄ¼«ÏÞÓÅ»¯

£¨1£©Ê×ÏÈÊǶÔLinuxÆô¶¯¹ý³ÌµÄ¸ú×ٺͷÖÎö£¬Éú³ÉÏêϸµÄÆô¶¯Ê±¼ä±¨¸æ¡£
¡¡¡¡½ÏΪ¼òµ¥¿ÉÐеķ½Ê½ÊÇͨ¹ýPrintkTime¹¦ÄÜΪÆô¶¯¹ý³ÌµÄËùÓÐÄÚºËÐÅÏ¢Ôö¼Óʱ¼ä´Á£¬±ãÓÚ»ã×Ü·ÖÎö¡£PrintkTime×îÔçΪCELFËùÌṩµÄÒ»¸öÄں˲¹¶¡£¬ÔÚºóÀ´µÄKernel 2.6.11°æ±¾ÖÐÕýʽÄÉÈë±ê×¼Äںˡ£ËùÒÔ´ó¼Ò¿ÉÄÜÔÚа汾µÄÄÚºËÖÐÖ±½ÓÆôÓøù¦ÄÜ¡£Èç¹ûÄãµÄLin ......

LinuxÄÚºËÖÐÓÃÓÚͬ²½µÄ¼¸ÖÖ»úÖÆ¼¯ÖÐÆðÀ´·ÖÎö

LinuxÄÚºËÖÐÓÃÓÚͬ²½µÄ¼¸ÖÖ»úÖÆ¼¯ÖÐÆðÀ´·ÖÎö£¬Ç¿µ÷ÁËËüÃÇÖ®¼äÔÚʵÏÖºÍʹÓÃÉϵIJ»Í¬¡£
¡¡¡¡Í¬²½Í¨³£ÊÇΪÁË´ïµ½¶àÏß³ÌЭͬµÄÄ¿µÄ¶øÉè¼ÆµÄÒ»ÖÖ»úÖÆ£¬Í¨³£°üº¬Òì²½ÐźŻúÖÆºÍ»¥³â»úÖÆ×÷ΪÆäʵÏֵĵײ㡣ÔÚLinux 2.4ÄÚºËÖÐÒ²ÓÐÏàÓ¦µÄ¼¼ÊõʵÏÖ£¬°üÀ¨ÐźÅÁ¿¡¢×ÔÐýËø¡¢Ô­×Ó²Ù×÷ºÍµÈ´ý¶ÓÁУ¬ÆäÖÐÔ­×Ó²Ù×÷ºÍµÈ´ý¶ÓÁÐÓÖÊÇʵÏÖÐźÅÁ¿µÄ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ