LinuxµÄÒýµ¼Æô¶¯³ÌÐò
ÀëÉÏһƪÈÕÖ¾ºÜ³¤Ê±¼äÁË£¬Öм䵱ȻÊÇÒòΪ¹ýÄ꣬ÊÂÇéºÜ¶à£¬Êéû¿´¶àÉÙ£¬ÏÖÔÚÓÐʱ¼äÁË£¬ÔÙ·¢Ò»Æª±Ê¼Ç´æµµ£¬ÊǹØÓÚϵͳÆô¶¯¹ý³ÌµÄ£º
Ò»ÇдӼӵ翪ʼ¡£¼ÓµçÒÔºó£¬ËùÓеļĴæÆ÷Çå0£¬Ö»ÓÐCS¼Ä´æÆ÷Ϊȫ1£¬ÓÚÊÇÖ¸ÕëÖ¸ÏòÁË0xffff:0, Õâ¸öµØÖ·ÊÇ ROM-BIOSµØÖ·£¬ ÔÚ´Ë·ÅÖúͳÌÐò¿ªÊ¼×öµÄÊÂÇéÊÇÖ´ÐÐһЩϵͳ¼ì²â£¬²¢ÔÚÎïÀíµØÖ·0´¦¿ªÊ¼³õʼ»¯ÖжÏÏòÁ¿£¬Õâ¸öʱºò³õʼ»¯µÄÖжÏÏòÁ¿£¬¾ÍÊÇÔÚÉÏһƪÈÕÖ¾ÖдòÓ¡“Hello”µÄÄǸöÖжϣ¬Ò²ÊÇÒÔºóÒª±»²Ù×÷ϵͳ¸²¸ÇµÄÖжÏÏòÁ¿¡£È»ºó£¬½«¿ÉÆô¶¯É豸µÄ0ÉÈÇø¼ÓÔØµ½ÄÚ´æ0x7c00´¦£¬²¢Ìø×ªµ½Õâ¸ö³ÌÐò¿ªÊ¼Ö´ÐС£
·Åµ½0x7c00´¦µÄ³ÌÐò¾ÍÊÇÄÚºËÖÐµÄ /boot/bootsect.s, ËüÓÉBIOS¶ÁÈëºóÂíÉÏÕÆÎÕÁËCPUµÄ¿ØÖÆÈ¨£¬´ËʱËü×öµÄµÚÒ»¼þʾÍÊǰÑ×Ô¼ºÒƶ¯ µ½0x90000´¦£¬£¨ÖÁÓÚÕâ¸öÎÊÌâÎÒ²»ÖªµÀÊÇΪʲô£¬ÓÐÈË˵ÊÇΪÁËÏòϼæÈÝ£¬µ«ÎÒ»¹ÕÒ²»µ½Ö¤¾Ý£©È»ºó°ÑÆô¶¯É豸Öкó2kµÄ×Ö½Ú´úÂ룬Ҳ¾ÍÊÇ boot/setup.s¶ÁÈëµ½ÄÚ´æ0x90200´¦£¬È»ºóÓÃBIOSÖжÏÈ¡µ±Ç°Æô¶¯Òýµ¼Å̵IJÎÊý£¬Í¬Ê±ÔÚÆÁÄ»ÉÏÏÔʾ“loading”£¬
¶øÆäËûµÄsystemÄ£¿é£¬°üÀ¨head.s, Ò²ÔÚ´Ëʱ¼ÓÔØµ½ÄÚ´æµÄ0x10000´¦¡£µ½´ËΪֹ£¬Æô¶¯Ä£¿éµÄÈý¸öÎļþ bootsect.s, ,setup.s, head.sºÍsystemÄ£¿é¶¼ÒѾ½øÈëÄÚ´æÁË£¬Ö»ÊÇËûÃǵÄλÖû¹²»¶Ô£¬½ÓÏÂÀ´Òªµ÷ÕûÒ»ÏÂλÖ㬲¢×öÏÂÒ»²½µÄ¹¤×÷¡£ÏÂÒ»²½µÄ¹¤×÷ÊÇÔÚsetup³ÌÐòÖÐÖ´Ðе쬴Ëʱbootsect³ÌÐòÒѾÍê³ÉÁË×Ô¼ºµÄÀúʷʹÃü£¬²¢ÔÚ²»¾ÃµÄ½«À´±»¸²¸Çµô¡£
ÏÂÀ´½øÈësetup£¬ ÔÚÕâ¸ö³ÌÐòÖУ¬Ê×ÏÈÀûÓÃROM-BIOSÖж϶Á»úÆ÷ϵͳÊý¾Ý£¬²¢°ÑÕâЩÊý¾Ý±£´æµ½0x90000µÄλÖã¬ÏÈǰÄÇÕ½¹¦×¿Öø¶ø¿ÉÁ¯µÄbootsect³ÌÐò¾ÍÕâÑùÎÞÇ鵨±»¸²¸ÇµôÁË¡£È»ºó£¬setup³ÌÐò»á°ÑsystemÄ£¿éÏòÏÂÒÆ¶¯£¬ÓÉÔÀ´µÄ0x10000ÒÆ¶¯µ½Äڴ濪ʼµÄ0x0000´¦£¬ÏÖÔÚÏÈǰʹÓõÄbiosÖжÏÒ²±»ÎÞÇéµÄ¸²¸ÇµôÁË¡£½Ó׿ÓÔØÖжÏÃèÊö·û±í¼Ä´æÆ÷ºÍÈ«ÊéÃèÊö·û±í¼Ä´æÆ÷£¬¿ªÆôA20µØÖ·×ÜÏߣ¬ ÖØÐÂÉèÖÃÖжϿØÖÆÐ¾Æ¬£¬ ½«Ó²¼þÖжϺÅÖØÐÂÉèÖ㬠×îºóÉèÖÃCPU¿ØÖƼĴæÆ÷ CR0£¬ ´Ó¶ø½øÈë32λ±£»¤Ä£Ê½£¬²¢Ìø×ªµ½head.s ÖС£
½ÓÏÂÀ´ÊÇhead.s ³ÌÐò¡£¼ÓÔØ¸÷¸öÊý¾Ý¼Ä´æÆ÷£¬ ÖØÐÂÉèÖÃÖжÏÃèÊö·û±íIDT£¬ Ò»¹²256ÏʹËùÓеÄÏî¶¼Ö¸ÏòÒ»¸öÖ»±¨¸æ´íÎóµÄÑÆÖжÏ×Ó³ÌÐò ignore_int, È»ºóÓÖÖØÐÂÉèÖÃÈ«¾ÖÃèÊö·û±ígdt, ½Ó׿ì²âA20ÊÇ·ñ¿ªÆô£¬ ÉèÖùÜÀíÄÚ´æµÄ·ÖÒ³»úÖÆ£¬ תȥִÐÐ /init/main.c ÖÐµÄ main³ÌÐò¡£
ÒÔÉϾÍÊÇLinuxÆô¶¯µÄ´óÖ¹ý³Ì¡£¿´ÕÔ¾¼µÄÊéÉÏ»¹½²µ½ÁËÒ»µã£¬Ò²ÊÇÉÏһƪÈÕÖ¾ÁôϵÄÒ»¸ö¹Ø×Ó£¬Èç¹ûÊÇÓ²ÅÌÆô¶¯µÄ»°£¬»
Ïà¹ØÎĵµ£º
LinuxÄÚºËÇÀռʵÏÖ»úÖÆ·ÖÎö
¡¾ÕªÒª¡¿±¾ÎÄÏê½âÁËLinuxÄÚºËÇÀռʵÏÖ»úÖÆ¡£Ê×ÏȽéÉÜÁËÄÚºËÇÀÕ¼ºÍÓû§ÇÀÕ¼µÄ¸ÅÄîºÍÇø±ð£¬½Ó×Å·ÖÎöÁ˲»¿ÉÇÀÕ¼Äں˵ÄÌØµã¼°ÊµÊ±ÏµÍ³ÖÐʵÏÖÄÚºËÇÀÕ¼µÄ±ØÒªÐÔ¡£È»ºó·ÖÎöÁ˽ûÖ¹ÄÚºËÇÀÕ¼µÄÇé¿öºÍÄÚºËÇÀÕ¼µÄʱ»ú£¬×îºó½éÉÜÁËʵÏÖÇÀÕ¼ÄÚºËËù×öµÄ¸Ä¶¯ÒÔ¼°ºÎʱÐèÒªÖØÐµ÷¶È¡£
¡¾¹Ø¼ü×Ö¡¿ÄÚºËÇÀÕ¼£¬Óû§ÇÀ ......
Ê×ÏÈÀ´Á˽âÒ»ÏÂlinuxÖзÖÇøµÄ¸ÅÄî¡£
ÔÚLinuxÖУ¬·ÖÇøÊÇÕâÑù±íʾµÄ
¡¡¡¡¡¡¡¡/dev/hda
¡¡¡¡¡¡¡¡/dev/hda1
¡¡¡¡¡¡¡¡/dev/hda2
¡¡¡¡¡¡¡¡/dev/hda5
¡¡¡¡¡¡¡¡/dev/sdb1
ÒÔ /dev/hda5 ΪÀý:
ÒòΪÔÚLinuxÖУ¬Ã¿Ò»¸öÉ豸¶¼ÊÇÓà /dev/ Îļþ¼ÐϵÄÒ»¸ö ......
linuxÖ®shell¼ò½é
shellÊÇÓû§ºÍlinuxϵͳ֮¼äµÄ½Ó¿Ú£¨ºÜÏñwindowsϵͳϵÄdos£©£¬linuxÓжàÖÖshell£¬È±Ê¡µÄʹÓÃbash
shell³£ÓõÄ3ÖÖÀàÐÍ£º
1¡¢Bourne shell£¨sh£©£ºUNIXÉÏ×î³õʹÓõÄÀàÐÍ£¬linuxϵͳȱʡµÄshellÊÇBourne Again shell£¨bash£©£¬ËûÊÇBourne shellµÄÀ©Õ¹£¬Ôö¼ÓÁ˺ܶàÌØÐÔ£¬»¹°üº¬ÁËC shellºÍKorn shellµÄÓÅ ......
1£¬LinuxµÄI2CÇý¶¯¼Ü¹¹¸ÅÀÀ
LinuxÖÐI2C×ÜÏßµÄÇý¶¯·ÖΪÁ½¸ö²¿·Ö£¬×ÜÏßÇý¶¯£¨BUS£©ºÍÉ豸Çý¶¯£¨DEVICE£©¡£ÆäÖÐ×ÜÏßÇý¶¯µÄÖ°Ôð£¬ÊÇΪϵͳÖÐÿ¸öI2C×ÜÏßÔö¼ÓÏàÓ¦µÄ¶Áд·½·¨£¨±ÈÈ粻ͬµÄÖ÷оƬ¼¯³ÉµÄI2C¿ØÖÆÆ÷£©¡£µ«ÊÇ×ÜÏßÇý¶¯±¾Éí²¢²»»á½øÐÐÈκεÄͨѶ£¬ËüÖ»ÊÇ´æÔÚÔÚÄÇÀµÈ´ýÉ豸Çý¶¯µ÷ÓÃÆäº ......
ÉùÃ÷£º´Ëµ÷²é½á¹ûÈçÓдíÎ󣬾´ÇëÖ¸Õý¡£Ð»Ð»^_^
LinuxÏÂÎļþ¶ÔÓ¦µÄÊôÐÔ
struct stat {
mode_t st_mode; //Îļþ¶ÔÓ¦µÄģʽ£¬Îļþ¡¢Ä¿Â¼µÈ
ino_t ......