ÆÊÎöLinuxϵͳÆô¶¯¹ý³Ì
ÈÝÌáÒª
¡¡¡¡±¾ÎÄÒÔRedHat9.0ºÍi386ƽ̨ΪÀý£¬ÆÊÎöÁË´ÓÓû§´ò¿ªµçÔ´Ö±µ½ÆÁÄ»³öÏÖÃüÁîÐÐÌáʾ·ûµÄÕû¸öLinuxÆô¶¯¹ý³Ì¡£²¢ÇÒ½éÉÜÁËÆô¶¯ÖÐÉæ¼°µ½µÄ¸÷ÖÖÎļþ¡£
¡¡¡¡ÔĶÁLinuxÔ´´úÂ룬ÎÞÒÉÊÇÉîÈëѧϰLinuxµÄ×îºÃ·½·¨¡£ÔÚ±¾ÎĶÔLinuxÆô¶¯¹ý³ÌµÄ½éÉÜÖУ¬ÎÒÃÇÒ²³¢ÊÔ´ÓÔ´´úÂëµÄÊÓ½ÇÀ´¸üÉîÈëµÄÆÊÎö
LinuxµÄÆô¶¯¹ý³Ì£¬ËùÒÔÆäÖÐÒ²¼òµ¥Éæ¼°µ½²¿·ÖÏà¹ØµÄLinuxÔ´´úÂ룬LinuxÆô¶¯Õⲿ·ÖµÄÔ´ÂëÖ÷ҪʹÓõÄÊÇCÓïÑÔ£¬Ò²Éæ¼°µ½ÁËÉÙÁ¿µÄ»ã±à¡£¶øÆô¶¯
¹ý³ÌÖÐÒ²Ö´ÐÐÁË´óÁ¿µÄshell(Ö÷ÒªÊÇbash
shell)Ëùд½Å±¾¡£ÎªÁË·½±ã¶ÁÕßÔĶÁ£¬±ÊÕß½«Õû¸ö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µÄ
Ïà¹ØÎĵµ£º
linuxÐźŻúÖÆÔ¶Ô¶±ÈÏëÏóµÄ¸´ÔÓ£¬±¾ÎÄÁ¦ÕùÓÃ×î¶ÌµÄƪ·ù£¬¶Ô¸Ã»úÖÆ×öÁËÉîÈëϸÖµķÖÎö¡£¶ÁÕß¿ÉÒÔÏȶÁÒ»ÏÂÐźÅÓ¦ÓÃʵÀý£¨ÔÚÐźţ¨Ï£©ÖУ©£¬ÕâÑù¿ÉÒÔ¶ÔÐźŷ¢ËÍÖ±µ½ÏàÓ¦µÄ´¦Àíº¯ÊýÖ´ÐÐÍê±ÏÕâÒ»¹ý³ÌÓиö´óÖµÄÓ¡Ïó¡£±¾Îľ¡Á¿¸ø³öÁ˽Ïк¯ÊýµÄÓ¦ÓÃʵÀý£¬×ÅÖØ˵Ã÷ÕâЩµÄ¹¦ÄÜ¡£
Ò»¡¢Ðźż°ÐźÅÀ´Ô´
Ðźű¾ÖÊ
Ð ......
ÔÎĵØÖ·£ºhttp://blog.csdn.net/Javadino/archive/2008/09/06/2891413.aspx
Òý×Ó:
1.ÔÚLinuxϵͳÖУ¬½ø³Ì״̬³ýÁËÎÒÃÇËùÊìÖªµÄTASK_RUNNING£¬TASK_INTERRUPTIBLE£¬TASK_STOPPEDµÈ£¬»¹ÓÐÒ»¸öTASK_TRACED¡£Õâ±íÃ÷Õâ¸ö½ø³Ì´¦ÓÚʲô״̬£¿
2.strace¿ÉÒÔ·½±ãµÄ°ïÖúÎÒÃǼǼ½ø³ÌËùÖ´ÐеÄϵͳµ÷Óã¬ËüÊÇÈçºÎ¸ú×Ùµ½½ø³ÌÖ´ÐÐµÄ ......
3. GDBµÄʵÏÖ
GDBÊÇGNU·¢²¼µÄÒ»¸öÇ¿´óµÄ³ÌÐòµ÷ÊÔ¹¤¾ß£¬ÓÃÒÔµ÷ÊÔC/C++³ÌÐò¡£¿ÉÒÔʹ³ÌÐòÔ±ÔÚ³ÌÐòÔËÐеÄʱºò¹Û²ì³ÌÐòÔÚÄÚ´æ/¼Ä´æÆ÷ÖеÄʹÓÃÇé¿ö¡£ËüµÄʵÏÖÒ²ÊÇ»ùÓÚptraceϵͳµ÷ÓÃÀ´Íê³ÉµÄ¡£
Æä
ÔÀíÊÇÀûÓÃptraceϵͳµ÷Óã¬ÔÚ±»µ÷ÊÔ³ÌÐòºÍgdbÖ®¼ä½¨Á¢¸ú×Ù¹Øϵ¡£È»ºóËùÓз¢Ë͸ø±»µ÷ÊÔ³ÌÐòµÄÐźÅ(³ýSIGKILL)¶¼»á±»gdb½Ø ......
ÔÚchinaunixÉÏ¿´µ½Ò»¸öÈËдµÄ£¬»òÐí¶Ô×Ô¼ºÑ§Ï°linuxÓеã°ïÖú£¬ËùÒԾͼÇÏÂÀ²£º
·½·¨²½Ö裺
1¡¢»ù´¡ÖªÊ¶£º
Ä¿µÄ£ºÄÜ¿´¶®Ó²¼þ¹¤×÷ÔÀí£¬µ«ÖصãÔÚǶÈëʽÈí¼þ£¬ÌرðÊDzÙ×÷ϵͳ¼¶Èí¼þ£¬Äǽ«ÊÇÎÒµÄÓÅÊÆ¡£
¿ÆÄ¿£ºÊý×ֵ緡¢¼ÆËã»ú×é³ÉÔÀí¡¢Ç¶Èëʽ΢´¦ÀíÆ÷½á¹¹¡£
»ã±àÓïÑÔ¡¢C/C++¡¢±àÒëÔÀí¡¢ÀëÉ¢Êýѧ¡£
Êý¾Ý½á¹ ......