ºìÁªLinuxÃÅ»§
Linux°ïÖú

ѧϰLinuxÄں˵ÄÎóÇø

·¢²¼Ê±¼ä:2006-11-23 09:38:22À´Ô´:ºìÁª×÷Õß:intelligent
¡¡¡¡ÏÈ˵¾äÕý¾­µÄ£ºÆäʵÎÒû×ʸñдÕâƪÎÄÕ£¬ÒòΪ×Ô¼ºÒ²¾ÍÒ»Á½¸öÔÂÒÔÀ´²Å¿ªÊ¼ÓÐËùÁìÎòµÄ¡£Òò´Ë£¬ÕâÀïÓëÆä˵ÊǹØÓÚLinuxÄÚºËѧϰµÄ¾­Ñ飬²»Èç˵ÊÇ×Ô¼ºµÄ½Ìѵ°É£¬Ï£Íû²»ÒªÈÓ¼¦µ°ÔÒÎÒ¡£

¡¡¡¡³£³£ÓÐÈËÎÊ£ºÎÒÏëѧϰÄںˣ¬ÐèҪʲô»ù´¡Âð£¿Linus Torvalds±¾ÈËÊÇÕâÑù»Ø´ðµÄ£ºÄã±ØÐëʹÓùýLinux. Õâ¸ö¡­¡­»¹ÊÇÓеãÌ«·ºÁË°É£¬ÎÒÏëÏÂÃ漸¸ö»ù´¡¿ÉÄÜ»¹ÊÇÐèÒªµÄ£¬¾¡¹Ü²»Ò»¶¨±ØÐ裺

¡¡¡¡1£¬ ¹ØÓÚ²Ù×÷ϵͳÀíÂÛµÄ×î³õ¼¶µÄ֪ʶ¡£²»ÐèҪͨ¶Á²¢Àí½â¡¶²Ù×÷ϵͳ¸ÅÄî¡·¡¶ÏÖ´ú²Ù×÷ϵͳ¡·µÈ¾ÞÖø£¬µ«×ÜÒªÖªµÀ·Öʱ£¨time-shared£©ºÍʵʱ£¨real-time£©µÄÇø±ðÊÇʲô£¬½ø³ÌÊǸöʲô¶«Î÷£¬CPUºÍϵͳ×ÜÏß¡¢ÄÚ´æµÄ¹Øϵ£¨ºÜ´ÖÂÔ¼´¿É£©£¬µÈµÈ¡£

¡¡¡¡2£¬ ¹ØÓÚCÓïÑÔ¡£²»ÐèÒªÒѾ­ºÜ¾«Í¨CÓïÑÔ£¬Ö»ÒªÄÜÊìÁ·±àдC³ÌÐò£¬ÄÜ¿´¶®Á´±í¡¢É¢ÁбíµÈÊý¾Ý½á¹¹µÄCʵÏÖ£¬Óùýgcc±àÒëÆ÷£¬¾Í¿ÉÒÔÁË¡£µ±È»£¬Èç¹ûÒѾ­¾«Í¨CÓïÑÔÏÔÈ»ÊÇ´óÕ¼±ãÒ˵ġ£

