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

Linux ϵͳÌáËٵıØÐÞ¿Î--BFS

·¢²¼Ê±¼ä:2009-09-30 12:18:52À´Ô´:ºìÁª×÷Õß:linuxboss
[i=s] ±¾Ìû×îºóÓÉ linuxboss ÓÚ 2009-9-30 12:20 ±à¼­ [/i]

ÏñÒÔÍùÒ»Ñù£¬ÒÀÈ»ÔÚ²»¶Ï±àÒëаæ Linux kernel ÄÚºË----Linux ϵͳÌáËٵıØÐ޿Ρ£ºÍ Linux kernel BFS µÄÏàÓö³äÂúÁËÇɺÏϵıØÈ»¡£ÏÖÔÚ¿´À´£¬BFS Kernel ÊÇ Linux ÔÚ°ëÄêÄÚ¸øÎÒµÄ×î´ó¾ªÏ²----ϵͳÏñµçÊÓ¹ºÎïÖ÷³ÖÈËÒ»Ñù³äÂúÁËÁ¦Á¿ºÍ¼¤Çé!¶øÇÒÊÇÈËÄܸоõµÃµ½µÄ¿ì!ÌØÒÔ´ËÎÄÏ׸øÏµÍ³±àÒë¿ñÈË£¬×ÀÃæÌáËÙ¿ñ Linux ¿Ø¡£ÏòËùÓÐ Linux ×ÀÃæÓû§Á¦¶¥ BFS¡£

×îÏÈÔÚ Kindle ÉÏ¿´ xkcd Âþ»­£¬ÓÐÂþ»­ÈçÊÇ£º

¡¡¡¡
A: ¾­¹ýijЩÈËǧ°ÙÄêµÄŬÁ¦£¬×îÐ嵀 Linux ²¹¶¡Ö§³Ö 4096 ¸ö CPU µÄµçÄÔÁË!Ô­À´Ö»ÄÜÖ§³Ö 1024 ¸ö!

B: È«ÆÁ Flash ÊÓÆµ¿¨²»¿¨°¡?

A: ¿¨¡£²»¹ýË­ËûѾµÄ¿´ÊÓÆµ°¡?

¶ø¹ØÓÚ BFS µÄÏûÏ¢ÊÇ×îÏÈÔÚ Linux Magazine ÉÏ¿´µ½µÄ;²»¾ÃÖ®ºó G1 Android ÊÖ»ú ROM Ð޸ĴóÉñ CM ¿ªÊ¼ÔÚËûµÄ²âÊÔ°æ CyanogenMod ʹÓà BFS ×÷Ϊ kernel µÄ Scheduler£¬ÊÔÓÃÖ®ºó·¢ÏÖÊÖ»úϵͳËÙ¶ÈÃ÷ÏÔ¼Ó¿ì¡£ ÓÃÊÖ»¬¶¯×óÓÒ·­ÆÁ¾ÍÏñ Opera Ϲö¶¯ÍøÒ³ÄÇôƽ»¬£¬¸ãµÃÆÁÄ»¸²Ä¤É϶àÁ˺öàÖ¸ÎÆÓ¡¡£ÐÄÑ÷ÒѾã¬Ç¡·ê Linux kernel 2.6.31 аæÕýʽ·¢²¼£¬´òÉÏ BFS Patch ±àÒë£¬ÖØÆô¡£ÉñÒ»ÑùµÄÌáËÙÔٴγöÏÖÔÚÎÒ 4 Äê¸ßÁäµÄ±Ê¼Ç±¾µçÄÔÉÏ£¬×¢ÈëÁ˼¦ÑªµÄ KDE4 ÈÃÈËÎÞ±ÈÐË·Ü¡£¿ì!¿ì!¿ì!ËùÒÔ£¬BFS ÊÇʲô?

ÒªÖªµÀ BFS ÊÇʲô×îºÃÏÈÁ˽âÒ»ÏÂËüµÄ×÷Õߣ¬´«ËµÖеİÄÖÞÃÍÊ¿ CK¡£

CK£¬Con Kolivas£¬ÄУ¬ °Ä´óÀûÑÇÖÐÄêÄÐ×Ó£¬×ÊÉîÄÚºË hacker¡£ÖÚËùÖÜÖª£¬Linux Kernel ÊǾۼ¯ÁËÒ»°ïÌì²Å´À²ÅºÍ±©¾ý¹ÖÌ¥µÄµØ·½£¬CK Ã²ËÆ×îÊʺÏÕâÖֵط½µÄÈË¡£ÊÇÕæµÄÃ²ËÆ£¬Ò»ÕŵçÓ°ÀïÃæµäÐ͸ßÖÇÉÌͨ¼©·¸µÄÁ³¡£

