.. _cn_stable_api_nonsense: .. include:: ../disclaimer-zh_CN.rst :Original: :ref:`Documentation/process/stable-api-nonsense.rst <stable_api_nonsense>` è¯è :: ä¸æçç»´æ¤è ï¼ éå® TripleX Chung <xxx.phy@gmail.com> ä¸æçç¿»è¯è ï¼ éå® TripleX Chung <xxx.phy@gmail.com> ä¸æçæ ¡è¯è ï¼ æé³ Li Yang <leoyang.li@nxp.com> Linux å æ ¸é©±å¨æ¥å£ ================== åä½æ¬ææ¡£çç®çï¼æ¯ä¸ºäºè§£é为ä»ä¹Linuxæ¢æ²¡æäºè¿å¶å æ ¸æ¥å£ï¼ä¹æ²¡æç¨³å® çå æ ¸æ¥å£ãè¿éæ说çå æ ¸æ¥å£ï¼æ¯æå æ ¸éçæ¥å£ï¼èä¸æ¯å æ ¸åç¨æ·ç©ºé´ çæ¥å£ãå æ ¸å°ç¨æ·ç©ºé´çæ¥å£ï¼æ¯æä¾ç»åºç¨ç¨åºä½¿ç¨çç³»ç»è°ç¨ï¼ç³»ç»è°ç¨ å¨åå²ä¸å ä¹æ²¡æè¿ååï¼å°æ¥ä¹ä¸ä¼æååãææä¸äºèåºç¨ç¨åºæ¯å¨0.9çæ¬ æè æ´æ©çæ¬çå æ ¸ä¸ç¼è¯çï¼å¨ä½¿ç¨2.6çæ¬å æ ¸çLinuxåå¸ä¸ä¾ç¶ç¨å¾å¾å¥½ ãç¨æ·ååºç¨ç¨åºä½è å¯ä»¥å°è¿ä¸ªæ¥å£çææ¯ç¨³å®çã æ§è¡çº²è¦ -------- ä½ ä¹è®¸ä»¥ä¸ºèªå·±æ³è¦ç¨³å®çå æ ¸æ¥å£ï¼ä½æ¯ä½ ä¸æ¸ æ¥ä½ è¦çå®é ä¸ä¸æ¯å®ãä½ é è¦çå ¶å®æ¯ç¨³å®ç驱å¨ç¨åºï¼èä½ åªæå°é©±å¨ç¨åºæ¾å°å ¬çå æ ¸çæºä»£ç æ éï¼ ææå¯è½è¾¾å°è¿ä¸ªç®çãèä¸è¿æ ·åè¿æå¾å¤å ¶å®å¥½å¤ï¼æ£æ¯å 为è¿äºå¥½å¤ä½¿å¾ Linuxè½æ为强壮ï¼ç¨³å®ï¼æççæä½ç³»ç»ï¼è¿ä¹æ¯ä½ æå¼å§éæ©Linuxçåå ã å ¥é¨ ----- åªæé£äºå驱å¨ç¨åºçâæªäººâæä¼æ å¿å æ ¸æ¥å£çæ¹åï¼å¯¹å¹¿å¤§ç¨æ·æ¥è¯´ï¼æ¢ çä¸å°å æ ¸æ¥å£ï¼ä¹ä¸éè¦å»å ³å¿å®ã é¦å ï¼æä¸æç®è®¨è®ºå ³äºä»»ä½éGPL许å¯çå æ ¸é©±å¨çæ³å¾é®é¢ï¼è¿äºéGPLè®¸å¯ ç驱å¨ç¨åºå æ¬ä¸å ¬å¼æºä»£ç ï¼éèæºä»£ç ï¼äºè¿å¶æè æ¯ç¨æºä»£ç å è£ ï¼æè æ¯å ¶å®ä»»ä½å½¢å¼çä¸è½ä»¥GPL许å¯å ¬å¼æºä»£ç ç驱å¨ç¨åºãå¦æææ³å¾é®é¢ï¼è¯·å¨ 询å¾å¸ï¼æåªæ¯ä¸ä¸ªç¨åºåï¼æ以æåªæç®æ¢è®¨ææ¯é®é¢ï¼ä¸æ¯å°çæ³å¾é®é¢ï¼ æ³å¾é®é¢å¾å®é ï¼å¹¶ä¸éè¦ä¸ç´å ³æ³¨ï¼ã æ¢ç¶åªè°ææ¯é®é¢ï¼æ们就æäºä¸é¢ä¸¤ä¸ªä¸»é¢ï¼äºè¿å¶å æ ¸æ¥å£å稳å®çå æ ¸æº ä»£ç æ¥å£ãè¿ä¸¤ä¸ªé®é¢æ¯äºç¸å ³èçï¼è®©æ们å 解å³æäºè¿å¶æ¥å£çé®é¢ã äºè¿å¶å æ ¸æ¥å£ -------------- åå¦æ们æä¸ä¸ªç¨³å®çå æ ¸æºä»£ç æ¥å£ï¼é£ä¹èªç¶èç¶çï¼æ们就æ¥æäºç¨³å®ç äºè¿å¶æ¥å£ï¼æ¯è¿æ ·çåï¼éã让æ们ççå ³äºLinuxå æ ¸çå ç¹äºå®ï¼ - åå³äºæç¨çCç¼è¯å¨ççæ¬ï¼ä¸åçå æ ¸æ°æ®ç»æéçç»æä½ç对é½æ¹ å¼ä¼æå·®å«ï¼ä»£ç ä¸ä¸åå½æ°ç表ç°å½¢å¼ä¹ä¸ä¸æ ·ï¼å½æ°æ¯ä¸æ¯è¢«inline ç¼è¯åå³äºç¼è¯å¨è¡ä¸ºï¼ãä¸åçå½æ°ç表ç°å½¢å¼å¹¶ä¸éè¦ï¼ä½æ¯æ°æ® ç»æå é¨ç对é½æ¹å¼å¾å ³é®ã - åå³äºå æ ¸çé ç½®é项ï¼ä¸åçé项ä¼è®©å æ ¸çå¾å¤ä¸è¥¿åçæ¹åï¼ - åä¸ä¸ªç»æä½å¯è½å å«ä¸åçæååé - æçå½æ°å¯è½æ ¹æ¬ä¸ä¼è¢«å®ç°ï¼æ¯å¦ç¼è¯çæ¶å没æéæ©SMPæ¯æ ä¸äºéå½æ°å°±ä¼è¢«å®ä¹æ空å½æ°ï¼ã - å æ ¸ä½¿ç¨çå åä¼ä»¥ä¸åçæ¹å¼å¯¹é½ï¼è¿åå³äºä¸åçå æ ¸é ç½®é 项ã - Linuxå¯ä»¥å¨å¾å¤çä¸åä½ç³»ç»æçå¤çå¨ä¸è¿è¡ãå¨æ个ä½ç³»ç»æä¸ç¼ è¯å¥½çäºè¿å¶é©±å¨ç¨åºï¼ä¸å¯è½å¨å¦å¤ä¸ä¸ªä½ç³»ç»æä¸æ£ç¡®çè¿è¡ã 对äºä¸ä¸ªç¹å®çå æ ¸ï¼æ»¡è¶³è¿äºæ¡ä»¶å¹¶ä¸é¾ï¼ä½¿ç¨åä¸ä¸ªCç¼è¯å¨ååæ ·çå æ ¸é ç½®é项æ¥ç¼è¯é©±å¨ç¨åºæ¨¡åå°±å¯ä»¥äºãè¿å¯¹äºç»ä¸ä¸ªç¹å®Linuxåå¸çç¹å®çæ¬æ ä¾é©±å¨ç¨åºï¼æ¯å®å ¨å¯ä»¥æ»¡è¶³éæ±çãä½æ¯å¦æä½ è¦ç»ä¸ååå¸çä¸åçæ¬é½å å¸ä¸ä¸ªé©±å¨ç¨åºï¼å°±éè¦å¨æ¯ä¸ªåå¸ä¸ç¨ä¸åçå æ ¸è®¾ç½®åæ°é½ç¼è¯ä¸æ¬¡å æ ¸ï¼ è¿ç®ç´è·å©æ¢¦ä¸æ ·ãèä¸è¿è¦æ³¨æå°ï¼æ¯ä¸ªLinuxåå¸è¿æä¾ä¸åçLinuxå æ ¸ï¼ è¿äºå æ ¸é½é对ä¸åç硬件类åè¿è¡äºä¼åï¼æå¾å¤ç§ä¸åçå¤çå¨ï¼è¿æä¸å çå æ ¸è®¾ç½®é项ï¼ãæ以æ¯åå¸ä¸æ¬¡é©±å¨ç¨åºï¼é½éè¦æä¾å¾å¤ä¸åçæ¬çå æ ¸ 模åã ç¸ä¿¡æï¼å¦æä½ ççè¦éåè¿ç§åå¸æ¹å¼ï¼ä¸å®ä¼æ ¢æ ¢ç¯æï¼æå¾ä¹ 以åå°±æè¿ æ·±å»çæè®... 稳å®çå æ ¸æºä»£ç æ¥å£ -------------------- å¦ææ人ä¸å°ä»çå æ ¸é©±å¨ç¨åºï¼æ¾å ¥å ¬çå æ ¸çæºä»£ç æ ï¼èåæ³è®©é©±å¨ç¨åº ä¸ç´ä¿æå¨ææ°çå æ ¸ä¸å¯ç¨ï¼é£ä¹è¿ä¸ªè¯é¢å°ä¼åå¾æ²¡å®æ²¡äºã å æ ¸å¼åæ¯æç»èä¸å¿«èå¥çï¼ä»æ¥é½ä¸ä¼æ ¢ä¸æ¥ãå æ ¸å¼å人åå¨å½åæ¥å£ä¸ æ¾å°bugï¼æè æ¾å°æ´å¥½çå®ç°æ¹å¼ãä¸æ¦åç°è¿äºï¼ä»ä»¬å°±å¾å¿«ä¼å»ä¿®æ¹å½åç æ¥å£ãä¿®æ¹æ¥å£æå³çï¼å½æ°åå¯è½ä¼æ¹åï¼ç»æä½å¯è½è¢«æ©å æè å åï¼å½æ° çåæ°ä¹å¯è½åçæ¹åãä¸æ¦æ¥å£è¢«ä¿®æ¹ï¼å æ ¸ä¸ä½¿ç¨è¿äºæ¥å£çå°æ¹éè¦åæ¶ ä¿®æ£ï¼è¿æ ·æè½ä¿è¯ææçä¸è¥¿ç»§ç»å·¥ä½ã 举ä¸ä¸ªä¾åï¼å æ ¸çUSB驱å¨ç¨åºæ¥å£å¨USBåç³»ç»çæ´ä¸ªçå½å¨æä¸ï¼è³å°ç»å äºä¸æ¬¡éåãè¿äºéå解å³ä»¥ä¸é®é¢ï¼ - ææ°æ®æµä»åæ¥æ¨¡å¼æ¹æéåæ¥æ¨¡å¼ï¼è¿ä¸ªæ¹å¨åå°äºä¸äºé©±å¨ç¨åºç å¤æ度ï¼æé«äºææUSB驱å¨ç¨åºçååçï¼è¿æ ·å ä¹ææçUSB设å¤é½ è½ä»¥æ大éçå·¥ä½äºã - ä¿®æ¹äºUSBæ ¸å¿ä»£ç ä¸ä¸ºUSB驱å¨åé æ°æ®å å åçæ¹å¼ï¼ææç驱å¨é½ éè¦æä¾æ´å¤çåæ°ç»USBæ ¸å¿ï¼ä»¥ä¿®æ£äºå¾å¤å·²ç»è¢«è®°å½å¨æ¡çæ»éã è¿åä¸äºå°éæºä»£ç çæä½ç³»ç»å½¢æé²æç对æ¯ï¼å¨é£äºæä½ç³»ç»ä¸ï¼ä¸å¾ä¸é¢ å¤çç»´æ¤æ§çUSBæ¥å£ãè¿å¯¼è´äºä¸ä¸ªå¯è½æ§ï¼æ°çå¼åè ä¾ç¶ä¼ä¸å°å¿ä½¿ç¨æ§ç æ¥å£ï¼ä»¥ä¸æ°å½çæ¹å¼ç¼å代ç ï¼è¿èå½±åå°æä½ç³»ç»ç稳å®æ§ã å¨ä¸é¢çä¾åä¸ï¼ææçå¼åè é½åæè¿äºéè¦çæ¹å¨ï¼å¨è¿æ ·çæ åµä¸ä¿®æ¹ä»£ ä»·å¾ä½ãå¦æLinuxä¿æä¸ä¸ªç¨³å®çå æ ¸æºä»£ç æ¥å£ï¼é£ä¹å°±å¾å建ä¸ä¸ªæ°çæ¥å£ ï¼æ§çï¼æé®é¢çæ¥å£å¿ é¡»ä¸ç´ç»´æ¤ï¼ç»Linux USBå¼åè 带æ¥é¢å¤çå·¥ä½ãæ¢ç¶ ææçLinux USB驱å¨çä½è é½æ¯å©ç¨èªå·±çæ¶é´å·¥ä½ï¼é£ä¹è¦æ±ä»ä»¬å»å毫æ æ ä¹çå è´¹é¢å¤å·¥ä½ï¼æ¯ä¸å¯è½çã å®å ¨é®é¢å¯¹Linuxæ¥è¯´ååéè¦ãä¸ä¸ªå®å ¨é®é¢è¢«åç°ï¼å°±ä¼å¨çæ¶é´å å¾å°ä¿® æ£ãå¨å¾å¤æ åµä¸ï¼è¿å°å¯¼è´Linuxå æ ¸ä¸çä¸äºæ¥å£è¢«éåï¼ä»¥ä»æ ¹æ¬ä¸é¿å å® å ¨é®é¢ãä¸æ¦æ¥å£è¢«éåï¼ææ使ç¨è¿äºæ¥å£ç驱å¨ç¨åºï¼å¿ é¡»åæ¶å¾å°ä¿®æ£ï¼ 以确å®å®å ¨é®é¢å·²ç»å¾å°ä¿®å¤å¹¶ä¸ä¸å¯è½å¨æªæ¥è¿æåæ ·çå®å ¨é®é¢ãå¦æå æ ¸ å é¨æ¥å£ä¸å 许æ¹åï¼é£ä¹å°±ä¸å¯è½ä¿®å¤è¿æ ·çå®å ¨é®é¢ï¼ä¹ä¸å¯è½ç¡®è®¤è¿æ ·ç å®å ¨é®é¢ä»¥åä¸ä¼åçã å¼åè ä¸ç´å¨æ¸ çå æ ¸æ¥å£ãå¦æä¸ä¸ªæ¥å£æ²¡æ人å¨ä½¿ç¨äºï¼å®å°±ä¼è¢«å é¤ãè¿ æ ·å¯ä»¥ç¡®ä¿å æ ¸å°½å¯è½çå°ï¼èä¸æææ½å¨çæ¥å£é½ä¼å¾å°å°½å¯è½å®æ´çæµè¯ ï¼æ²¡æ人使ç¨çæ¥å£æ¯ä¸å¯è½å¾å°è¯å¥½çæµè¯çï¼ã è¦åä»ä¹ -------- å¦æä½ åäºä¸ä¸ªLinuxå æ ¸é©±å¨ï¼ä½æ¯å®è¿ä¸å¨Linuxæºä»£ç æ éï¼ä½ä¸ºä¸ä¸ªå¼å è ï¼ä½ åºè¯¥æä¹åï¼ä¸ºæ¯ä¸ªåå¸çæ¯ä¸ªçæ¬æä¾ä¸ä¸ªäºè¿å¶é©±å¨ï¼é£ç®ç´æ¯ä¸ä¸ª å©æ¢¦ï¼è¦è·ä¸æ°¸è¿å¤äºååä¹ä¸çå æ ¸æ¥å£ï¼ä¹æ¯ä¸ä»¶è¾è¦æ´»ã å¾ç®åï¼è®©ä½ ç驱å¨è¿å ¥å æ ¸æºä»£ç æ ï¼è¦è®°å¾æ们å¨è°è®ºçæ¯ä»¥GPL许å¯åè¡ ç驱å¨ï¼å¦æä½ ç代ç ä¸ç¬¦åGPLï¼é£ä¹ç¥ä½ 好è¿ï¼ä½ åªè½èªå·±è§£å³è¿ä¸ªé®é¢äºï¼ ä½ è¿ä¸ªå¸è¡é¬¼<æAndrewåLinus对å¸è¡é¬¼çå®ä¹é¾æ¥å°è¿é>ï¼ãå½ä½ ç代ç å å ¥ å ¬çå æ ¸æºä»£ç æ ä¹åï¼å¦æä¸ä¸ªå æ ¸æ¥å£æ¹åï¼ä½ ç驱å¨ä¼ç´æ¥è¢«ä¿®æ¹æ¥å£ç é£ä¸ªäººä¿®æ¹ãä¿è¯ä½ ç驱å¨æ°¸è¿é½å¯ä»¥ç¼è¯éè¿ï¼å¹¶ä¸ä¸ç´å·¥ä½ï¼ä½ å ä¹ä¸éè¦ åä»ä¹äºæ ã æ驱å¨æ¾å°å æ ¸æºä»£ç æ éä¼æå¾å¤ç好å¤ï¼ - 驱å¨çè´¨éä¼æåï¼èç»´æ¤ææ¬ï¼å¯¹åå§ä½è æ¥è¯´ï¼ä¼ä¸éã - å ¶ä»äººä¼ç»é©±å¨æ·»å æ°ç¹æ§ã - å ¶ä»äººä¼æ¾å°é©±å¨ä¸çbug并修å¤ã - å ¶ä»äººä¼å¨é©±å¨ä¸æ¾å°æ§è½ä¼åçæºä¼ã - å½å¤é¨çæ¥å£çæ¹åéè¦ä¿®æ¹é©±å¨ç¨åºçæ¶åï¼å ¶ä»äººä¼ä¿®æ¹é©±å¨ç¨åº - ä¸éè¦è系任ä½åè¡åï¼è¿ä¸ªé©±å¨ä¼èªå¨çéçææçLinuxåå¸ä¸èµ·å å¸ã åå«çæä½ç³»ç»ç¸æ¯ï¼Linux为æ´å¤ä¸åç设å¤æä¾ç°æç驱å¨ï¼èä¸è½å¨æ´å¤ä¸ åä½ç³»ç»æçå¤çå¨ä¸æ¯æè¿äºè®¾å¤ãè¿ä¸ªç»è¿èéªçå¼å模å¼ï¼å¿ ç¶æ¯éä¸äº ç :) æè°¢ ---- æè°¢ Randy Dunlap, Andrew Morton, David Brownell, Hanna Linder, Robert Love, and Nishanth Aravamudan 对äºæ¬ææ¡£æ©æçæ¬çè¯å®¡å建议ã è±æçç»´æ¤è ï¼ Greg Kroah-Hartman <greg@kroah.com>