¡¡¡¡3£¬ ¹ØÓÚCPUµÄ֪ʶ¡£Õâ¿é¶ù¿ÉÒÔÔÚѧϰÄں˹ý³ÌÖв¹£¬µ«ÕâÑùµÄ»°Äã¾ÍÐèÒª¿´½²½âºÜÏêϸµÄÊ飬±È·½ºóÃ潫»áÌáµ½µÄ¡¶Çé¾°·ÖÎö¡·¡£ÄãÊÇ·ñÊìϤIntel 80386 CPU£¿³¢ÊÔׯشðÕ⼸¸öÎÊÌâÀ´ÅжÏһϣº1£©Ëµ³ö80386µÄÖжÏÃźÍÏÝÚåÃŵÄÇø±ð£»2£©Ëµ³ö±£»¤Ä£Ê½ÓëʵģʽµÄÇø±ð£»3£©¶à´¦ÀíÆ÷»úÆ÷ÉÏ£¬ÆÕͨµÄ¶Á-¸Ä-д»ØÒ»¿éÄÚ´æÕâÑùµÄ¶¯×÷£¬ÎªÊ²Ã´ÐèÒªÌØÊâµÄÊÖ¶ÎÀ´±£»¤¡£µÈµÈ¡£½²½â»ùÓÚÆäËüCPUµÄLinuxÄں˵ÄÊ飬ĿǰºÃÏóÖ»ÓÐÒ»±¾¡¶IA64LinuxÄںˣºÉè¼ÆÓëʵÏÖ¡·©¤©¤Ò²»¹ÊÇIntelµÄ£¬ÆäËü¶¼Êǽ²½â»ùÓÚIA32µÄ¡£

¡¡¡¡ÒÔÉÏËãÊÇ֪ʶ·½Ãæ°É£¬Èç¹û»¹ÒªÔÙ²¹³äÒ»Ìõ£¬ÎÒÏë¾ÍÊÇ£º¶¯ÊÖ±àÒë¹ýÄںˡ£

¡¡¡¡ºÃÁË£¬ÎÒÃǽÓÏÂÀ´×ß¡£ºÃ¶àÈË×°ÉÏLinuxÖ®ºó£¬µÚÒ»¼þÊÂÕÒµ½ÄÚºËÔ´ÂëËùÔڵķ¾¶£¬´ò¿ªÒ»¸öC³ÌÐòÎļþ£¬¿ªÊ¼»©»©»©·­Ò³£¬¿´¿´´óÃû¶¦¶¦µÄLinuxÄں˴úÂëµ½µ×³¤É¶Ä£Ñù©¤©¤È»ºó¹Ø±Õ¡£ÕâÊÇ¿ÉÀí½âµÄ£¬µ«È´²»ÊÇѧϰµÄ·½·¨¡£¸Õ¿ªÊ¼£¬±ØÐë´Ó¶ÁÊéÈëÊÖ¡£ÖÁÉÙÒª¶ÔÄÚºËÓÐÒ»¸öOverviewÖ®ºó£¬²ÅÓпÉÄÜ´ø×ÅÎÊÌâÈ¥ÊÔͼÔĶÁÔ´´úÂë±¾Éí¡£ ÏÂÃæ¾Í½²Ò»ÏÂÎÒ¶Á¹ýµÄ¼¸±¾Ê飺

¡¡¡¡1¡¢¡¶LinuxÄÚºËÉè¼ÆÓëʵÏÖ¡·£¬Ó¢ÎÄÃûLinux Kernel Development£¨ËùÒÔÓÐÈ˽ÐËüLKD£©£¬»úе¹¤Òµ³ö°æÉ磬£¤35£¬ ÃÀ¹úRobert LoveÖø£¬³ÂÀò¾ýÒëÕß¡£ ÆÀ˵£º´ËÊéÊǵ±½ñÊ×ÇüÒ»Ö¸µÄÈëÃÅ×î¼ÑͼÊé¡£×÷ÕßÊÇΪ2.6Äں˼ÓÈëÁËÇÀÕ¼µÄÈË£¬¶Ôµ÷¶È²¿·Ö·Ç³£¾«Í¨£¬¶øµ÷¶ÈÊÇÕû¸öϵͳµÄºËÐÄ£¬Òò´Ë±¾ÊéÊǺÜȨÍþµÄ¡£Õâ±¾Êé½²½âdzÏÔÒ׶®£¬È«ÊéûÓÐÁоÙÒ»Ìõ»ã±àÓï¾ä£¬µ«ÊǸø³öÁËÕû¸öLinux²Ù×÷ϵͳ2.6Äں˵ĸŹۣ¬Ê¹ÄãÄÜͨ¹ýÔĶÁѸËÙ»ñµÃÒ»¸öoverview.¶øÇÒ¶ÔÄÚºËÖнÏΪ»ìÂҵIJ¿·Ö£¨ÈçÏ°벿£©£¬ËüµÄ½²½âÊÇ×î͸³¹µÄ¡£¶ÔûÔõôÉîÈëÄں˵ÄÈËÀ´Ëµ£¬ÕâÊÇÇ¿ÁÒÍƼöµÄÒ»±¾Êé¡£

