1 ǶÈëʽLinuxϵͳÆô¶¯Ê±Ðò
Ŀǰ£¬Ç¶ÈëʽϵͳµÄÓ²¼þƽ̨ºÍÓ¦Ó÷½ÏòÇø±ðºÜ´ó£¬µ«×ÜÌåÆô¶¯Á÷³ÌÒ»Öµġ£ÕâÀïµÄϵͳÆô¶¯ÊÇÖ¸´ÓÓû§Ö´ÐÐÉϵç/¸´Î»²Ù×÷£¬µ½ÏµÍ³¿ªÊ¼ÌṩÓû§¿É½ÓÊյķþÎñˮƽËùÐèÒªµÄ¹ý³Ì¡£µäÐ͵ÄÉϵç/¸´Î»Ê±ÐòÈç±í1ËùÁС£
2 Linux¿ìËÙÆô¶¯·½·¨
Ŀǰ£¬Ò»Ð©LinuxµÄ·¢Ðа汾ÒѾ¶ÔÆô¶¯ËٶȽøÐÐÁËÓÅ»¯¡£Èç¹ûÀûÓñê×¼Linux½øÐпª·¢£¬ÔòÆô¶¯ËٶȵÄÌá¸ßÖ÷ÒªÊÇͨ¹ýÄÚºËÅäÖú͸÷ÖÖ²¹¶¡°üÀ´ÊµÏֵġ£ÏÂÃæ·ÖÎö¿ìËÙÆô¶¯µÄһЩ¹Ø¼ü¼¼Êõ¡£
±í1 ǶÈëʽLinuxϵͳÆô¶¯Ê±Ðò
2.1 FirmwareºÍBootloader½×¶Î
Ä¿±ê°åÒ»µ©È·¶¨£¬FirmwareÔËÐеÄʱ¼ä¾ÍÎÞ·¨¸Ä±äÁË£¬FlashºÍRAMµÄ¶ÁдËÙ¶ÈÒ²¾ÍËæÖ®È·¶¨ÁË¡£µ«
Èç¹û¸´Î»Ê±Äܹ»ÈƹýFirmwareºÍBootloader£¬¼´ÔÊÐíÔËÐÐÖеÄÄں˼ÓÔØÒÔ¼°ÔËÐÐÁíÒ»¸öÄںˣ¬¿ÉÒÔËõ¶ÌÆô¶¯µÄʱ¼ä¡£µäÐ͵ÄʵÏÖÓÐKexec£¬ËüÓÐ2¸ö×é¼þ£¬¼´Óû§¿Õ¼ä×é¼þkexectoolsºÍÄں˲¹¶¡¡£ÁíÍâÒ»ÖÖ°ì·¨ÊÇÔÚÄÚºËÃüÁîÐÐÖмÓÈëreboot=softÊý£¬Í¬Ñù¿ÉÒÔÌø¹ýFirmware£¬µ«ÊÇȱµãÔÚÓÚÎÞ·¨´ÓÓû§¿Õ¼äµ÷Óá£
¶ÔÓÚÕý³£Æô¶¯£¬¿ÉÒÔÑ¡ÔñËٶȱȽϿìµÄBootloader£¬²¢¶ÔÄں˽øÐÐСÐÍ»¯´¦Àí£»»¹¿ÉÒÔʹÓøßËÙµÄÓ³Ïñ¸´ÖƼ¼Êõ£¨ÈçDMA2RAM£©£¬´Ó¶øËõ¶Ì¸´ÖƵÄʱ¼ä¡£ÎªÁËËõ¶Ì½âѹÏûºÄµÄʱ¼ä£¬¿ÉѰÇó±È½Ï¸ßÐ ......
ÇëÕÒͬѧ°ïæװÁËlinuxµÄ²Ù×÷ϵͳ£¬ubuntu9.1£¬´Ó´ËÎÒҲ̤ÉÏÁË˫ϵͳµÄÕ÷³Ì……
²»¹ýÕâ¸ö¹ý³Ì²¢²»ÊÇÒ»·«·ç˳µÄ¡£
Ê×ÏÈÒ»¸öºÜ´óµÄÎÊÌ⣬¾ÍÊDz»ÄÜÉÏÍø£¬Ñ§Ð£µÄ¿Í»§¶ËÔÚlinuxϲ»ÄÜʹÓ㬾Ý˵ҪÓÃÒ»¸öʲôÈí¼þ²ÅÐУ¬Õâ¸öÎÊÌâ´ý½â¾ö¡£
Æä´Î¾ÍÊÇ×ÖÌåÎÊÌ⣬linuxÏÂ×Ô´øµÄ×ÖÌåÌ«ÉÙ£¬ºÜ¶à¶«Î÷¶¼ÏÔʾ²»Õý³£¡£´Ówindows7Ï¿½ÁËËùÓеÄ×ÖÌåµ½ubuntuµÄ×ÖÌåÎļþ¼ÐÖУ¬°ì¹«Èí¼þÊÇûÎÊÌâÁË£¬²»¹ýpdfÎļþÒÀÈ»ÏÔʾ²»Õý³£¡£
linuxϵͳºÍwindowsʹÓÃÆðÀ´È·ÊµÓÐÐí¶à²»Í¬Ö®´¦£¬ÏÖÔÚ»¹ºÜ²»ÊÊÓ¦£¬²»¹ýÎÒÏàÐÅÎÒ»áϰ¹ßµÄ£¡
ºÃºÃѧϰlinux£¬ÎªÒÔºó¹¤×÷×ö×¼±¸£¡
Yeah~ ......
linuxµÄ/etcÏÂÃæµÄprofileÎļþ¼Ç¼ÁËһЩËùÓÐÓû§¹«ÓõĻ·¾³±äÁ¿£¬rc.local¼Ç¼Óû§µÇ½µÄʱºòÒªÖ´ÐеÄshellÃüÁî¡£¸÷¸öÓû§µÄhomeĿ¼ÏÂÒ²ÓÐ.bashprofileÓÃÓÚÅäÖÃÓû§×Ô¼ºµÄ»·¾³±äÁ¿,.bashrcÓû§µÇ½µÄʱºòÖ´ÐеÄÃüÁî¡£
linuxÓÐ×Ô¼ºÒ»Ì×ÍêÕûµÄÆô¶¯Ìåϵ£¬×¥×¡ÁËlinuxÆô¶¯µÄÂöÂ磬linuxµÄÆô¶¯¹ý³Ì½«²»ÔÙÉñÃØ¡£
±¾ÎÄÖмÙÉèinittabÖÐÉèÖõÄinit treeΪ£º
/etc/rc.d/rc0.d
/etc/rc.d/rc1.d
/etc/rc.d/rc2.d
/etc/rc.d/rc3.d
/etc/rc.d/rc4.d
/etc/rc.d/rc5.d
/etc/rc.d/rc6.d
/etc/rc.d/init.d
Ŀ¼
1. ¹ØÓÚlinuxµÄÆô¶¯
2. ¹ØÓÚrc.d
3. Æô¶¯½Å±¾Ê¾Àý
4. ¹ØÓÚrc.local
5. ¹ØÓÚbashÆô¶¯½Å±¾
6. ¹ØÓÚ¿ª»ú³ÌÐòµÄ×Ô¶¯Æô¶¯
1. ¹ØÓÚlinuxµÄÆô¶¯
initÊÇËùÓнø³ÌµÄ¶¥²ã
init¶ÁÈ¡/etc/inittab£¬Ö´ÐÐrc.sysinit½Å±¾
(×¢ÒâÎļþÃûÊDz»Ò»¶¨µÄ,ÓÐЩunixÉõÖÁ»á½«Óï¾äÖ±½ÓдÔÚinittabÖÐ)
rc.sysinit½Å±¾×÷Á˺ܶ๤×÷:
init $PATH
config network
start swap function
set hostname
check root file system, repair if needed
check root space
....
rc.sysinit¸ù¾ÝinittabÖ´ÐÐrc?.d½Å±¾
linuxÊǶàÓû§ÏµÍ³£¬gettyÊǶàÓû§Óëµ¥Óû§µÄ·ÖË®Áë
ÔÚgetty֮ǰÔËÐеÄÊ ......
11ÔÂ9ÈÕÏûÏ¢£¬¾Ý¹úÍâýÌ屨µÀ£¬Î¢ÈíǰÑз¢ÈËÔ±¿Ë¹¿â¶ûµÙ˹(Keith Curtis)½üÈÕ±íʾ£¬×¨ÊôÈí¼þ(proprietary software)³ÙÔ罫ÃðÍö£¬Ãâ·ÑµÄLinux½«È¡¶ø´úÖ®¡£
¿â¶ûµÙ˹ÈÏΪ£¬Ãâ·ÑÈí¼þ×îÖÕ½«Õ½Ê¤¸¶·ÑÈí¼þ£¬³ÉΪһÖÖÇ÷ÊÆ¡£Ä¿Ç°£¬Ðí¶àÈËÈÏΪÃâ·ÑÈí¼þ²»¿É¿¿£¬µ«ÕâÖÖ¹ÛÄî»á²»¶Ï¸Ä±ä£¬Ö±ÖÁÃâ·ÑÈí¼þ³ÉΪÖ÷Á÷¡£
ÖÁÓÚ΢ÈíµÄδÀ´³ö·£¬¿â¶ûµÙ˹ÈÏΪ£¬Î¢ÈíÓ¦¸ÃÍÆ³ö×Ô¼ºµÄLinuxϵͳ¡£Èç¹û΢ÈíÕâÑù×ö£¬ºÜÈÝÒ×¢¶ÏLinuxÊг¡¡£
¿â¶ûµÙ˹»¹³Æ£¬ËûÔøÖÂÐÅ΢ÈíCEOÊ·µÙ·ò±«¶ûĬ(Steve Ballmer)£¬½¨Òé΢ÈíÌṩLinuxϵͳ£¬µ«±«¶ûĬ¶Ô´Ë²¢²»¸ÐÐËȤ¡£ ......
Linuxϵͳµ÷ÓÃÁбí
±¾ÎÄÁгöÁ˴󲿷ֳ£¼ûµÄLinuxϵͳµ÷Ó㬲¢¸½ÓмòÒªÖÐÎÄ˵Ã÷¡£
ÒÔÏÂÊÇLinuxϵͳµ÷ÓõÄÒ»¸öÁÐ±í£¬°üº¬Á˴󲿷ֳ£ÓÃϵͳµ÷ÓúÍÓÉϵͳµ÷ÓÃÅÉÉú³öµÄµÄº¯Êý¡£Õâ¿ÉÄÜÊÇÄãÔÚ»¥ÁªÍøÉÏËùÄÜ¿´µ½µÄΨһһƪÖÐÎÄ×¢Ê͵ÄLinuxϵͳµ÷ÓÃÁÐ±í£¬¼´Ê¹ÊǼòµ¥µÄ×ÖĸÐòÓ¢ÎÄÁÐ±í£¬ÄÜ×öµ½ÕâôÍêȫҲÊǺܺ±¼ûµÄ¡£
°´ÕÕ¹ßÀý£¬Õâ¸öÁбíÒÔman pagesµÚ2½Ú£¬¼´ÏµÍ³µ÷ÓýÚΪÀ¶±¾¡£°´ÕÕ±ÊÕßµÄÀí½â£¬¶ÔÆä×÷ÁË´óÖµķÖÀ࣬ͬʱҲ×÷ÁËһЩССµÄÐ޸ģ¬É¾È¥Á˼¸¸ö½ö¹©ÄÚºËʹÓ㬲»ÔÊÐíÓû§µ÷ÓõÄϵͳµ÷Ó㬶Ըö±ð±¾ÈËÉÔ¾õ²»Í׵ĵط½×÷ÁËһЩСµÄÐ޸쬲¢¶ÔËùÓÐÁгöµÄϵͳµ÷Óø½ÉϼòҪעÊÍ¡£
ÆäÖÐÓÐһЩº¯ÊýµÄ×÷ÓÃÍêÈ«Ïàͬ£¬Ö»ÊDzÎÊý²»Í¬¡££¨¿ÉÄܺܶàÊìϤC++ÅóÓÑÂíÉϾÍÄÜÁªÏëÆðº¯ÊýÖØÔØ£¬µ«ÊDZðÍüÁËLinuxºËÐÄÊÇÓÃCÓïÑÔдµÄ£¬ËùÒÔÖ»ÄÜÈ¡³É²»Í¬µÄº¯ÊýÃû£©¡£»¹ÓÐһЩº¯ÊýÒѾ¹ýʱ£¬±»ÐµĸüºÃµÄº¯ÊýËù´úÌæÁË£¨gccÔÚÁ´½ÓÕâЩº¯Êýʱ»á·¢³ö¾¯¸æ£©£¬µ«ÒòΪ¼æÈݵÄÔÒò»¹±£Áô×Å£¬ÕâЩº¯ÊýÎÒ»áÔÚÇ°Ãæ±êÉÏ“*”ºÅÒÔÊ¾Çø±ð¡£
Ò»¡¢½ø³Ì¿ØÖÆ£º
fork
´´½¨Ò»¸öнø³Ì
clone
°´Ö¸¶¨Ìõ¼þ´´½¨×Ó½ø³Ì
execve
ÔËÐпÉÖ´ÐÐÎļþ
exit
ÖÐÖ¹½ø³Ì
_exit
Á ......
1 ͬ²½¸ÅÒª
ÔÚ¼ÆËã»úÖлòÉú»îÖУ¬¾³£Óöµ½ÕâÑùÒ»ÖÖÇé¿ö£º¶à¸ö·ÃÎÊÕß¶Ôͬһ¸ö×ÊÔ´½øÐзÃÎÊ¡¢²Ù×÷£¬ÕâÀïÃæÉæ¼°µ½µÄÒ»¸ö¹Ø¼üÄÚÈݾÍÊÇÈçºÎͬ²½£¬¼´Ôõô±£Ö¤¸Ã´Î·ÃÎʵÄÄÚÈÝÊÇËùÆÚ´ýµÄ¡£¼òµ¥µÄÀý×Ó£¬¼×Ï£Íû·ÃÎÊÒ»¸ö×ÊÔ´£¬¸Ã×ÊÔ´¸üÐÂÈÕÆÚΪ×òÌ죬µ«ÒÒÈ´ÔÚ¼×·ÃÎÊǰµÄ²åÁËÒ»½Å£¬¶Ô×ÊÔ´×öÁËÐ޸ģ¬ÄÇô¼×·ÃÎʵ½µÄ¾Í²»ÊÇËùÆÚ´ýµÄÄÚÈÝÁË£¬ºóÐøµÄ²Ù×÷¿ÉÄܾͻá³öÏÖÎÊÌâ¡£Õâ¸öÀý×Ó¿ÉÄܲ»Ì«ºÏÊÊ£¬Äã¿ÉÄÜ»á˵£¬ÄǼ×Ó¦¸Ãÿ´Î·ÃÎʵͼÆÚ´ý×îеIJ»¾ÍºÃÁËÂð£¿ËùÒÔ˵Õâ¸öÀý×Ó²»Ì«ºÏÊÊ£¬ÓÐûÓиüºÃµÄ£¿ÎÒ¿ÉÒÔÀí½âµÄ£¿
ÔÚÕâ¸ö¼òµ¥µÄÀý×ÓÖУ¬Í¬²½Éæ¼°µ½µÄ¼¸¸ö¹Ø¼üµãÊÇ£º
- ¹²Ïí×ÊÔ´£º´ó¼ÒËùÕù¶áµÄ×ÊÔ´£»
- ²¢·¢·ÃÎÊ£º´ó¼Òͬʱ¶Ô¸Ã×ÊÔ´½øÐзÃÎʲÙ×÷£¬ÕâÊǶàCPUͬʱ¶ÔÕâÒ»¸ö×ÊÔ´½øÐвÙ×÷£»
- ÇÀÕ¼·ÃÎÊ£ºÎÒÆÚ´ýûÈËÔÚÎÒ֮ǰ¶Ô×ÊÔ´½øÐÐÁËÐ޸쬵«ÎÒÈ´ÎÞ·¨±£Ö¤£¬¶àÈÎÎñµÄÇé¿öϾÍÊÇÕâÑù¡£
±¾ÎÄÖ÷Òª×ܽáһЩͬ²½·½·¨£¬ÆäÖаüÀ¨linuxÄÚºËͬ²½»úÖÆ ......