¼¸Äêǰ±àÒë Linux kernel£¬ck ²¹¶¡¼¯¾ÍÊÇϵͳÌáËٵĴúÃû´Ê¡£µ±Ê±±àÒëÄں˵ÄÈý²¿ÇúÊÇÏ kernel Ô´Â룬´òÉÏ ck ²¹¶¡¼¯£¬±àÒë°²×°¡£ºóÀ´ÉÏÓδúÂ뽫 ck ²¹¶¡¼¯Îȶ¨µÄ²¿·Ö²»¶ÏÎüÊÕ£¬ËüµÄÓ°ÏìÁ¦Ò²½¥½¥Ïûʧ¡£

CK ±¾Éí¶ÔÈÎÎñµ÷¶ÈÓкÜÉîµÄÔìÒ裬Ëû´ÏÃ÷¶ø¾­µäµØÊµÏÖÁË fair scheduling£¬¶øÊµÏÖģʽ±» Igor ½è¼ø¸Ä½ø×îÖÕд³öÁËÏÖÔÚ kernel ÓõĽø³Ìµ÷¶È¹ÜÀíÆ÷ CFS (Completely Fair Scheduler)¡£²»µÃ²»Ë³±ã½éÉÜÒ»ÏÂÈÎÎñµ÷¶È¡£Kernel µÄ½ø³Ìµ÷¶ÈÖ÷ÒªÊǽ« CPU ×ÊÔ´·ÖÅ䏸¸÷ÖÖÇý¶¯¡¢½ø³ÌµÈµÈ¡£Äã¿ÉÄÜÌý˵¹ý£¬Ò»°ãÈ˵ĴóÄÔʹÓÃÂʲ»×ã 20% ÕâÖÖ¿ÆÑ§»òÕßα¿ÆÑ§ÑÔÂÛ¡£µ«ÊÂʵÊÇ£¬ÄãµçÄÔÉ쵀 CPU ´ÓÀ´¾ÍûÓÐÕæÕý±» 100% µÄÀûÓùý(±ð¸úÎÒ˵ÄãÔÚ×ÊÔ´¹ÜÀíÆ÷ÀïÃæ¿´µ½¹ý CPU 100%£¬ÎÒ»¹¼û¹ý 101% ÄØ)¡£ÈçºÎ½«¸÷ÖÖÔËËãÈÎÎñÒ»¿Ì²»Í£ÓÖÓÐÌõ²»ÎɵÄÈû¸ø CPU ´¦ÀíÊÇÒ»ÃÅÑÏËàµÄ¿ÆÑ§£¬¾ø²»ÊǵçÊÓ¹ºÎïµ¼¹ºÄܽâ¾öµÄÎÊÌâ¡£Ò»´ÎÈûµÄÔËËãÁ¿ÉÙÁË£¬CPU ÏÐ×Å£¬ÔËËãʱ¼äÔö³¤£¬µçÄÔÂýÁË;¶øÒ»´ÎÈûµÄÔËËã¶àÁË£¬CPU æ²»¹ýÀ´£¬ÔËËãÓÖÒªÔÚÃÅ¿ÚÅŶӣ¬µçÄÔÒ²ÂýÁË¡£½ø³Ìµ÷¶ÈÖ÷ÒªÊÇÓÃËã·¨½â¾öÕâ¸öÎÊÌ⣬¶øÏÖÔÚ Linux Kernel ÓÃµÄ CFS ¾Ý˵·Ç³£¾­µä£¬ÔÚ²»Í¬Çé¿ö϶¼¿É´ïµ½Ï൱¸ßµÄ CPU ÀûÓÃÂÊ¡£¶øÏÖÓà CFS Ò²ÊÇÔÚ 2.6.23 ²Å¼ÓÈëµÄ£¬È¡´úÔ­À´ O(1)£¬Ö±½Ó½« Linux ×ÀÃæËÙ¶È´Ó XX ʱ´ú´øÈëÁË XX+N ʱ´ú¡£