¡¡¡¡·­Ò룺·­Òëˮƽ¡¢¸ºÔðÈγ̶ȶ¼²»´í£¬µ«ÊÇÓ¡Ë¢´æÔÚһЩ´íÎó¡£ÂòÁË´ËÊéµÄÅóÓÑ¿ÉÒԲο¼ÎÒÔÚLinux¸ß¼¶Ó¦ÓðæµÄ¡¶LinuxÄÚºËÉè¼ÆÓëʵÏÖÖÐÎİ濱Îó¡·£º

¡¡¡¡2¡¢¡¶LinuxÄÚºËÔ´´úÂëÇé¾°·ÖÎö¡·ÉÏ¡¢Ï¡£Ã«µÂ²Ù¡¢ºúÏ£Ã÷Öø£¬Õã½­´óѧ³ö°æÉ磬Éϲᣤ80£¬Ï²ᣤ70. ÆÀ˵£º±¾ÊéÊÇ»ùÓÚ2.4.0Äں˵ģ¬±È½ÏÔ磬ҲûÌý˵»á³öµÚ¶þ°æ¡£Éϲὲ½âÄÚ´æ¹ÜÀí¡¢Öжϡ¢Òì³£Óëϵͳµ÷Óᢽø³Ì¿ØÖÆ¡¢ÎļþϵͳÓ봫ͳUnix IPC£»Ï²ὲ½âsocket¡¢É豸Çý¶¯¡¢SMPºÍÒýµ¼¡£¹ØÓÚÕâÌ×ÊéµÄÆÀ¼Û°ý±á²»Ò»£¬ÎÒ¸öÈËÈÏΪÆäÉî¶ÈÊÇͬÀàÖø×÷ÖÐ×îÓÅÐãµÄ¡£±¾Êé»ùÓÚIntel IA32Ìåϵ£¬ÓÉÓÚºñ¶È´ó£¬ºÜ¶àÌåϵÉϵÄ֪ʶ¶¼ÉÓ´ø½²½âÁË£¬ËùÒÔÈç¹ûÄãÏëÉîÈëÁ˽âÄں˵Ť×÷»úÖƶøÓÖ²»·Ç³£ÊìϤIntel CPUµÄÌåϵ¹¹Ô죬±¾ÊéÊÇ×îºÏÊʵġ£È±µãÊÇ£º°æ±¾½ÏÀÏ£¬Ã»ÓÐTCP/IPЭÒéÕ»²¿·Ö£¨Ëü½²µÄsocketÖ»ÊÇUnixÓòЭÒéµÄ£©£¬Í¼±íÌ«ÉÙ£¬²»ÊʺϳõѧÕßÈëÃÅ¡£»¹ÓоÍÊǶÔѧÉúÅóÓÑÀ´Ëµ£¬¿ÉÄÜÊé¼ÛÆ«¸ß£¬ÕâÑùµÄ»°¿ÉÒÔ¿¼ÂÇÏÈÂòÉϲᣬÒòΪÉϲáÊǺËÐIJ¿·Ö£¬Ï²áÒ»´ó²¿·Ö¶¼ÔÚ½²¾ßÌåPCI/ISA/USBÉ豸µÄÇý¶¯¡£

¡¡¡¡·­Ò룺ûʲô·­Ò룬×÷ÕßÊǹúÈË£¬¶øÇÒÐÐÎÄÁ÷³©¡£±¾ÈËÊé×ÀÉÏÖî¶à¼ÆËã»ú¾­µäͼÊéµ±ÖУ¬ÕâÌ×ÊÇΨһÓÖ¾­µäÓÖÎÞÔĶÁÕÏ°­µÄ¡£