Á½Äêǰ£¬CK µ­³öÁËÄں˿ª·¢£¬ºöÈ»´Ó½­ºþÖÐÕô·¢¡£¼¸ÖÜǰ£¬CK ÖØ³ö½­ºþ£¬Á½ÄêÄ¥Ò»½££¬´øÀ´ÁË BFS £¬È«³Æ Brain Fuck Scheduler (Ö»ÈÏʶÖмäÄǸöµ¥´ÊµÄÇë²Î¿¼¹È¸è·­Òë)£¬Éù³Æ×¨ÎªµÍ¶ËÓ²¼þÉè¼Æ(ÎÒµÄÀí½âÊDz»³¬¹ý 10 ¸ö CPU µÄµçÄÔµçÊÓÊÖ»úÓÎÏ·»ú¶¼ËãµÍ¶Ë»ú)£¬Ëµ°×Á˾ÍÊÇ±È Kernel ĬÈÏÒª¸ü¼Óɽ±ÀµØÁѺ£¿ÝʯÀ÷¿¼ÛÉÏÕÇÓͼ۷ÉÉýµÄ¿ì¡£BFS Ϊʲô½ÐÕâ¸öÃû×Ö?ΪÁËÖÐÎÄÓû§£¬²»ÄÜÈý¸ö´ÊÈÃËûÃÇÒ»¸öÒ²²»¶®°É? ºÃ°É£¬ÕâÃû×ÖÓе㲻ÑÅ£¬²»¹ýËãÊÇֱˬ¡£¶ÔÁË£¬¾Ý˵ CK Ò²ÊÇ¿´µ½ÉÏÃæÎÒÌáµ½µÄÂþ»­²Å¿ªÊ¼½£×߯«·æ¡£ÕæÕýÓм¸¸öÈËÓÃÓÐÉÏǧ CPU µÄµçÄÔÄØ?ΪʲôҪΪÕâÖÖÀ©Õ¹ÐÔÎþÉü×ÀÃæÐÔÄÜ¡£BFS ¾ÍÔÚÆä¼ä×öÁËÈ¡Éᣬ½ö½öÖ§³Ö×î¶à 16 ¸ö CPU £¬°ÑÎÊÌâÍâÑØ×öС£¬ÈÃËã·¨¸ü¼òµ¥¾«º·¸ßЧ¡£×÷ΪԭÀíÀ´½²£¬Õâ×ã¹»½âÊÍËٶȵÄÀ´Ô´¡£¶ÔÓÚÆäËü·ÏÎÊÌ⣬ CK רÃÅдÁËÒ»¸ö FAQ¡£ÔÚ¿ÉÒÔÔ¤¼ûµÄ½«À´£¬BFS Ò²²»»á½øÈë mainline kernel£¬Ëµ°×ÁËÊÇÈ¡ÏòÎÊÌâ¡£

¹Ø¼üÎÊÌâÊÇÔõôÓÃ?

Ï 2.6.31 µÄ kernel Ô´´úÂ룬Èç¹ûÄã²»ÖªµÀÔÚÄÄÀïÏµĻ°¾Í²»±ØÍùÏ¿´ÁË£¬ÔÚµ±Ç°ÀúʷʱÆÚÄú»¹ÊǸ㲻¶¨µÄ¡£ÔÙÈ¥£ºhttp://ck.kolivas.org/patches/bfs/ ϵÚÒ»¸ö patch£¬ÏÖÔÚÊÇ 2.6.31 ¿ªÍ·µÄ£¬±íʾÊÊÓøð汾¡£½âѹÄÚºËÔ´Â룬´òÉÏ patch£¬ÅäÖÃÒÔºó±àÒë°²×°¡£ÏÖÔÚ BFS »¹ÔÚ²âÊÔÆÚ£¬Ã»ÓÐÍêÈ«³ÉÊ죬µ«ÒѾ­Ï൱¿ÉÓᣱàÒëµÄʱºòÓÐʲôÐèÒªÅäÖõÄ?²»ÐèÒª£¬ Scheduler Õâ¶«Î÷Ì«µ×²ãÁË£¬´òÉϲ¹¶¡¾Í°ÑÔ­À´µÄ CFS Ìæ»»µôÁË£¬Ã»Ê²Ã´Ñ¡Ïî¸øÄãÑ¡¡£Èç¹ûÄã·ÇÒªÎʵϰ£¬²»¾Íͼ¸ö¿ìô£¬¼Ç×ŰÑÅäÖÃŪµ½ 1000Hz£¬¿ª preempt £¬½ûµô dynamic ticks¡£±àÒëÖØÆô²»ÓÃ˵ÁË£¬ÎÒ¿ÉÒÔ¿á¿áµÄÈÓÏÂÒ»¸ö have fun È»ºóÈ¥Íæ Mac ÁË£¬·´ÕýÄã»úÆ÷Æô¶¯²»Á˲»ÒªÕÒÎÒ¡£ËäÈ»ÎÒ´¿¾» kernel µ¥¼Ó BFS Patch ±àÒë³É¹¦Æô¶¯Ã»ÎÊÌ⣬ÒÀÈ»ÓÐһλµ¹Ã¹µÄÍÆÓͱàÒëÒÔºó²»ÖªµÀÔõôÕÛÌÚµÄÎÞ·¨Æô¶¯¡£¿ÉÁíÍâ±»ÎÒºöÓÆ³É¹¦µÄÍÆÓÑÃÇ·´Ó¦Ò»Ö£º¡°¿ì!ÈËÄܸоõµÃµ½µÄ¿ì!¡±