¡¡¡¡ºÃ¶àÅóÓÑÒѾ­°ÑÕâÊé¶Áµ½ÁùÆß±éÁË£¬ÎҺܲÑÀ¢£¬Éϲá²î²»¶à¶ÁÊìÁË£¬Ï²á¾ÍSMP²¿·Ö»¹¿´¹ý©¤©¤µ«Õâ¾Í»¨·ÑÁËÕûÕû1ÄêµÄʱ¼ä£¬»¹ÓкöàŪ²»¶®µÄ¡£ÕâÀï˳±ã˵Ã÷ÁíÍâÒ»¸öÑо¿Äں˳£¼ûµÄÎóÇø£ºÄ¿±êÌ«ÅÓ´ó¡£ÒªÖªµÀLinuxÄںˣ¨×îеÄ2.6.13£©bzip2ѹËõÖ®ºó37M£¬½âѹËõÖ®ºó244M£¬¸ù±¾²»ÊÇÄĸöÈËÄܹ»³Ô͸µÄ¡£¼´Ê¹ÊÇÄں˵ĺËÐÄ¿ª·¢ÍŶÓÖУ¬¿ÖÅÂÒ²Ö»Linus Torvalds¡¢Alan Cox¡¢David Miller¡¢Ingo MolnarÁÈÁÈÊýÈË»áÓбȽÏÈ«ÃæµÄÁ˽⣬ÆäËüÈ˶¼ÊÇ×ö×Ô¼º×¨ÃŵIJ¿·Ö¡£ ÎÒ×Ô¼ºÀ´Ëµ£¬Ä¿Ç°ÒѾ­¾ö¶¨·ÅÆúÄÚ´æ¹ÜÀíµÄÈ«²¿£¨slab²ã¡¢LRU¡¢rbtreeµÈ£©¡¢Îļþϵͳ²¿·Ö¡¢ÍâÉèÇý¶¯²¿·Ö£¬ÔÝʱҲû´òËãŪIA32ÒÔÍâµÄÆäËüÌåϵµÄ²¿·Ö¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 1479 ÌõÆÀÂÛ

  1. 72.36.178.* ÓÚ 2006-11-29 05:52:23·¢±í:

    Great work!
    My homepage | Cool site

  2. intelligent ÓÚ 2006-11-23 09:39:19·¢±í:

    ¡¡¡¡6¡¢±¾²»Êǽ²½âLinuxµÄÊ飺¡¶ÏÖ´úÌåϵ½á¹¹ÉϵÄUnixϵͳ£ºÄں˳ÌÐòÔ±µÄSMPºÍCaching¼¼Êõ¡·£¬ÈËÃñÓʵç³ö°æÉç2003°æ£¬¶¨¼Û£¤39. ±¾ÊéËäÈ»²»Êǽ²½âLinux£¬µ«ÊǶÔËùÓÐUnixÄں˶¼ÊÇÊÊÓõģ¬Êʺ϶ÔSMPºÍCPUµÄCacheÕâЩ×é³ÉÔ­Àí֪ʶ²»ÊǺÜÊìµÄÅóÓÑ£¬¶øÇÒÊǺܶà¹úÍâÅ£ÈËÍƼöµÄÊé¡£ÖÐÎÄ°æ·­Òë·Ç³£¸ºÔð¡£

    ¡¡¡¡»¹ÓиöºÜÖØÒªµÄÎÊÌ⣺ÔõÑùä¯ÀÀÄÚºËÔ´´úÂë¡£ÓеÄÅóÓÑϲ»¶ÔÚWindowsÉϹ¤×÷£¬ÓÃSource Insight£»ÓеÄÔÚLinux£¬ÓÃSource Navigator£»»¹ÓÐרÃÅä¯ÀÀÔ´´úÂëµÄÈí¼þ£¬Ïólxr£¨Linux Cross Reference£©£»»¹ÓÐÓÃctags/ectags/cscopeµÈ£¬ÕâЩ¶¼ÊǺÜÓÅÐãµÄÈí¼þ¡£ÎÒ¸öÈËÓÃVim + ctagsä¯ÀÀ¡£

    ¡¡¡¡´ËÍ⣬ǰ±ßÒѾ­Ìáµ½µÄÒ»¸öÖØÒªµÄÎÊÌâÊÇ£ºÄãÑо¿Äں˵ÄÄ¿µÄÊÇʲô£¬ ¿ª·¢£¿ ÀÖȤ£¿Èç¹ûÊÇ¿ª·¢£¬¶øÇÒÊǹúÄÚ×ö¿ª·¢£¬°Ñkernel APIÊìϤһϾͲ̫¶àÁË£¨ÄãÒ²ÖªµÀ¹úÄÚµÄˮƽÓжà²î£©£¬±È·½Ëµcopy_from_user£¨£©¡¢kmalloc£¨£©º¯ÊýµÈ£¬kernel APIÔÚInternetÉÏÕҵõ½£¬±àÒëÄÚºËʱҲ¿ÉÒÔÓÃDocBookÉú³É£¨¾ßÌåÇë²Î¿¼ÄÚºËÔ´´úÂë°üϵÄREADMEÎļþ£©£»Èç¹ûÊÇÑо¿£¬ÄǾͲî±ðºÜ´óÁË£¬ÐèҪϺܴóµÄ¿à¹¦£º»áÓÃkmalloc£¨£©¾ø²»ËµÃ÷Ä㶮µÃLinuxÄں˵ÄÐé´æ¹ÜÀí×Óϵͳ£¬ÕýÈçͬ»á½²ººÓﲻ˵Ã÷Ä㶮ÖйúÎÄ»¯Ò»Ñù¡£

  3. intelligent ÓÚ 2006-11-23 09:38:53·¢±í:

    ¡¡¡¡3¡¢¡¶ÉîÈëÀí½âLinuxÄںˡ·µÚ¶þ°æ¡£ÖйúµçÁ¦³ö°æÉç¡£Ò²ÊdzÂÀò¾ýÒë¡£´ËÊéÊÇLinuxÄں˺ڿÍÔÚÍƼöͼÊéʱµÄÊ×Ñ¡¡£ ÆÀ˵£º´ËÊéC°æµÄconverseÐÖËÍÁËÎÒÒ»±¾µÚÒ»°æ£¬Òò´Ë¾ÍûÂòµÚ¶þ°æ£¬±È½Ïºó»Ú¡£Òò´ËÖ»¾ÍµÚÒ»°æ˵һ˵£¬µÚÒ»°æ»ùÓÚ2.2£¬µÚ¶þ°æ2.4 .ÎÒ¼ûO'Reilly¹Ù·½Ö÷Ò³ÉÏ˵µÚÈý°æµÄÓ¢Îİ潫ÓÚ2005Äê11Ô³ö°æ£¬Ò²²»ÖªÔÛÃǺÎʱ²ÅÄܼûµ½¡£´ËÊéͼ±íºÜ¶à£¬ÐÎÏóµØ¸ø³öÁ˹ؼüÊý¾Ý½á¹¹µÄ¶¨Ò壬Ó롶Çé¾°·ÖÎö¡·Ïà±È£¬±¾ÊéÄÚÈݽô´Õ£¬²»»áÒ»¸öÎÊÌâ½²½â¶¯éüÉÏ°ÙÒ³£¬ÓÐÌá¸ÙêüÁìµÄ¹¦Ó㬵«ÊÇÉî¶ÈÉÏҪѷÓÚ¡¶Çé¾°·ÖÎö¡·¡£

    ¡¡¡¡4¡¢ÆäËüµÄ¼¸±¾Êé¡£ÊÐÃæÉÏÄܼûµ½µÄÆäËüµÄLinuxÄں˵ÄͼÊ飬Ïó¡¶LinuxÉ豸Çý¶¯³ÌÐò¡·¡¢¡¶LinuxÄÚºËÔ´´úÂëÍêȫעÊÍ¡·ÒÔ¼°Ð³öµÄ¡¶LinuxÄں˷ÖÎö¼°±à³Ì¡·µÈ¡£

    ¡¡¡¡¡¶LinuxÉ豸Çý¶¯³ÌÐò¡·µÚ¶þ°æÊÇ»ùÓÚ2.4µÄ£¬ÖÐÎÄ·­Òë²»´í£¬ÖйúµçÁ¦³ö°æ¡£ÕâÊéÇ¿µ÷¶¯ÊÖʵ¼ù£¬µ«ËüÊǽ²½â¡°É豸Çý¶¯¡±µÄ£¬²»ÊÇ×îºËÐĵĶ«Î÷£¬¶øÇÒÓÐЩ¶«Î÷ûӲ¼þµÄ»°ÎÞ·¨Êµ¼ù£¬¿ÉÄܸüÊʺÏÇý¶¯¿ª·¢µÄ³ÌÐòÔ±°É£¬²»Ì«ÊʺÏÄÇЩFor fun and profitµÄÈË¡£´ËÊéÓеÚÈý°æÓ¢Îİ棬¶«ÄÏ´óѧ³ö°æÉçÓ°Ó¡£¬½²½â2.6µÄ£¬ÐÐÎÄÁ÷³©£¬½²½âµÄÃæÒ²±ÈµÚ¶þ°æ¸ü¹ã·º£¬ÎÒ¶Á¹ýÆäÖйØÓÚͬ²½Ó뻥³â¡¢ÄÚ´æ·ÖÅäµÄ²¿·Ö£¬¸Ð¾õºÜ²»´í¡£

    ¡¡¡¡¡¶LinuxÄÚºËÔ´´úÂëÍêȫעÊÍ¡·£¨»úе¹¤Òµ³ö°æÉ磩ÊÇͬ¼Ã´óѧµÄ²©Ê¿ÉúÕÔ¾¼µÄÖø×÷£¬½²½â0.1LinuxÄںˣ¬ÎÒûÂòҲû¿´£¬Óп´¹ýµÄÅóÓÑ˵һ˵¡£

    ¡¡¡¡¡¶LinuxÄں˷ÖÎö¼°±à³Ì¡·£¨µç×Ó¹¤Òµ³ö°æÉ磩ÊǸոճö°æµÄ£¬¹úÈËдµÄ£¬½²½â2.6.11 .ºÜ¶àÈË˵ºÃ£¬µ«ÓÐÈË˵²»¹»ÏµÍ³£¬ÎÒûÂò£¬²»¸ÒÆÀ˵¡£

    ¡¡¡¡»¹ÓÐÒ»±¾Ç廪³öµÄ¡¶LinuxÄں˱à³ÌÖ¸ÄÏ£¨µÚÈý°æ£©¡·£¬Ô­ÊéÓ¦¸ÃÊǺÃÊ飬µ«ÊÇ·­Òë¡¢ÅÅ°æÊ®·ÖÔãÀã¬ÍÑ×ÖÌøÐУ¬¸ù±¾Ã»·¨¿´£¬ÎÒÂòÁËÒ»±¾ÓÖÈÓµôÁË¡£

    ¡¡¡¡5¡¢ÆäËü×ÊÔ´¡£ TLDP£¨The Linux Documentation Project£©ÓдóÁ¿Îĵµ£¬ÆäÖв»ÉÙÊǹØÓÚÄں˵ģ¬ÓÐЩÊÇÔÚ¹úÍâ³ö°æ¹ýµÄ£¬Ïó¡¶Linux Kernel Interls¡·¡¶The Linux Kernel¡·¡¶Linux Kernel Module Programming Guide¡·µÈ£¬×÷Õ߶¼ÊÇÇ×Éí²Î¼Ó¿ª·¢µÄÈË£¬Öø×÷½ÏΪ¿ÉÐÅ¡£