µ½µ×Öµ²»ÖµµÃÉÏÊÖ £¬ÓÐûÓÐÆÀ²â?

ÕâÊÇijЩ²»¹»Øâº·µÄ¶ÁÕß»áÕõÔúµ½×îºóµÄÎÊÌâ¡£BFS Ô­ÀíÉϽ²£¬»úÆ÷ÅäÖÃÔ½µÍ£¬¸ÐÊÜ»áÔ½Ã÷ÏÔ¡£Èç¹ûÄã·ÇÒªÆÀ²âµÄ»°£¬Phoronix Õâ¸öרҵµÄ Linux ²âÆÀ¿ñÍøÕ¾Ò²³öÁËÒ»·Ý¡£ÎÒ¿ÉÒÔÌáǰ¾ç͸½áÂÛ£¬Çø±ð¶¼ºÜС£¬BFS ʤ³ö¾ø´ó²¿·Ö²âÊÔ£¬È»¶øÓÅÊÆ²»Ã÷ÏÔ¡£ÎÒÖ»ÊDz¹³äһϾø´ó¶àÊýÕÛÌÚ¹ýµÄÈ˵ĸÐÊÜ

----¿ì !ÈËÄܸоõµ½µÄ¿ì!

Ô­ÎĵØÖ·£ºhttp://www.linuxboss.cn/Doc/2009/0929/6994.html
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 12 ÌõÆÀÂÛ

  1. paladin0 ÓÚ 2009-11-30 15:33:04·¢±í:

    very good

  2. À¶±ù·âÑæ ÓÚ 2009-11-29 21:03:41·¢±í:

    ²»¶®

  3. prinse ÓÚ 2009-10-09 01:00:16·¢±í:

    »¹ÔÚÓà 2.6.30£¬ÔÝʱ²»ÏëÕÛÌÚ¡­¡­

  4. jensoncheng ÓÚ 2009-10-08 23:49:19·¢±í:

    Â¥Ö÷ÔÚ˵ʲô¸ù±¾¿´²»¶®

  5. fhyfufangyu ÓÚ 2009-10-08 22:08:18·¢±í:

    »¹²»Ì«»á¡£

  6. linshao.Solin ÓÚ 2009-10-07 20:41:16·¢±í:

    ÔÎ »¹²»´óÓÃ

  7. lilesi456 ÓÚ 2009-10-07 20:07:49·¢±í:

    ²»Ï²»¶ÍøÒ³°æµÄ

  8. gostop ÓÚ 2009-10-06 21:07:44·¢±í:

    {:2_95:}¿´À´ÓеãoutÁË

  9. ɵ¶« ÓÚ 2009-10-01 19:54:21·¢±í:

    ÓеãÏëÊÔÊÔ¡«

  10. flzy110 ÓÚ 2009-10-01 07:54:54·¢±í:

    ¹Ø×¢ÖУ¡

  11. ²ÌÍòîÈ ÓÚ 2009-09-30 20:01:11·¢±í:

    ÔÚÓÃ ¡£
    ÕæµÄ¿ìÁË ºÜ¶àŶ
    ¹þ¹þ¹þ¡£
    ÏëÊÔÊÔµÄÈË¿ÉÒÔÁªÏµÎÒ£¬¸æËßÄãÔõô¸ãŶ

  12. plzzl ÓÚ 2009-09-30 14:36:24·¢±í:

    :0wl;l1 ÊÇkernel¼ÓѹÆô¶¯¿ì£¬»¹ÊÇÁ¬×ÅÖ®ºóµÄ¸÷ÖÖ·þÎñÒ»¿é±ä¿ìÁË£¿