锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品videosex极品,国产精品www.,麻豆精品网站http://m.shnenglu.com/mydriverc/category/4812.html濡傛灉鎯抽寰楅珮錛屽氨璇ユ妸鍦板鉤綰垮繕鎺?/description>zh-cnMon, 19 May 2008 13:37:45 GMTMon, 19 May 2008 13:37:45 GMT6080x86淇濇姢妯″紡涔嬪疄妯″紡涓庝繚鎶ゆā寮忓垏鎹㈠疄渚?/title><link>http://m.shnenglu.com/mydriverc/articles/30720.html</link><dc:creator>鏃呴?/dc:creator><author>鏃呴?/author><pubDate>Thu, 23 Aug 2007 16:55:00 GMT</pubDate><guid>http://m.shnenglu.com/mydriverc/articles/30720.html</guid><wfw:comment>http://m.shnenglu.com/mydriverc/comments/30720.html</wfw:comment><comments>http://m.shnenglu.com/mydriverc/articles/30720.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/mydriverc/comments/commentRss/30720.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/mydriverc/services/trackbacks/30720.html</trackback:ping><description><![CDATA[Error convertoring HTML to XHTML: System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown. at System.String.GetStringForStringBuilder(String value, Int32 startIndex, Int32 length, Int32 capacity) at System.Text.StringBuilder.GetNewString(String currentString, Int32 requiredLength) at System.Text.StringBuilder.Append(String value) at System.IO.StringWriter.Write(String value) at System.Xml.XmlTextWriter.WriteCData(String text) at System.Xml.XmlWriter.WriteNode(XmlReader reader, Boolean defattr) at FreeTextBoxControls.Support.Formatter.HtmlToXhtml(String input)<img src ="http://m.shnenglu.com/mydriverc/aggbug/30720.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/mydriverc/" target="_blank">鏃呴?/a> 2007-08-24 00:55 <a href="http://m.shnenglu.com/mydriverc/articles/30720.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>瀹炴ā寮忎笌淇濇姢妯″紡http://m.shnenglu.com/mydriverc/articles/30719.html鏃呴?/dc:creator>鏃呴?/author>Thu, 23 Aug 2007 16:52:00 GMThttp://m.shnenglu.com/mydriverc/articles/30719.htmlhttp://m.shnenglu.com/mydriverc/comments/30719.htmlhttp://m.shnenglu.com/mydriverc/articles/30719.html#Feedback0http://m.shnenglu.com/mydriverc/comments/commentRss/30719.htmlhttp://m.shnenglu.com/mydriverc/services/trackbacks/30719.html

瀹炴ā寮忥細 錛堝嵆瀹炲湴鍧璁塊棶妯″紡錛夊畠鏄?/span> Intel鍏徃80286鍙婁互鍚庣殑x86(80386,80486鍜?/span>80586絳?/span>)鍏煎澶勭悊鍣紙CPU錛夌殑涓縐嶆搷浣滄ā寮忋傚疄妯″紡琚壒孌婂畾涔変負20浣嶅湴鍧鍐呭瓨鍙闂┖闂翠笂錛岃繖灝辨剰鍛崇潃瀹冪殑瀹歸噺鏄?/span>2鐨?/span>20嬈″箓錛?/span>1M錛夌殑鍙闂唴瀛樼┖闂達紙鐗╃悊鍐呭瓨鍜?/span>BIOS-ROM錛夛紝杞歡鍙氳繃榪欎簺鍦板潃鐩存帴璁塊棶BIOS紼嬪簭鍜屽鍥寸‖浠躲傚疄妯″紡涓嬪鐞嗗櫒娌℃湁紜歡綰х殑鍐呭瓨淇濇姢姒傚康鍜屽閬撲換鍔$殑宸ヤ綔妯″紡銆備絾鏄負浜嗗悜涓嬪吋瀹癸紝鎵浠?/span>80286鍙婁互鍚庣殑x86緋誨垪鍏煎澶勭悊鍣ㄤ粛鐒舵槸寮鏈哄惎鍔ㄦ椂宸ヤ綔鍦ㄥ疄妯″紡涓嬨?/span>80186鍜屾棭鏈熺殑澶勭悊鍣ㄤ粎鏈変竴縐嶆搷浣滄ā寮忥紝灝辨槸鍚庢潵鎴戜滑鎵瀹氫箟鐨勫疄妯″紡銆傚疄妯″紡铏界劧鑳借闂埌1M鐨勫湴鍧絀洪棿錛屼絾鏄敱浜?/span>BIOS鐨勬槧灝勪綔鐢紙鍗?/span>BIOS鍗犵敤浜嗛儴鍒嗙┖闂村湴鍧璧勬簮錛夛紝鎵浠ョ湡姝h兘浣跨敤鐨勭墿鐞嗗唴瀛樼┖闂達紙鍐呭瓨鏉★級錛屼篃灝辨槸鍦?/span>640k鍒?/span>924k涔嬮棿銆?/span>1M 鍦板潃絀洪棿緇勬垚鏄敱 16浣嶇殑孌靛湴鍧鍜?/span>16浣嶇殑孌靛唴鍋忕Щ鍦板潃緇勬垚鐨勩傜敤鍏紡琛ㄧず涓猴細鐗╃悊鍦板潃=宸︾Щ4浣嶇殑孌靛湴鍧+鍋忕Щ鍦板潃銆?/span>

286澶勭悊鍣ㄤ綋緋葷粨鏋勫紩鍏ヤ簡鍦板潃淇濇姢妯″紡鐨勬蹇碉紝澶勭悊鍣ㄨ兘澶熷鍐呭瓨鍙婁竴浜涘叾浠栧鍥磋澶囧仛紜歡綰х殑淇濇姢璁劇疆錛堜繚鎶よ緗疄璐ㄤ笂灝辨槸灞忚斀涓浜涘湴鍧鐨勮闂級銆備嬌鐢ㄨ繖浜涙柊鐨勭壒鎬э紝鐒惰屽繀涓嶅彲灝戜竴浜涢澶栫殑鍦?/span>80186鍙婁互鍓嶅鐞嗗櫒娌℃湁鐨勬搷浣滆紼嬨傝嚜浠庢渶鍒濈殑x86寰鐞嗗櫒瑙勬牸浠ュ悗錛屽畠瀵圭▼搴忓紑鍙戝畬鍏ㄥ悜涓嬪吋瀹癸紝80286鑺墖琚埗浣滄垚鍚姩鏃剁戶鎵夸簡浠ュ墠鐗堟湰鑺墖鐨勭壒鎬э紝宸ヤ綔鍦ㄥ疄妯″紡涓嬶紝鍦ㄨ繖縐嶆ā寮忎笅瀹為檯涓婃槸鍏抽棴浜嗘柊鐨勪繚鎶ゅ姛鑳界壒鎬э紝鍥犳鑳戒嬌浠ュ線鐨勮蔣浠剁戶緇伐浣滃湪鏂扮殑鑺墖涓嬨傜洿鍒頒粖澶╋紝鐢氳嚦鏈鏂扮殑x86澶勭悊鍣ㄩ兘鏄湪璁$畻鏈哄姞鐢靛惎鍔ㄦ椂閮芥槸宸ヤ綔鍦ㄥ疄妯″紡涓嬶紝瀹冭兘榪愯涓轟互鍓嶅鐞嗗櫒鑺墖鍐欑殑紼嬪簭.

DOS鎿嶄綔緋葷粺錛堜緥濡?/font> MS-DOS,DR-DOS錛夊伐浣滃湪瀹炴ā寮忎笅錛屽井杞?/span>Windows鏃╂湡鐨勭増鏈紙瀹冩湰璐ㄤ笂鏄繍琛屽湪DOS涓婄殑鍥懼艦鐢ㄦ埛鐣岄潰搴旂敤紼嬪簭錛屽疄闄呬笂鏈韓騫朵笉鏄竴涓搷浣滅郴緇燂級涔熸槸榪愯鍦ㄥ疄妯″紡涓嬶紝鐩村埌Windows3.0錛屽畠榪愯鏈熼棿鏃㈡湁瀹炴ā寮忓張鏈変繚鎶ゆā寮忥紝鎵浠ヨ瀹冩槸涓縐嶆販鍚堟ā寮忓伐浣溿傚畠鐨勪繚鎶ゆā寮忚繍琛屾湁涓ょ涓嶅悓鎰忎箟(鍥犱負80286騫舵病鏈夊畬鍏ㄥ湴瀹炵幇80386鍙婁互鍚庣殑淇濇姢妯″紡鍔熻兘)錛?/span>

1銆夆滄爣鍑嗕繚鎶ゆā寮忊濓細榪欏氨鏄▼搴忚繍琛屽湪淇濇姢妯″紡涓嬶紱

2銆夆滆櫄鎷熶繚鎶ゆā寮忥紙瀹炶川涓婅繕鏄疄妯″紡錛屾槸瀹炴ā寮忎笂妯℃嫙鐨勪繚鎶ゆā寮忥級鈥濓細瀹冧篃浣跨敤32浣嶅湴鍧瀵誨潃鏂瑰紡銆?/span>Windows3.1褰誨簳鍒犻櫎浜嗗瀹炴ā寮忕殑鏀寔銆傚湪80286澶勭悊鍣ㄨ姱鐗囦互鍚庯紝Windows3.1鎴愪負涓繪祦鎿嶄綔緋葷粺錛?/span>Windows/80286涓嶆槸涓繪祦浜у搧錛夈傜洰鍓嶅樊涓嶅鎵鏈夌殑X86緋誨垪澶勭悊鍣ㄦ搷浣滅郴緇燂紙Linux錛?/span>Windows95 and later錛?/span>OS/2絳夛級閮芥槸鍦ㄥ惎鍔ㄦ椂榪涜澶勭悊鍣ㄨ緗岃繘鍏ヤ繚鎶ゆā寮忕殑銆?/span>

瀹炴ā寮忓伐浣滄満鐞嗭細

1> 瀵逛簬8086/8088鏉ヨ璁$畻瀹為檯鍦板潃鏄敤緇濆鍦板潃瀵?/span>1M姹傛ā銆?/span>8086鐨勫湴鍧綰跨殑鐗╃悊緇撴瀯錛?/span>20鏍癸紝涔熷氨鏄畠鍙互鐗╃悊瀵誨潃鐨勫唴瀛樿寖鍥翠負2^20涓瓧鑺傦紝鍗?/span>1 M絀洪棿錛屼絾鐢變簬8086/8088鎵浣跨敤鐨勫瘎瀛樺櫒閮芥槸16浣嶏紝鑳藉琛ㄧず鐨勫湴鍧鑼冨洿鍙湁0-64K錛岃繖鍜?/span>1M鍦板潃絀洪棿鏉ユ瘮杈冧篃澶皬浜嗭紝鎵浠ヤ負浜嗗湪8086/8088涓嬭兘澶熻闂?/span>1M鍐呭瓨錛?/span>Intel閲囧彇浜嗗垎孌靛鍧鐨勬ā寮忥細16浣嶆鍩哄湴鍧:16浣嶅亸縐?/span>EA銆傚叾緇濆鍦板潃璁$畻鏂規硶涓猴細16浣嶅熀鍦板潃宸︾Щ4浣?/span>+16浣嶅亸縐?/span>=20浣嶅湴鍧銆?/span>聽 姣斿錛?/span>DS=1000H EA=FFFFH 閭d箞緇濆鍦板潃灝變負錛?/span>10000H +
0FFFFH = 1FFFFH 鍦板潃鍗曞厓
銆傞氳繃榪欑鏂規硶鏉ュ疄鐜頒嬌鐢?/span>16浣嶅瘎瀛樺櫒璁塊棶1M鐨勫湴鍧絀洪棿錛岃繖縐嶆妧鏈槸澶勭悊鍣ㄥ唴閮ㄥ疄鐜扮殑錛岄氳繃涓婅堪鍒嗘鎶鏈ā寮忥紝鑳藉琛ㄧず鐨勬渶澶у唴瀛樹負錛?/span>
FFFFh: FFFFh=FFFF0h+FFFFh=10FFEFh=1M+64K-16Bytes錛?/span>1M澶氫綑鍑烘潵鐨勯儴鍒嗚縐板仛楂樼鍐呭瓨鍖?/span>HMA錛?span style="color: black;">銆備絾8086/8088鍙湁20浣嶅湴鍧綰匡紝鍙兘澶熻闂?/span>1M鍦板潃鑼冨洿鐨勬暟鎹紝鎵浠ュ鏋滆闂?/span>100000h~10FFEFh涔嬮棿鐨勫唴瀛橈紙澶т簬1M絀洪棿錛夛紝鍒欏繀欏繪湁絎?/span>21鏍瑰湴鍧綰挎潵鍙備笌瀵誨潃錛?/span>8086/8088娌℃湁錛夈傚洜姝わ紝褰撶▼搴忓憳緇欏嚭瓚呰繃1M錛?/span>100000H-10FFEFH錛夌殑鍦板潃鏃訛紝鍥犱負閫昏緫涓婃甯革紝緋葷粺騫朵笉璁や負鍏惰闂秺鐣岃屼駭鐢熷紓甯革紝鑰屾槸鑷姩浠?/span>0寮濮嬭綆楋紝涔熷氨鏄緋葷粺璁$畻瀹為檯鍦板潃鐨勬椂鍊欐槸鎸夌収瀵?/span>1M姹傛ā鐨勬柟寮忚繘琛岀殑錛岃繖縐嶆妧鏈縐頒負wrap-around銆?/span>

2> 瀵逛簬80286鎴栦互涓婄殑CPU閫氳繃A20 GATE鏉ユ帶鍒?/span>A20鍦板潃綰?/span> 銆?/span> 鎶鏈彂灞曞埌浜?/span> 80286錛岃櫧鐒剁郴緇熺殑鍦板潃鎬葷嚎鐢卞師鏉ョ殑20鏍瑰彂灞曚負24鏍癸紝榪欐牱鑳藉璁塊棶鐨勫唴瀛樺彲浠ヨ揪鍒?/span>2^24=16M,浣嗘槸Intel鍦ㄨ璁?/span>80286鏃舵彁鍑虹殑鐩爣鏄悜涓嬪吋瀹?/span>,鎵浠ュ湪瀹炴ā寮忎笅錛岀郴緇熸墍琛ㄧ幇鐨勮涓哄簲璇ュ拰8086/8088鎵琛ㄧ幇鐨勫畬鍏ㄤ竴鏍鳳紝涔熷氨鏄錛屽湪瀹炴ā寮忎笅錛?/span>80386浠ュ強鍚庣畫緋誨垪搴旇鍜?/span>8086/8088瀹屽叏鍏煎浠嶇劧浣跨敤A20鍦板潃綰褲傛墍浠ヨ80286鑺墖瀛樺湪涓涓?/span>BUG錛氬畠寮璁?/span>A20鍦板潃綰褲傚鏋滅▼搴忓憳璁塊棶100000H-10FFEFH涔嬮棿鐨勫唴瀛橈紝緋葷粺灝嗗疄闄呰闂繖鍧楀唴瀛橈紙娌℃湁wrap-around鎶鏈級錛岃屼笉鏄薄8086/8088涓鏍蜂粠0寮濮嬨傛垜浠潵鐪嬩竴鍓浘錛?/span>


涓轟簡瑙e喅涓婅堪鍏煎鎬ч棶棰橈紝IBM浣跨敤閿洏鎺у埗鍣ㄤ笂鍓╀綑鐨勪竴浜涜緭鍑虹嚎鏉ョ鐞嗙21鏍瑰湴鍧綰匡紙浠?/span>0寮濮嬫暟鏄20鏍癸級鐨勬湁鏁堟э紝琚О涓?/span>A20 Gate錛?/span>

1> 濡傛灉A20 Gate琚墦寮錛屽垯褰撶▼搴忓憳緇欏嚭100000H-10FFEFH涔嬮棿鐨勫湴鍧鐨勬椂鍊欙紝緋葷粺灝嗙湡姝h闂繖鍧楀唴瀛樺尯鍩燂紱

2 濡傛灉A20 Gate琚姝紝鍒欏綋紼嬪簭鍛樼粰鍑?/span>100000H-10FFEFH涔嬮棿鐨勫湴鍧鐨勬椂鍊欙紝緋葷粺浠嶇劧浣跨敤8086/8088鐨勬柟寮忓嵆鍙栨ā鏂瑰紡錛?/span>8086浠跨湡錛夈傜粷澶у鏁?/span>IBM PC鍏煎鏈洪粯璁ょ殑A20 Gate鏄紱佹鐨勩傜幇鍦ㄨ澶氭柊鍨?/span>PC涓婂瓨鍦ㄧ洿鎺ラ氳繃BIOS鍔熻兘璋冪敤鏉ユ帶鍒?/span>A20 Gate鐨勫姛鑳姐?/span>

涓婇潰鎵榪扮殑鍐呭瓨璁塊棶妯″紡閮芥槸瀹炴ā寮忥紝鍦?/span>80286浠ュ強鏇撮珮緋誨垪鐨?/span>PC涓紝鍗充嬌A20 Gate琚墦寮錛屽湪瀹炴ā寮忎笅鎵鑳藉璁塊棶鐨勫唴瀛樻渶澶т篃鍙兘涓?/span>10FFEFH錛屽敖綆″畠浠殑鍦板潃鎬葷嚎鎵鑳藉璁塊棶鐨勮兘鍔涢兘澶уぇ瓚呰繃榪欎釜闄愬埗銆備負浜嗚兘澶熻闂?/span>10FFEFH浠ヤ笂鐨勫唴瀛橈紝鍒欏繀欏昏繘鍏ヤ繚鎶ゆā寮忋?/span>

淇濇姢妯″紡錛?/strong> 緇忓父緙╁啓涓?/span> p-mode,鍦?/font> Intel iAPX 286紼嬪簭鍛樺弬鑰冩墜鍐屼腑錛?/span>iAPX
286鏄?/span>Intel 80286鐨勫彟涓縐嶅彨娉曪級 瀹冨張琚О浣滀負铏氭嫙鍦板潃淇濇姢妯″紡銆傜粡綆″湪Intel 80286鎵嬪唽涓凡緇忔彁鍑轟簡铏氬湴鍧淇濇姢妯″紡錛屼絾瀹為檯涓婂畠鍙槸涓涓寚寮曪紝鐪熸鐨?/span>32浣嶅湴鍧鍑虹幇鍦?/span>Intel 80386涓娿備繚鎶ゆā寮忔湰韜槸80286鍙婁互鍚庡吋瀹瑰鐞嗗櫒搴忓垪涔嬪悗浜ф垚鐨勪竴縐嶆搷浣滄ā寮忥紝瀹冨叿鏈夎澶氱壒鎬ц璁′負鎻愰珮緋葷粺鐨勫閬撲換鍔″拰緋葷粺鐨勭ǔ瀹氭с備緥濡傚唴瀛樼殑淇濇姢錛屽垎欏墊満鍒跺拰紜歡铏氭嫙瀛樺偍鐨勬敮鎸併傜幇浠e鏁扮殑x86澶勭悊鍣ㄦ搷浣滅郴緇熼兘榪愯鍦ㄤ繚鎶ゆā寮忎笅錛屽寘鎷?/span>Linux, Free BSD, 鍜?/span>Windows
3.0錛堝畠涔熻繍琛屽湪瀹炴ā寮忎笅錛屼負浜嗗拰Windows 2.x搴旂敤紼嬪簭鍏煎錛夊強浠ュ悗鐨勭増鏈?/span>

80286鍙婁互鍚庣殑澶勭悊鍣ㄥ彟涓縐嶅伐浣滄ā寮忔槸瀹炴ā寮忥紙浠呭綋緋葷粺鍚姩鐨勪竴鐬棿錛夛紝鏈潃鍚戜笅鍏煎鐨勫師鍒欏睆钄戒繚鎶ゆā寮忕壒鎬э紝浠庤屽璁歌佺殑杞歡鑳藉榪愯鍦ㄦ柊鐨勮姱鐗囦笂銆備綔涓轟竴涓璁¤鑼冿紝鎵鏈夌殑x86緋誨垪澶勭悊鍣紝闄ゅ祵鍏ュ紡Intel80387涔嬪錛岄兘鏄郴緇熷惎鍔ㄥ伐浣滃湪瀹炴ā寮忎笅錛岀‘淇濋仐鐣欎笅鐨勬搷浣滅郴緇熷悜涓嬪吋瀹廣傚畠浠兘蹇呴』琚惎鍔ㄧ▼搴忥紙鎿嶄綔緋葷粺紼嬪簭鏈鍒濊繍琛屼唬鐮侊級閲嶆柊璁劇疆鑰岀浉搴旇繘鍏ヤ繚鎶ゆā寮忕殑錛屽湪榪欎箣鍓嶄換浣曠殑淇濇姢妯″紡鐗規ч兘鏄棤鏁堢殑銆傚湪鐜頒唬璁$畻鏈轟腑錛岃繖縐嶅尮閰嶈繘鍏ヤ繚鎶ゆā寮忔槸鎿嶄綔緋葷粺鍚姩鏃舵渶鍓嶆部鐨勫姩浣滀箣涓銆?/span>

鍦ㄨ璋冨仠鐨勫閬撲換鍔$▼搴忎腑錛屽畠鍙互浠庢柊宸ヤ綔鍦ㄥ疄妯″紡涓嬫槸鐩稿綋鍙兘鐨勩備繚鎶ゆā寮忕殑鐗規ф槸闃繪琚叾浠栦換鍔℃垨緋葷粺鍐呮牳鐮村潖宸茬粡涓嶅仴鍏ㄧ殑紼嬪簭鐨勮繍琛岋紝淇濇姢妯″紡涔熸湁瀵圭‖浠剁殑鏀寔錛屼緥濡備腑鏂繍琛岀▼搴忥紝縐誨姩榪愯榪涚▼鏂囨。鍒板彟涓涓繘紼嬪拰緗┖澶氫換鍔$殑淇濇姢鍔熻兘銆?/span>

386鍙婁互鍚庣郴鍒楀鐞嗗櫒涓嶄粎鍏鋒湁淇濇姢妯″紡鍙堝叿鏈?/span>32浣嶅瘎瀛樺櫒錛岀粨鏋滃鑷翠簡澶勭悊鍔熻兘鐨勬販涔憋紝鍥犱負80286铏界劧鏀寔淇濇姢妯″紡錛屼絾鏄畠鐨勫瘎瀛樺櫒閮芥槸16浣嶇殑錛屽畠鏄氳繃鑷韓紼嬪簭璁懼畾鑰屾ā鎷熷嚭鐨?/span>32浣嶏紝騫墮潪32浣嶅瘎瀛樺櫒澶勭悊銆傚綊鍜庝簬榪欑娣蜂貢鐜拌薄錛屽畠淇冧嬌Windows/386 鍙婁互鍚庣殑鐗堟湰褰誨簳鎶涘純80286鐨勮櫄鎷熶繚鎶ゆā寮忥紝浠ュ悗淇濇姢妯″紡鐨勬搷浣滅郴緇熼兘鏄繍琛屽湪80386浠ヤ笂錛屼笉鍐嶈繍琛屽湪80286錛堝敖綆?/span>80286妯″紡鏀寔淇濇姢妯″紡錛夛紝鎵浠ヨ80286鏄竴涓繃娓¤姱鐗囷紝瀹冩槸涓涓繃娓′駭鍝併?/span>

灝界 286鍜?/span>386澶勭悊鍣ㄨ兘澶熷疄鐜頒繚鎶ゆā寮忓拰鍏煎浠ュ墠鐨勭増鏈紝浣嗘槸鍐呭瓨鐨?/span>1M浠ヤ笂絀洪棿榪樻槸涓嶆槗瀛樺彇錛岀敱浜庡唴瀛樺湴鍧鐨勫洖緇曪紝IBM PC XT 錛堢幇浠ュ簾寮冿級璁捐涓縐嶆ā鎷熺郴緇燂紝瀹冭兘榪囨楠楁墜孌佃闂埌1M浠ヤ笂鐨勫湴鍧絀洪棿錛屽氨鏄紑閫氫簡A20鍦板潃綰褲傚湪淇濇姢妯″紡閲岋紝鍓?/span>32涓腑鏂負澶勭悊鍣ㄥ紓甯擱鐣欙紝渚嬪錛屼腑鏂?/span>0D錛堝崄榪涘埗13錛夊父瑙勪繚鎶ゆ晠闅滃拰涓柇00鏄櫎鏁頒負闆跺紓甯搞?/span>

濡傛灉瑕佽闂洿澶氱殑鍐呭瓨錛屽垯蹇呴』榪涘叆淇濇姢妯″紡錛岄偅涔堬紝鍦ㄤ繚鎶ゆā寮忎笅錛?/font> A20
Gate瀵逛簬鍐呭瓨璁塊棶鏈変粈涔堝獎鍝嶅憿錛?/font>

涓轟簡鎼炴竻妤氳繖涓鐐癸紝鎴戜滑鍏堟潵鐪嬩竴鐪?/span>A20鐨勫伐浣滃師鐞嗐?/span>A20錛屼粠瀹冪殑鍚嶅瓧灝卞彲浠ョ湅鍑烘潵錛屽叾瀹炲畠灝辨槸瀵逛簬A20錛堜粠0寮濮嬫暟錛夌殑鐗規畩澶勭悊(涔熷氨鏄絎?/span>21鏍瑰湴鍧綰跨殑澶勭悊)銆傚鏋?/span>A20 Gate琚姝紝瀵逛簬80286鏉ヨ錛屽叾鍦板潃涓?/span>24鏍瑰湴鍧綰匡紝鍏跺湴鍧琛ㄧず涓?/span>EFFFFF錛涘浜?/span>80386鏋佸叾闅忓悗鐨?/span>32鏍瑰湴鍧綰胯姱鐗囨潵璇達紝鍏跺湴鍧琛ㄧず涓?/span>FFEFFFFF銆傝繖縐嶈〃紺虹殑鎰忔濇槸錛?/span>

1> 濡傛灉A20
Gate琚姝€傚垯鍏剁A20鍦?/span>CPU鍋氬湴鍧璁塊棶鐨勬椂鍊欐槸鏃犳晥鐨勶紝姘歌繙鍙兘琚綔涓?/span>0銆傛墍浠ワ紝鍦ㄤ繚鎶ゆā寮忎笅錛屽鏋?/span>A20
Gate琚姝紝鍒欏彲浠ヨ闂殑鍐呭瓨鍙兘鏄鏁?/span>1M孌碉紝鍗?/span>1M,3M,5M鈥?span lang="ZH-CN">錛屼篃灝辨槸00000-FFFFF, 200000-2FFFFF,300000-3FFFFF鈥?/font>

2濡傛灉A20 Gate琚墦寮銆傚垯鍏剁20-bit鏄湁鏁堢殑錛屽叾鍊兼棦鍙互鏄?/span>0錛屽張鍙互鏄?/span>1銆傞偅涔堝氨鍙互浣?/span>A20綰夸紶閫掑疄闄呯殑鍦板潃淇″彿銆傚鏋?/span>A20 Gate琚墦寮錛屽垯鍙互璁塊棶鐨勫唴瀛樺垯鏄繛緇殑銆?/span>

瀹炴ā寮忓拰淇濇姢妯″紡鐨勫尯鍒細 浠庤〃闈笂鐪嬶紝淇濇姢妯″紡鍜屽疄妯″紡騫舵病鏈夊お澶х殑鍖哄埆錛屼簩鑰呴兘浣跨敤浜嗗唴瀛樻銆佷腑鏂拰璁懼椹卞姩鏉ュ鐞嗙‖浠訛紝浣嗕簩鑰呮湁寰堝涓嶅悓涔嬪銆傛垜浠煡閬擄紝鍦ㄥ疄妯″紡涓唴瀛樿鍒掑垎鎴愭錛屾瘡涓鐨勫ぇ灝忎負 64KB 錛岃岃繖鏍風殑孌靛湴鍧鍙互鐢?/span> 16 浣嶆潵琛ㄧず銆傚唴瀛樻鐨勫鐞嗘槸閫氳繃鍜屾瀵勫瓨鍣ㄧ浉鍏寵仈鐨勫唴閮ㄦ満鍒舵潵澶勭悊鐨勶紝榪欎簺孌靛瘎瀛樺櫒錛?/span> CS 銆?/span> DS 銆?/span> SS 鍜?/span> ES 錛夌殑鍐呭褰㈡垚浜嗙墿鐞嗗湴鍧鐨勪竴閮ㄥ垎銆傚叿浣撴潵璇達紝鏈緇堢殑鐗╃悊鍦板潃鏄敱 16 浣嶇殑孌靛湴鍧鍜?/span> 16 浣嶇殑孌靛唴鍋忕Щ鍦板潃緇勬垚鐨勩傜敤鍏紡琛ㄧず涓猴細鐗╃悊鍦板潃 = 宸︾Щ 4 浣嶇殑孌靛湴鍧 + 鍋忕Щ鍦板潃銆?/span>

鍦ㄤ繚鎶ゆā寮忎笅錛屾鏄氳繃涓緋誨垪琚О涔嬩負 鈥?/span> 鎻忚堪絎﹁〃 鈥?/span> 鐨勮〃鎵瀹氫箟鐨勩傛瀵勫瓨鍣ㄥ瓨鍌ㄧ殑鏄寚鍚戣繖浜涜〃鐨勬寚閽堛傜敤浜庡畾涔夊唴瀛樻鐨勮〃鏈変袱縐嶏細鍏ㄥ眬鎻忚堪絎﹁〃 (GDT) 鍜屽眬閮ㄦ弿榪扮琛?/span> (LDT) 銆?/span> GDT 鏄竴涓鎻忚堪絎︽暟緇勶紝鍏朵腑鍖呭惈鎵鏈夊簲鐢ㄧ▼搴忛兘鍙互浣跨敤鐨勫熀鏈弿榪扮銆傚湪瀹炴ā寮忎腑錛屾闀挎槸鍥哄畾鐨?/span> ( 涓?/span> 64KB) 錛岃屽湪淇濇姢妯″紡涓紝孌甸暱鏄彲鍙樼殑錛屽叾鏈澶у彲杈?/span> 4GB 銆?/span> LDT 涔熸槸孌墊弿榪扮鐨勪竴涓暟緇勩備笌 GDT 涓嶅悓錛?/span> LDT 鏄竴涓錛屽叾涓瓨鏀劇殑鏄眬閮ㄧ殑銆佷笉闇瑕佸叏灞鍏變韓鐨勬鎻忚堪絎︺傛瘡涓涓搷浣滅郴緇熼兘蹇呴』瀹氫箟涓涓?/span> GDT 錛岃屾瘡涓涓鍦ㄨ繍琛岀殑浠誨姟閮戒細鏈変竴涓浉搴旂殑 LDT 銆傛瘡涓涓弿榪扮鐨勯暱搴︽槸 8 涓瓧鑺傦紝鏍煎紡濡傚浘 3 鎵紺恒傚綋孌靛瘎瀛樺櫒琚姞杞界殑鏃跺欙紝孌靛熀鍦板潃灝變細浠庣浉搴旂殑琛ㄥ叆鍙h幏寰椼傛弿榪扮鐨勫唴瀹逛細琚瓨鍌ㄥ湪涓涓▼搴忓憳涓嶅彲瑙佺殑褰卞儚瀵勫瓨鍣?/span> (shadow register) 涔嬩腑錛屼互渚夸笅涓嬈″悓涓涓鍙互浣跨敤璇ヤ俊鎭屼笉鐢ㄦ瘡嬈¢兘鍒拌〃涓彁鍙栥傜墿鐞嗗湴鍧鐢?/span> 16 浣嶆垨鑰?/span> 32 浣嶇殑鍋忕Щ鍔犱笂褰卞儚瀵勫瓨鍣ㄤ腑鐨勫熀鍧緇勬垚銆傚疄妯″紡鍜屼繚鎶ゆā寮忕殑涓嶅悓鍙互浠庝笅鍥懼緢娓呮鍦扮湅鍑烘潵銆?/span>

瀹炴ā寮忎笅瀵誨潃鏂瑰紡

淇濇姢妯″紡涓嬪鍧鏂瑰紡



]]>
Boot Sector緇撴瀯銆佺郴緇熷惎鍔ㄨ繃紼嬬畝浠?/title><link>http://m.shnenglu.com/mydriverc/articles/30640.html</link><dc:creator>鏃呴?/dc:creator><author>鏃呴?/author><pubDate>Wed, 22 Aug 2007 16:36:00 GMT</pubDate><guid>http://m.shnenglu.com/mydriverc/articles/30640.html</guid><wfw:comment>http://m.shnenglu.com/mydriverc/comments/30640.html</wfw:comment><comments>http://m.shnenglu.com/mydriverc/articles/30640.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/mydriverc/comments/commentRss/30640.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/mydriverc/services/trackbacks/30640.html</trackback:ping><description><![CDATA[ <font size="2">瑙e喅鍥版壈宸蹭箙鐨勭郴緇熷惎鍔ㄨ繃紼嬶紝鍙互甯姪浣垮緋葷粺鍏卞瓨錛岃屼笉褰卞搷鍚勮嚜鍚姩錛?/font> <p style="margin: 0cm 0cm 0pt;" class="MsoNormal"> <font size="2"> <b style="">Boot Sector</b> <b style="">緇撴瀯銆佺郴緇熷惎鍔ㄨ繃紼嬬畝浠?/b> <br /> <br />涓. Boot Sector 鐨勭粍鎴?<br /><br />聽 聽Boot Sector 涔熷氨鏄‖鐩樼殑絎竴涓墖鍖猴紙娉?font face="Times New Roman">1</font>錛?font face="Times New Roman">0</font>鏌遍潰錛?font face="Times New Roman">0</font>紓侀亾錛?font face="Times New Roman">1</font>鎵囧尯錛?錛堟敞<font face="Times New Roman">2</font>錛?font face="Times New Roman"> 1</font>紓侀亾<font face="Times New Roman">=16</font>鎵囧尯錛?font face="Times New Roman">1</font>鎵囧尯<font face="Times New Roman">=512</font>瀛楄妭錛? 瀹冪敱 MBR (Master Boot Record), DPT (Disk Partition Table) 鍜?Boot Record ID 聽涓夐儴鍒嗙粍鎴? <br />聽 聽MBR 鍙堢О浣滀富寮曞璁板綍鍗犵敤 Boot Sector 鐨勫墠 446 涓瓧鑺?( 0 to 0x1BD ), <br />瀛樻斁緋葷粺涓誨紩瀵肩▼搴?(瀹冭礋璐f鏌ョ‖鐩樺垎鍖鴻〃銆佸鎵懼彲寮曞鍒嗗尯騫惰礋璐e皢鍙紩瀵煎垎鍖虹殑寮曞鎵囧尯錛圖BR錛夎鍏ュ唴瀛?. <br />聽 聽DPT 鍗充富鍒嗗尯琛ㄥ崰鐢?64 涓瓧鑺?(0x1BE to 0x1FD), 璁板綍浜嗙鐩樼殑鍩烘湰鍒嗗尯 <br />淇℃伅. 涓誨垎鍖鴻〃鍒嗕負鍥涗釜鍒嗗尯欏? 姣忛」 16 瀛楄妭, 鍒嗗埆璁板綍浜嗘瘡涓富鍒嗗尯鐨勪俊鎭?<br />(鍥犳鏈澶氬彲浠ユ湁鍥涗釜涓誨垎鍖?. <br />聽 聽Boot Record ID 鍗沖紩瀵煎尯鏍囪鍗犵敤涓や釜瀛楄妭 <b>(0x1FE and 0x1FF), 瀵逛簬鍚堟硶 <br /> 寮曞鍖? 瀹冪瓑浜?</b><b>0xAA55,</b> 榪欐槸鍒ゅ埆寮曞鍖烘槸鍚﹀悎娉曠殑鏍囧織. <br />聽 聽Boot Sector 鐨勫叿浣撶粨鏋勫涓嬪浘鎵紺? <br />聽 聽 聽0000 聽|------------------------------------------------| <br />聽 聽 聽 聽 聽 聽| 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽| <br />聽 聽 聽 聽 聽 聽| 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽| <br />聽 聽 聽 聽 聽 聽| 聽 聽 聽 聽 聽 聽 Master Boot Record 聽 聽 聽 聽 聽 聽 聽 聽 | <br />聽 聽 聽 聽 聽 聽| 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽| <br />聽 聽 聽 聽 聽 聽| 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽| <br />聽 聽 聽 聽 聽 聽| 聽 聽 聽 聽 聽 聽 涓誨紩瀵艱褰?446瀛楄妭) 聽 聽 聽 聽 聽 聽 聽 聽| <br />聽 聽 聽 聽 聽 聽| 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽| <br />聽 聽 聽 聽 聽 聽| 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽| <br />聽 聽 聽 聽 聽 聽| 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽| <br />聽 聽 聽01BD 聽| 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽| <br />聽 聽 聽01BE 聽|------------------------------------------------| <br />聽 聽 聽 聽 聽 聽| 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽| <br />聽 聽 聽01CD 聽| 聽 聽 聽 聽 聽 聽 鍒嗗尯淇℃伅 聽1(16瀛楄妭) 聽 聽 聽 聽 聽 聽 聽 聽| <br />聽 聽 聽01CE 聽|------------------------------------------------| <br />聽 聽 聽 聽 聽 聽| 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽| <br />聽 聽 聽01DD 聽| 聽 聽 聽 聽 聽 聽 鍒嗗尯淇℃伅 聽2(16瀛楄妭) 聽 聽 聽 聽 聽 聽 聽 聽| <br />聽 聽 聽01DE 聽|------------------------------------------------| <br />聽 聽 聽 聽 聽 聽| 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽| <br />聽 聽 聽01ED 聽| 聽 聽 聽 聽 聽 聽 鍒嗗尯淇℃伅 聽3(16瀛楄妭) 聽 聽 聽 聽 聽 聽 聽 聽| <br />聽 聽 聽01EE 聽|------------------------------------------------| <br />聽 聽 聽 聽 聽 聽| 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽| <br />聽 聽 聽01FD 聽| 聽 聽 聽 聽 聽 聽 鍒嗗尯淇℃伅 聽4(16瀛楄妭) 聽 聽 聽 聽 聽 聽 聽 聽| <br />聽 聽 聽 聽 聽 聽|------------------------------------------------| <br />聽 聽 聽 聽 聽 聽| 01FE 聽 聽 聽 聽 聽 聽 聽 聽| 01FF 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 | <br />聽 聽 聽 聽 聽 聽| 聽 聽 聽 聽 55 聽 聽 聽 聽 聽| 聽 聽 聽 聽 聽 AA 聽 聽 聽 聽 聽 聽 | <br />聽 聽 聽 聽 聽 聽|------------------------------------------------|</font> </p> <p style="margin: 0cm 0cm 0pt;" class="MsoNormal"> <font size="2">浜? 緋葷粺鍚姩榪囩▼綆浠?<br /><br />聽 聽緋葷粺鍚姩榪囩▼涓昏鐢變竴涓嬪嚑姝ョ粍鎴?浠ョ‖鐩樺惎鍔ㄤ負渚?: <br /><br />聽 聽1. 寮鏈?br />聽 聽2. BIOS 鍔犵數鑷 ( Power On Self Test -- POST ) <br />聽 聽 聽 鍐呭瓨鍦板潃涓?0ffff:0000 <br />聽 聽3. 灝嗙‖鐩樼涓涓墖鍖?(0澶?閬?鎵囧尯, 涔熷氨鏄疊oot Sector) <br />聽 聽 聽 璇誨叆<b>鍐呭瓨鍦板潃 0000:<chmetcnv unitname="C" sourcevalue="7" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on">7c</chmetcnv>00</b> 澶?錛堟敞<font face="Times New Roman">3</font>錛氶亣鍒版渶鍚庝袱涓瓧鑺?5 AA璇誨叆鍐呭瓨鎵ц錛?<br />聽 聽4. 媯鏌?(WORD) 0000:7dfe 鏄惁絳変簬 0xaa55, 鑻ヤ笉絳変簬 <br />聽 聽 聽 鍒欒漿鍘誨皾璇曞叾浠栧惎鍔ㄤ粙璐? 濡傛灉娌℃湁鍏朵粬鍚姩浠嬭川鍒欐樉紺?<br />聽 聽 聽 "No ROM BASIC" 鐒跺悗姝繪満. <br />聽 聽5. 璺寵漿鍒?0000:<chmetcnv unitname="C" sourcevalue="7" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on">7c</chmetcnv>00 澶勬墽琛?MBR 涓殑紼嬪簭. <br />聽 聽6. MBR 棣栧厛灝嗚嚜宸卞鍒跺埌 0000:0600 澶? 鐒跺悗緇х畫鎵ц. <br />聽 聽7. 鍦ㄤ富鍒嗗尯琛ㄤ腑鎼滅儲鏍囧織涓烘椿鍔ㄧ殑鍒嗗尯. 濡傛灉鍙戠幇娌℃湁媧誨姩 <br />聽 聽 聽 鍒嗗尯鎴栨湁涓嶆涓涓椿鍔ㄥ垎鍖? 鍒欒漿鍋滄. <br />聽 聽8. 灝嗘椿鍔ㄥ垎鍖虹殑絎竴涓墖鍖鴻鍏ュ唴瀛樺湴鍧 0000:<chmetcnv unitname="C" sourcevalue="7" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on">7c</chmetcnv>00 澶?</font> </p> <p style="margin: 0cm 0cm 0pt;" class="MsoNormal"> <font size="2">錛堟敞4錛氬湪鍒嗗尯琛ㄧ殑鍥涗釜璁板綍涓紝涓鑸潵璇存湁涓斿彧鏈変竴涓褰曠殑鏍囪鏄椿鍔ㄧ殑錛孧BR錛堜富瑕佽礋璐d粠媧誨姩鍒嗗尯涓杞藉茍榪愯緋葷粺寮曞紼嬪簭錛変細鍘繪壘鍒拌繖涓垎鍖鴻褰曪紝鏍規嵁璁板綍鐨勮搗濮嬫墖鍖哄姞杞借鍒嗗尯鐨勯昏緫 0 鎵囧尯錛堣搗濮嬫墖鍖猴級鐨勫唴瀹瑰埌 0x<chmetcnv unitname="C" sourcevalue="7" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on">07C</chmetcnv>0:0000錛屽茍涓旀墽琛?JUMP 0x<chmetcnv unitname="C" sourcevalue="7" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on">07C</chmetcnv>0:0000錛堟寜鐓ц鑼冿紝BOOT RECORD 涔熷簲璇ヤ粠 0x<chmetcnv unitname="C" sourcevalue="7" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on">07C</chmetcnv>0:0000 澶勫紑濮嬫墽琛岋紝鎵浠?MBR 閫氬父閮借鍏堝皢鑷繁鎼Щ錛屼互鑵懼嚭浣嶇疆鍘誨姞杞?BOOT RECORD錛夈傛帶鍒舵潈鍒囨崲鍒?BOOT RECORD銆侭OOT RECORD(鍖呮嫭boot loader濡俫rub鎴杔ilo 絳?浠?linux 涓轟緥錛屽畠浼氳鍙?linux 鍐呮牳闀滃儚鍒板湴鍧 0x9000:0000錛岀劧鍚庡紑濮嬪垏鎹㈠埌 0x9000:0000 緇х畫榪愯銆?浠?MS-DOS 涓轟緥錛屽垯瀹冧細璇誨彇鏂囦歡緋葷粺鏍圭洰褰曚笅鐨?IO.SYS 鍜?MSDOS.SYS 涓や釜鏂囦歡鐒跺悗鍔犺澆鍒板唴瀛樹腑緇х畫榪愯銆傦級<br />聽 聽9. 媯鏌?(WORD) 0000:7dfe 鏄惁絳変簬 0xaa55, 鑻ヤ笉絳変簬鍒?<br />聽 聽 聽 鏄劇ず "Missing Operating System" 鐒跺悗鍋滄, 鎴栧皾璇?<br />聽 聽 聽 杞洏鍚姩. <br />聽 聽10. 璺寵漿鍒?0000:<chmetcnv unitname="C" sourcevalue="7" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on">7c</chmetcnv>00 澶勭戶緇墽琛岀壒瀹氱郴緇熺殑鍚姩紼嬪簭. <br />聽 聽11. 鍚姩緋葷粺 ... <br /><br />聽 聽浠ヤ笂姝ラ涓?2,3,4,5 姝ユ槸鐢?<b>BIOS 鐨勫紩瀵肩▼搴?/b>瀹屾垚. 6,7,8,9,10 <br />姝ョ敱<b>MBR涓殑寮曞紼嬪簭</b>瀹屾垚. <br /><br />聽 聽涓鑸緋葷粺寮曞紼嬪簭 (濡?SmartFDISK, BootStar, PQBoot 絳? <br />閮芥槸灝嗘爣鍑嗕富寮曞璁板綍鏇挎崲鎴愯嚜宸辯殑寮曞紼嬪簭, 鍦ㄨ繍琛岀郴緇熷惎鍔ㄧ▼搴?<br />涔嬪墠璁╃敤鎴烽夋嫨瑕佸惎鍔ㄧ殑鍒嗗尯. <br />聽 聽鑰屾煇浜涚郴緇熻嚜甯︾殑澶氱郴緇熷紩瀵肩▼搴?(濡?lilo, NT Loader 絳? <br />鍒欏彲浠ュ皢鑷繁鐨勫紩瀵肩▼搴忔斁鍦ㄧ郴緇熸墍澶勫垎鍖虹殑絎竴涓墖鍖轟腑, 鍦?Linux <br />涓嵆涓?SuperBlock (鍏跺疄 SuperBlock 鏄袱涓墖鍖?. <br />聽 聽娉? 浠ヤ笂鍚勬楠や腑浣跨敤鐨勬槸鏍囧噯 MBR, 鍏朵粬澶氱郴緇熷紩瀵肩▼搴忕殑寮曞榪囩▼涓庢涓嶅悓.</font> </p> <font size="2">娉?錛氫竴浜涙棭鏈熺殑寮曞鍨嬬梾姣掞紝浠ュ強鏌愪簺 bootloader錛岃繕鏈変簺紜洏鍔犲瘑鍗★紝浠栦滑浼氫慨鏀?MBR錛屽仛涓滈挬瀛愨濆嚭鏉ャ?/font> <img src ="http://m.shnenglu.com/mydriverc/aggbug/30640.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/mydriverc/" target="_blank">鏃呴?/a> 2007-08-23 00:36 <a href="http://m.shnenglu.com/mydriverc/articles/30640.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>浜?Linux 2.4鍐呮牳涓殑杞婚噺榪涚▼瀹炵幇http://m.shnenglu.com/mydriverc/articles/29745.html鏃呴?/dc:creator>鏃呴?/author>Fri, 10 Aug 2007 17:38:00 GMThttp://m.shnenglu.com/mydriverc/articles/29745.htmlhttp://m.shnenglu.com/mydriverc/comments/29745.htmlhttp://m.shnenglu.com/mydriverc/articles/29745.html#Feedback0http://m.shnenglu.com/mydriverc/comments/commentRss/29745.htmlhttp://m.shnenglu.com/mydriverc/services/trackbacks/29745.html鏈鍒濈殑榪涚▼瀹氫箟閮藉寘鍚▼搴忋佽祫婧愬強鍏舵墽琛屼笁閮ㄥ垎錛屽叾涓▼搴忛氬父鎸囦唬鐮侊紝璧勬簮鍦ㄦ搷浣滅郴緇熷眰闈笂閫氬父鍖呮嫭鍐呭瓨璧勬簮銆両O璧勬簮銆佷俊鍙峰鐞嗙瓑閮ㄥ垎錛岃岀▼搴忕殑 鎵ц閫氬父鐞嗚В涓烘墽琛屼笂涓嬫枃錛屽寘鎷cpu鐨勫崰鐢紝鍚庢潵鍙戝睍涓虹嚎紼嬨傚湪綰跨▼姒傚康鍑虹幇浠ュ墠錛屼負浜嗗噺灝忚繘紼嬪垏鎹㈢殑寮閿錛屾搷浣滅郴緇熻璁¤呴愭笎淇榪涚▼鐨勬蹇碉紝閫愭笎 鍏佽灝嗚繘紼嬫墍鍗犳湁鐨勮祫婧愪粠鍏朵富浣撳墺紱誨嚭鏉ワ紝鍏佽鏌愪簺榪涚▼鍏變韓涓閮ㄥ垎璧勬簮錛屼緥濡傛枃浠躲佷俊鍙鳳紝鏁版嵁鍐呭瓨錛岀敋鑷充唬鐮侊紝榪欏氨鍙戝睍鍑鴻交閲忚繘紼嬬殑姒傚康銆侺inux鍐呮牳 鍦?.0.x鐗堟湰灝卞凡緇忓疄鐜頒簡杞婚噺榪涚▼錛屽簲鐢ㄧ▼搴忓彲浠ラ氳繃涓涓粺涓鐨刢lone()緋葷粺璋冪敤鎺ュ彛錛岀敤涓嶅悓鐨勫弬鏁版寚瀹氬垱寤鴻交閲忚繘紼嬭繕鏄櫘閫氳繘紼嬨傚湪鍐呮牳涓紝 clone()璋冪敤緇忚繃鍙傛暟浼犻掑拰瑙i噴鍚庝細璋冪敤do_fork()錛岃繖涓牳鍐呭嚱鏁板悓鏃朵篃鏄痜ork()銆乿fork()緋葷粺璋冪敤鐨勬渶緇堝疄鐜幫細

<linux-2.4.20/kernel/fork.c>
int do_fork(unsigned long clone_flags, unsigned long stack_start,
struct pt_regs *regs, unsigned long stack_size)

鍏朵腑鐨刢lone_flags鍙栬嚜浠ヤ笅瀹忕殑"鎴?鍊鹼細

<linux-2.4.20/include/linux/sched.h>
#define CSIGNAL 0x000000ff /* signal mask to be sent at exit */
#define CLONE_VM 0x00000100 /* set if VM shared between processes */
#define CLONE_FS 0x00000200 /* set if fs info shared between processes */
#define CLONE_FILES 0x00000400 /* set if open files shared between processes */
#define CLONE_SIGHAND 0x00000800 /* set if signal handlers and blocked signals shared */
#define CLONE_PID 0x00001000 /* set if pid shared */
#define CLONE_PTRACE 0x00002000 /* set if we want to let tracing continue on the child too */
#define CLONE_VFORK 0x00004000 /* set if the parent wants the child to wake it up on mm_release */
#define CLONE_PARENT 0x00008000 /* set if we want to have the same parent as the cloner */
#define CLONE_THREAD 0x00010000 /* Same thread group? */
#define CLONE_NEWNS 0x00020000 /* New namespace group? */
#define CLONE_SIGNAL (CLONE_SIGHAND | CLONE_THREAD)

鍦╠o_fork()涓紝涓嶅悓鐨? clone_flags灝嗗鑷翠笉鍚岀殑琛屼負錛屽浜嶭inuxThreads錛屽畠浣跨敤錛圕LONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND錛夊弬鏁版潵璋冪敤clone()鍒涘緩"綰跨▼"錛岃〃紺哄叡浜唴瀛樸佸叡浜枃浠剁郴緇熻闂鏁般佸叡浜枃浠舵弿榪扮琛紝浠ュ強鍏變韓淇″彿澶勭悊鏂瑰紡銆傛湰 鑺傚氨閽堝榪欏嚑涓弬鏁幫紝鐪嬬湅Linux鍐呮牳鏄浣曞疄鐜拌繖浜涜祫婧愮殑鍏變韓鐨勩?/p>

1.CLONE_VM

do_fork ()闇瑕佽皟鐢╟opy_mm()鏉ヨ緗畉ask_struct涓殑mm鍜宎ctive_mm欏癸紝榪欎袱涓猰m_struct鏁版嵁涓庤繘紼嬫墍鍏寵仈鐨勫唴瀛樼┖闂寸浉瀵? 搴斻傚鏋渄o_fork()鏃舵寚瀹氫簡CLONE_VM寮鍏籌紝copy_mm()灝嗘妸鏂扮殑task_struct涓殑mm鍜宎ctive_mm璁劇疆鎴愪笌 current鐨勭浉鍚岋紝鍚屾椂鎻愰珮璇m_struct鐨勪嬌鐢ㄨ呮暟鐩紙mm_struct::mm_users錛夈備篃灝辨槸璇達紝杞婚噺綰ц繘紼嬩笌鐖惰繘紼嬪叡浜唴瀛樺湴 鍧絀洪棿錛岀敱涓嬪浘紺烘剰鍙互鐪嬪嚭mm_struct鍦ㄨ繘紼嬩腑鐨勫湴浣嶏細



2.CLONE_FS

task_struct 涓埄鐢╢s錛坰truct fs_struct *錛夎褰曚簡榪涚▼鎵鍦ㄦ枃浠剁郴緇熺殑鏍圭洰褰曞拰褰撳墠鐩綍淇℃伅錛宒o_fork()鏃惰皟鐢╟opy_fs()澶嶅埗浜嗚繖涓粨鏋勶紱鑰屽浜庤交閲忕駭榪涚▼鍒欎粎澧炲姞fs- >count璁℃暟錛屼笌鐖惰繘紼嬪叡浜浉鍚岀殑fs_struct銆備篃灝辨槸璇達紝杞婚噺綰ц繘紼嬫病鏈夌嫭绔嬬殑鏂囦歡緋葷粺鐩稿叧鐨勪俊鎭紝榪涚▼涓換浣曚竴涓嚎紼嬫敼鍙樺綋鍓嶇洰褰曘? 鏍圭洰褰曠瓑淇℃伅閮藉皢鐩存帴褰卞搷鍒板叾浠栫嚎紼嬨?/p>

3.CLONE_FILES

涓 涓繘紼嬪彲鑳芥墦寮浜嗕竴浜涙枃浠訛紝鍦ㄨ繘紼嬬粨鏋則ask_struct涓埄鐢╢iles錛坰truct files_struct *錛夋潵淇濆瓨榪涚▼鎵撳紑鐨勬枃浠剁粨鏋勶紙struct file錛変俊鎭紝do_fork()涓皟鐢ㄤ簡copy_files()鏉ュ鐞嗚繖涓繘紼嬪睘鎬э紱杞婚噺綰ц繘紼嬩笌鐖惰繘紼嬫槸鍏變韓璇ョ粨鏋勭殑錛宑opy_files() 鏃朵粎澧炲姞files->count璁℃暟銆傝繖涓鍏變韓浣垮緱浠諱綍綰跨▼閮借兘璁塊棶榪涚▼鎵緇存姢鐨勬墦寮鏂囦歡錛屽瀹冧滑鐨勬搷浣滀細鐩存帴鍙嶆槧鍒拌繘紼嬩腑鐨勫叾浠栫嚎紼嬨?/p>

4.CLONE_SIGHAND

姣? 涓涓狶inux榪涚▼閮藉彲浠ヨ嚜琛屽畾涔夊淇″彿鐨勫鐞嗘柟寮忥紝鍦╰ask_struct涓殑sig錛坰truct signal_struct錛変腑浣跨敤涓涓猻truct k_sigaction緇撴瀯鐨勬暟緇勬潵淇濆瓨榪欎釜閰嶇疆淇℃伅錛宒o_fork()涓殑copy_sighand()璐熻矗澶嶅埗璇ヤ俊鎭紱杞婚噺綰ц繘紼嬩笉榪涜澶嶅埗錛岃屼粎 浠呭鍔爏ignal_struct::count璁℃暟錛屼笌鐖惰繘紼嬪叡浜緇撴瀯銆備篃灝辨槸璇達紝瀛愯繘紼嬩笌鐖惰繘紼嬬殑淇″彿澶勭悊鏂瑰紡瀹屽叏鐩稿悓錛岃屼笖鍙互鐩鎬簰鏇存敼銆?/p>

do_fork()涓墍鍋氱殑宸ヤ綔寰堝錛屽湪姝や笉璇︾粏鎻忚堪銆傚浜嶴MP緋葷粺錛屾墍鏈夌殑榪涚▼fork鍑烘潵鍚庯紝閮借鍒嗛厤鍒頒笌鐖惰繘紼嬬浉鍚岀殑cpu涓婏紝涓鐩村埌璇ヨ繘紼嬭璋冨害鏃舵墠浼氳繘琛宑pu閫夋嫨銆?/p>

灝? 綆inux鏀寔杞婚噺綰ц繘紼嬶紝浣嗗茍涓嶈兘璇村畠灝辨敮鎸佹牳蹇冪駭綰跨▼錛屽洜涓篖inux鐨?綰跨▼"鍜?榪涚▼"瀹為檯涓婂浜庝竴涓皟搴﹀眰嬈★紝鍏變韓涓涓繘紼嬫爣璇嗙絀洪棿錛岃繖縐? 闄愬埗浣垮緱涓嶅彲鑳藉湪Linux涓婂疄鐜板畬鍏ㄦ剰涔変笂鐨凱OSIX綰跨▼鏈哄埗錛屽洜姝や紬澶氱殑Linux綰跨▼搴撳疄鐜板皾璇曢兘鍙兘灝藉彲鑳藉疄鐜癙OSIX鐨勭粷澶ч儴鍒嗚涔夛紝騫跺湪 鍔熻兘涓婂敖鍙兘閫艱繎銆?/p>



鍥為〉棣?/b>


涓?LinuxThread鐨勭嚎紼嬫満鍒?/span>

LinuxThreads 鏄洰鍓峀inux騫沖彴涓婁嬌鐢ㄦ渶涓哄箍娉涚殑綰跨▼搴擄紝鐢盭avier Leroy (Xavier.Leroy@inria.fr)璐熻矗寮鍙戝畬鎴愶紝騫跺凡緇戝畾鍦℅LIBC涓彂琛屻傚畠鎵瀹炵幇鐨勫氨鏄熀浜庢牳蹇冭交閲忕駭榪涚▼鐨?涓瀵逛竴"綰跨▼妯″瀷錛屼竴 涓嚎紼嬪疄浣撳搴斾竴涓牳蹇冭交閲忕駭榪涚▼錛岃岀嚎紼嬩箣闂寸殑綆$悊鍦ㄦ牳澶栧嚱鏁板簱涓疄鐜般?/p>

1.綰跨▼鎻忚堪鏁版嵁緇撴瀯鍙婂疄鐜伴檺鍒?/span>

LinuxThreads 瀹氫箟浜嗕竴涓猻truct _pthread_descr_struct鏁版嵁緇撴瀯鏉ユ弿榪扮嚎紼嬶紝騫朵嬌鐢ㄥ叏灞鏁扮粍鍙橀噺__pthread_handles鏉ユ弿榪板拰寮曠敤榪涚▼鎵杈栫嚎紼嬨傚湪 __pthread_handles涓殑鍓嶄袱欏癸紝LinuxThreads瀹氫箟浜嗕袱涓叏灞鐨勭郴緇熺嚎紼嬶細__pthread_initial_thread 鍜宊_pthread_manager_thread錛屽茍鐢╛_pthread_main_thread琛ㄥ緛 __pthread_manager_thread鐨勭埗綰跨▼錛堝垵濮嬩負__pthread_initial_thread錛夈?/p>

struct _pthread_descr_struct鏄竴涓弻鐜摼琛ㄧ粨鏋勶紝__pthread_manager_thread鎵鍦ㄧ殑閾捐〃浠呭寘鎷畠涓涓厓绱狅紝瀹為檯 涓婏紝__pthread_manager_thread鏄竴涓壒孌婄嚎紼嬶紝LinuxThreads浠呬嬌鐢ㄤ簡鍏朵腑鐨別rrno銆乸_pid銆? p_priority絳変笁涓煙銆傝宊_pthread_main_thread鎵鍦ㄧ殑閾懼垯灝嗚繘紼嬩腑鎵鏈夌敤鎴風嚎紼嬩覆鍦ㄤ簡涓璧楓傜粡榪囦竴緋誨垪 pthread_create()涔嬪悗褰㈡垚鐨刜_pthread_handles鏁扮粍灝嗗涓嬪浘鎵紺猴細


鍥? __pthread_handles鏁扮粍緇撴瀯

鏂板垱寤虹殑綰跨▼灝嗛鍏堝湪__pthread_handles鏁扮粍涓崰鎹竴欏癸紝鐒跺悗閫氳繃鏁版嵁緇撴瀯涓殑閾炬寚閽堣繛鍏ヤ互__pthread_main_thread涓洪鎸囬拡鐨勯摼琛ㄤ腑銆傝繖涓摼琛ㄧ殑浣跨敤鍦ㄤ粙緇嶇嚎紼嬬殑鍒涘緩鍜岄噴鏀劇殑鏃跺欏皢鎻愬埌銆?/p>

LinuxThreads 閬靛驚POSIX1003.1c鏍囧噯錛屽叾涓綰跨▼搴撶殑瀹炵幇榪涜浜嗕竴浜涜寖鍥撮檺鍒訛紝姣斿榪涚▼鏈澶х嚎紼嬫暟錛岀嚎紼嬬鏈夋暟鎹尯澶у皬絳夌瓑銆傚湪LinuxThreads鐨? 瀹炵幇涓紝鍩烘湰閬靛驚榪欎簺闄愬埗錛屼絾涔熻繘琛屼簡涓瀹氱殑鏀瑰姩錛屾敼鍔ㄧ殑瓚嬪娍鏄斁鏉炬垨鑰呰鎵╁ぇ榪欎簺闄愬埗錛屼嬌緙栫▼鏇村姞鏂逛究銆傝繖浜涢檺瀹氬畯涓昏闆嗕腑鍦? sysdeps/unix/sysv/linux/bits/local_lim.h錛堜笉鍚屽鉤鍙頒嬌鐢ㄧ殑鏂囦歡浣嶇疆涓嶅悓錛変腑錛屽寘鎷涓嬪嚑涓細

姣? 榪涚▼鐨勭鏈夋暟鎹甼ey鏁幫紝POSIX瀹氫箟_POSIX_THREAD_KEYS_MAX涓?28錛孡inuxThreads浣跨敤 PTHREAD_KEYS_MAX錛?024錛涚鏈夋暟鎹噴鏀炬椂鍏佽鎵ц鐨勬搷浣滄暟錛孡inuxThreads涓嶱OSIX涓鑷達紝瀹氫箟 PTHREAD_DESTRUCTOR_ITERATIONS涓?錛涙瘡榪涚▼鐨勭嚎紼嬫暟錛孭OSIX瀹氫箟涓?4錛孡inuxThreads澧炲ぇ鍒?024 錛圥THREAD_THREADS_MAX錛夛紱綰跨▼榪愯鏍堟渶灝忕┖闂村ぇ灝忥紝POSIX鏈寚瀹氾紝LinuxThreads浣跨敤 PTHREAD_STACK_MIN錛?6384錛堝瓧鑺傦級銆?/p>

2.綆$悊綰跨▼

" 涓瀵逛竴"妯″瀷鐨勫ソ澶勪箣涓鏄嚎紼嬬殑璋冨害鐢辨牳蹇冨畬鎴愪簡錛岃屽叾浠栬濡傜嚎紼嬪彇娑堛佺嚎紼嬮棿鐨勫悓姝ョ瓑宸ヤ綔錛岄兘鏄湪鏍稿綰跨▼搴撲腑瀹屾垚鐨勩傚湪LinuxThreads涓紝 涓撻棬涓烘瘡涓涓繘紼嬫瀯閫犱簡涓涓鐞嗙嚎紼嬶紝璐熻矗澶勭悊綰跨▼鐩稿叧鐨勭鐞嗗伐浣溿傚綋榪涚▼絎竴嬈¤皟鐢╬thread_create()鍒涘緩涓涓嚎紼嬬殑鏃跺欏氨浼氬垱寤? 錛坃_clone()錛夊茍鍚姩綆$悊綰跨▼銆?/p>

鍦ㄤ竴涓繘紼嬬┖闂村唴錛岀鐞嗙嚎紼嬩笌鍏朵粬綰跨▼涔嬮棿閫氳繃涓瀵?綆$悊綆¢亾 錛坢anager_pipe[2]錛?鏉ラ氳錛岃綆¢亾鍦ㄥ垱寤虹鐞嗙嚎紼嬩箣鍓嶅垱寤猴紝鍦ㄦ垚鍔熷惎鍔ㄤ簡綆$悊綰跨▼涔嬪悗錛岀鐞嗙閬撶殑璇葷鍜屽啓绔垎鍒祴緇欎袱涓叏灞鍙橀噺 __pthread_manager_reader鍜宊_pthread_manager_request錛屼箣鍚庯紝姣忎釜鐢ㄦ埛綰跨▼閮介氳繃 __pthread_manager_request鍚戠鐞嗙嚎紼嬪彂璇鋒眰錛屼絾綆$悊綰跨▼鏈韓騫舵病鏈夌洿鎺ヤ嬌鐢? __pthread_manager_reader錛岀閬撶殑璇葷錛坢anager_pipe[0]錛夋槸浣滀負__clone()鐨勫弬鏁頒箣涓浼犵粰綆$悊綰跨▼鐨勶紝 綆$悊綰跨▼鐨勫伐浣滀富瑕佸氨鏄洃鍚閬撹绔紝騫跺浠庝腑鍙栧嚭鐨勮姹備綔鍑哄弽搴斻?/p>

鍒涘緩綆$悊綰跨▼鐨勬祦紼嬪涓嬫墍紺猴細
錛堝叏灞鍙橀噺pthread_manager_request鍒濆間負-1錛?


鍥? 鍒涘緩綆$悊綰跨▼鐨勬祦紼? src=

鍒? 濮嬪寲緇撴潫鍚庯紝鍦╛_pthread_manager_thread涓褰曚簡杞婚噺綰ц繘紼嬪彿浠ュ強鏍稿鍒嗛厤鍜岀鐞嗙殑綰跨▼id錛? 2*PTHREAD_THREADS_MAX+1榪欎釜鏁板間笉浼氫笌浠諱綍甯歌鐢ㄦ埛綰跨▼id鍐茬獊銆傜鐞嗙嚎紼嬩綔涓簆thread_create()鐨勮皟鐢ㄨ呯嚎紼嬬殑 瀛愮嚎紼嬭繍琛岋紝鑰宲thread_create()鎵鍒涘緩鐨勯偅涓敤鎴風嚎紼嬪垯鏄敱綆$悊綰跨▼鏉ヨ皟鐢╟lone()鍒涘緩錛屽洜姝ゅ疄闄呬笂鏄鐞嗙嚎紼嬬殑瀛愮嚎紼嬨傦紙姝ゅ瀛? 綰跨▼鐨勬蹇靛簲璇ュ綋浣滃瓙榪涚▼鏉ョ悊瑙c傦級

__pthread_manager()灝辨槸綆$悊綰跨▼鐨勪富寰幆鎵鍦紝鍦ㄨ繘琛屼竴緋誨垪鍒濆 鍖栧伐浣滃悗錛岃繘鍏hile(1)寰幆銆傚湪寰幆涓紝綰跨▼浠?縐掍負timeout鏌ヨ錛坃_poll()錛夌鐞嗙閬撶殑璇葷銆傚湪澶勭悊璇鋒眰鍓嶏紝媯鏌ュ叾鐖剁嚎紼嬶紙涔熷氨 鏄垱寤簃anager鐨勪富綰跨▼錛夋槸鍚﹀凡閫鍑猴紝濡傛灉宸查鍑哄氨閫鍑烘暣涓繘紼嬨傚鏋滄湁閫鍑虹殑瀛愮嚎紼嬮渶瑕佹竻鐞嗭紝鍒欒皟鐢╬thread_reap_children ()娓呯悊銆?/p>

鐒跺悗鎵嶆槸璇誨彇綆¢亾涓殑璇鋒眰錛屾牴鎹姹傜被鍨嬫墽琛岀浉搴旀搷浣滐紙switch-case錛夈傚叿浣撶殑璇鋒眰澶勭悊錛屾簮鐮佷腑姣旇緝娓呮錛岃繖閲屽氨涓嶈禈榪頒簡銆?/p>

3.綰跨▼鏍?/span>

鍦↙inuxThreads涓紝綆$悊綰跨▼鐨勬爤鍜岀敤鎴風嚎紼嬬殑鏍堟槸鍒嗙鐨勶紝綆$悊綰跨▼鍦ㄨ繘紼嬪爢涓氳繃malloc()鍒嗛厤涓涓猅HREAD_MANAGER_STACK_SIZE瀛楄妭鐨勫尯鍩熶綔涓鴻嚜宸辯殑榪愯鏍堛?/p>

鐢? 鎴風嚎紼嬬殑鏍堝垎閰嶅姙娉曢殢鐫浣撶郴緇撴瀯鐨勪笉鍚岃屼笉鍚岋紝涓昏鏍規嵁涓や釜瀹忓畾涔夋潵鍖哄垎錛屼竴涓槸NEED_SEPARATE_REGISTER_STACK錛岃繖涓睘鎬т粎 鍦↖A64騫沖彴涓婁嬌鐢紱鍙︿竴涓槸FLOATING_STACK瀹忥紝鍦╥386絳夊皯鏁板鉤鍙頒笂浣跨敤錛屾鏃剁敤鎴風嚎紼嬫爤鐢辯郴緇熷喅瀹氬叿浣撲綅緗茍鎻愪緵淇濇姢銆備笌姝ゅ悓鏃訛紝 鐢ㄦ埛榪樺彲浠ラ氳繃綰跨▼灞炴х粨鏋勬潵鎸囧畾浣跨敤鐢ㄦ埛鑷畾涔夌殑鏍堛傚洜綃囧箙鎵闄愶紝榪欓噷鍙兘鍒嗘瀽i386騫沖彴鎵浣跨敤鐨勪袱縐嶆爤緇勭粐鏂瑰紡錛欶LOATING_STACK鏂瑰紡 鍜岀敤鎴瘋嚜瀹氫箟鏂瑰紡銆?/p>

鍦‵LOATING_STACK鏂瑰紡涓嬶紝LinuxThreads鍒╃敤mmap()浠庡唴鏍哥┖闂翠腑鍒嗛厤 8MB絀洪棿錛坕386緋葷粺緙虹渷鐨勬渶澶ф爤絀洪棿澶у皬錛屽鏋滄湁榪愯闄愬埗錛坮limit錛夛紝鍒欐寜鐓ц繍琛岄檺鍒惰緗級錛屼嬌鐢╩protect()璁劇疆鍏朵腑絎竴欏典負闈炶 闂尯銆傝8M絀洪棿鐨勫姛鑳藉垎閰嶅涓嬪浘錛?/p>
鍥? 鏍堢粨鏋勭ず鎰? src=

浣庡湴鍧琚繚鎶ょ殑欏甸潰鐢ㄦ潵鐩戞祴鏍堟孩鍑恒?/p>

瀵逛簬鐢ㄦ埛鎸囧畾鐨勬爤錛屽湪鎸夌収鎸囬拡瀵圭晫鍚庯紝璁劇疆綰跨▼鏍堥《錛屽茍璁$畻鍑烘爤搴曪紝涓嶅仛淇濇姢錛屾紜х敱鐢ㄦ埛鑷繁淇濊瘉銆?/p>

涓嶈鍝緇勭粐鏂瑰紡錛岀嚎紼嬫弿榪扮粨鏋勬繪槸浣嶄簬鏍堥《绱ч偦鍫嗘爤鐨勪綅緗?/p>

4.綰跨▼id鍜岃繘紼媔d

姣忎釜LinuxThreads綰跨▼閮藉悓鏃跺叿鏈夌嚎紼媔d鍜岃繘紼媔d錛屽叾涓繘紼媔d灝辨槸鍐呮牳鎵緇存姢鐨勮繘紼嬪彿錛岃岀嚎紼媔d鍒欑敱LinuxThreads鍒嗛厤鍜岀淮鎶ゃ?/p>

__pthread_initial_thread 鐨勭嚎紼媔d涓篜THREAD_THREADS_MAX錛宊_pthread_manager_thread鐨勬槸 2*PTHREAD_THREADS_MAX+1錛岀涓涓敤鎴風嚎紼嬬殑綰跨▼id涓篜THREAD_THREADS_MAX+2錛屾鍚庣n涓敤鎴風嚎紼嬬殑綰跨▼ id閬靛驚浠ヤ笅鍏紡錛?/p>
	tid=n*PTHREAD_THREADS_MAX+n+1

榪欑鍒嗛厤鏂瑰紡淇濊瘉浜嗚繘紼嬩腑鎵鏈夌殑綰跨▼錛堝寘鎷凡緇忛鍑猴級閮戒笉浼氭湁鐩稿悓鐨勭嚎紼媔d錛岃岀嚎紼媔d鐨勭被鍨媝thread_t瀹氫箟涓烘棤絎﹀彿闀挎暣鍨嬶紙unsigned long int錛夛紝涔熶繚璇佷簡鏈夌悊鐢辯殑榪愯鏃墮棿鍐呯嚎紼媔d涓嶄細閲嶅銆?/p>

浠庣嚎紼媔d鏌ユ壘綰跨▼鏁版嵁緇撴瀯鏄湪pthread_handle()鍑芥暟涓畬鎴愮殑錛屽疄闄呬笂鍙槸灝嗙嚎紼嬪彿鎸塒THREAD_THREADS_MAX鍙栨ā錛屽緱鍒扮殑灝辨槸璇ョ嚎紼嬪湪__pthread_handles涓殑绱㈠紩銆?/p>

5.綰跨▼鐨勫垱寤?/span>

鍦╬thread_create ()鍚戠鐞嗙嚎紼嬪彂閫丷EQ_CREATE璇鋒眰涔嬪悗錛岀鐞嗙嚎紼嬪嵆璋冪敤pthread_handle_create()鍒涘緩鏂扮嚎紼嬨傚垎閰嶆爤銆佽緗畉hread 灞炴у悗錛屼互pthread_start_thread()涓哄嚱鏁板叆鍙h皟鐢╛_clone()鍒涘緩騫跺惎鍔ㄦ柊綰跨▼銆俻thread_start_thread ()璇誨彇鑷韓鐨勮繘紼媔d鍙峰瓨鍏ョ嚎紼嬫弿榪扮粨鏋勪腑錛屽茍鏍規嵁鍏朵腑璁板綍鐨勮皟搴︽柟娉曢厤緗皟搴︺備竴鍒囧噯澶囧氨緇悗錛屽啀璋冪敤鐪熸鐨勭嚎紼嬫墽琛屽嚱鏁幫紝騫跺湪姝ゅ嚱鏁拌繑鍥炲悗璋冪敤 pthread_exit()娓呯悊鐜板満銆?/p>

6.LinuxThreads鐨勪笉瓚?/span>

鐢變簬Linux鍐呮牳鐨勯檺鍒朵互鍙婂疄鐜伴毦搴︾瓑絳夊師鍥狅紝LinuxThreads騫朵笉鏄畬鍏≒OSIX鍏煎鐨勶紝鍦ㄥ畠鐨勫彂琛孯EADME涓湁璇存槑銆?/p>

1)榪涚▼id闂

榪欎釜涓嶈凍鏄渶鍏抽敭鐨勪笉瓚籌紝寮曡搗鐨勫師鍥犵壍娑夊埌LinuxThreads鐨?涓瀵逛竴"妯″瀷銆?/p>

Linux 鍐呮牳騫朵笉鏀寔鐪熸鎰忎箟涓婄殑綰跨▼錛孡inuxThreads鏄敤涓庢櫘閫氳繘紼嬪叿鏈夊悓鏍峰唴鏍歌皟搴﹁鍥劇殑杞婚噺綰ц繘紼嬫潵瀹炵幇綰跨▼鏀寔鐨勩傝繖浜涜交閲忕駭榪涚▼鎷ユ湁鐙珛鐨勮繘 紼媔d錛屽湪榪涚▼璋冨害銆佷俊鍙峰鐞嗐両O絳夋柟闈韓鏈変笌鏅氳繘紼嬩竴鏍風殑鑳藉姏銆傚湪婧愮爜闃呰鑰呯湅鏉ワ紝灝辨槸Linux鍐呮牳鐨刢lone()娌℃湁瀹炵幇瀵? CLONE_PID鍙傛暟鐨勬敮鎸併?/p>

鍦ㄥ唴鏍竏o_fork()涓CLONE_PID鐨勫鐞嗘槸榪欐牱鐨勶細

          if (clone_flags & CLONE_PID) {
if (current->pid)
goto fork_out;
}

榪欐浠g爜琛ㄦ槑錛岀洰鍓嶇殑Linux鍐呮牳浠呭湪pid涓?鐨勬椂鍊欒鍙疌LONE_PID鍙傛暟錛屽疄闄呬笂錛屼粎鍦⊿MP鍒濆鍖栵紝鎵嬪伐鍒涘緩榪涚▼鐨勬椂鍊欐墠浼氫嬌鐢–LONE_PID鍙傛暟銆?/p>

鎸夌収POSIX瀹氫箟錛屽悓涓榪涚▼鐨勬墍鏈夌嚎紼嬪簲璇ュ叡浜竴涓繘紼媔d鍜岀埗榪涚▼id錛岃繖鍦ㄧ洰鍓嶇殑"涓瀵逛竴"妯″瀷涓嬫槸鏃犳硶瀹炵幇鐨勩?/p>

2)淇″彿澶勭悊闂

鐢變簬寮傛淇″彿鏄唴鏍鎬互榪涚▼涓哄崟浣嶅垎鍙戠殑錛岃孡inuxThreads鐨勬瘡涓嚎紼嬪鍐呮牳鏉ヨ閮芥槸涓涓繘紼嬶紝涓旀病鏈夊疄鐜?綰跨▼緇?錛屽洜姝わ紝鏌愪簺璇箟涓嶇鍚圥OSIX鏍囧噯錛屾瘮濡傛病鏈夊疄鐜板悜榪涚▼涓墍鏈夌嚎紼嬪彂閫佷俊鍙鳳紝README瀵規浣滀簡璇存槑銆?/p>

濡? 鏋滄牳蹇冧笉鎻愪緵瀹炴椂淇″彿錛孡inuxThreads灝嗕嬌鐢⊿IGUSR1鍜孲IGUSR2浣滀負鍐呴儴浣跨敤鐨剅estart鍜宑ancel淇″彿錛岃繖鏍峰簲鐢ㄧ▼搴忓氨 涓嶈兘浣跨敤榪欎袱涓師鏈負鐢ㄦ埛淇濈暀鐨勪俊鍙蜂簡銆傚湪Linux kernel 2.1.60浠ュ悗鐨勭増鏈兘鏀寔鎵╁睍鐨勫疄鏃朵俊鍙鳳紙浠巁SIGRTMIN鍒癬SIGRTMAX錛夛紝鍥犳涓嶅瓨鍦ㄨ繖涓棶棰樸?/p>

鏌愪簺淇″彿鐨勭己鐪佸姩浣滈毦浠ュ湪鐜拌浣撶郴涓婂疄鐜幫紝姣斿SIGSTOP鍜孲IGCONT錛孡inuxThreads鍙兘灝嗕竴涓嚎紼嬫寕璧鳳紝鑰屾棤娉曟寕璧鋒暣涓繘紼嬨?/p>

3)綰跨▼鎬繪暟闂

LinuxThreads灝嗘瘡涓繘紼嬬殑綰跨▼鏈澶ф暟鐩畾涔変負1024錛屼絾瀹為檯涓婅繖涓暟鍊艱繕鍙楀埌鏁翠釜緋葷粺鐨勬昏繘紼嬫暟闄愬埗錛岃繖鍙堟槸鐢變簬綰跨▼鍏跺疄鏄牳蹇冭繘紼嬨?/p>

鍦╧ernel 2.4.x涓紝閲囩敤涓濂楀叏鏂扮殑鎬昏繘紼嬫暟璁$畻鏂規硶錛屼嬌寰楁昏繘紼嬫暟鍩烘湰涓婁粎鍙楅檺浜庣墿鐞嗗唴瀛樼殑澶у皬錛岃綆楀叕寮忓湪kernel/fork.c鐨刦ork_init()鍑芥暟涓細

	max_threads = mempages / (THREAD_SIZE/PAGE_SIZE) / 8

鍦╥386 涓婏紝THREAD_SIZE=2*PAGE_SIZE錛孭AGE_SIZE=2^12錛?KB錛夛紝mempages=鐗╃悊鍐呭瓨澶у皬/PAGE_SIZE錛? 瀵逛簬256M鐨勫唴瀛樼殑鏈哄櫒錛宮empages=256*2^20/2^12=256*2^8錛屾鏃舵渶澶х嚎紼嬫暟涓?096銆?/p>

浣嗕負浜嗕繚璇佹瘡涓敤鎴鳳紙闄や簡root錛夌殑榪涚▼鎬繪暟涓嶈嚦浜庡崰鐢ㄤ竴鍗婁互涓婄墿鐞嗗唴瀛橈紝fork_init()涓戶緇寚瀹氾細

    init_task.rlim[RLIMIT_NPROC].rlim_cur = max_threads/2;
init_task.rlim[RLIMIT_NPROC].rlim_max = max_threads/2;

榪欎簺榪涚▼鏁扮洰鐨勬鏌ラ兘鍦╠o_fork()涓繘琛岋紝鍥犳錛屽浜嶭inuxThreads鏉ヨ錛岀嚎紼嬫繪暟鍚屾椂鍙楄繖涓変釜鍥犵礌鐨勯檺鍒躲?/p>

4)綆$悊綰跨▼闂

綆$悊綰跨▼瀹規槗鎴愪負鐡墮錛岃繖鏄繖縐嶇粨鏋勭殑閫氱梾錛涘悓鏃訛紝綆$悊綰跨▼鍙堣礋璐g敤鎴風嚎紼嬬殑娓呯悊宸ヤ綔錛屽洜姝わ紝灝界綆$悊綰跨▼宸茬粡灞忚斀浜嗗ぇ閮ㄥ垎鐨勪俊鍙鳳紝浣嗕竴鏃︾鐞嗙嚎紼嬫浜★紝鐢ㄦ埛綰跨▼灝變笉寰椾笉鎵嬪伐娓呯悊浜嗭紝鑰屼笖鐢ㄦ埛綰跨▼騫朵笉鐭ラ亾綆$悊綰跨▼鐨勭姸鎬侊紝涔嬪悗鐨勭嚎紼嬪垱寤虹瓑璇鋒眰灝嗘棤浜哄鐞嗐?/p>

5)鍚屾闂

LinuxThreads涓殑綰跨▼鍚屾寰堝ぇ紼嬪害涓婃槸寤虹珛鍦ㄤ俊鍙峰熀紜涓婄殑錛岃繖縐嶉氳繃鍐呮牳澶嶆潅鐨勪俊鍙峰鐞嗘満鍒剁殑鍚屾鏂瑰紡錛屾晥鐜囦竴鐩存槸涓棶棰樸?/p>

6錛夊叾浠朠OSIX鍏煎鎬ч棶棰?/b>

Linux涓緢澶氱郴緇熻皟鐢紝鎸夌収璇箟閮芥槸涓庤繘紼嬬浉鍏崇殑錛屾瘮濡俷ice銆乻etuid銆乻etrlimit絳夛紝鍦ㄧ洰鍓嶇殑LinuxThreads涓紝榪欎簺璋冪敤閮戒粎浠呭獎鍝嶈皟鐢ㄨ呯嚎紼嬨?/p>

7錛夊疄鏃舵ч棶棰?/b>

綰跨▼鐨勫紩鍏ユ湁涓瀹氱殑瀹炴椂鎬ц冭檻錛屼絾LinuxThreads鏆傛椂涓嶆敮鎸侊紝姣斿璋冨害閫夐」錛岀洰鍓嶈繕娌℃湁瀹炵幇銆備笉浠匧inuxThreads濡傛錛屾爣鍑嗙殑Linux鍦ㄥ疄鏃舵т笂鑰冭檻閮藉緢灝戙?/p>



鍥為〉棣?/b>


鍥?鍏朵粬鐨勭嚎紼嬪疄鐜版満鍒?/span>

LinuxThreads 鐨勯棶棰橈紝鐗瑰埆鏄吋瀹規т笂鐨勯棶棰橈紝涓ラ噸闃葷浜哃inux涓婄殑璺ㄥ鉤鍙板簲鐢紙濡侫pache錛夐噰鐢ㄥ綰跨▼璁捐錛屼粠鑰屼嬌寰桳inux涓婄殑綰跨▼搴旂敤涓鐩翠繚鎸佸湪姣旇緝浣? 鐨勬按騫熾傚湪Linux紺懼尯涓紝宸茬粡鏈夊緢澶氫漢鍦ㄤ負鏀硅繘綰跨▼鎬ц兘鑰屽姫鍔涳紝鍏朵腑鏃㈠寘鎷敤鎴風駭綰跨▼搴擄紝涔熷寘鎷牳蹇冪駭鍜岀敤鎴風駭閰嶅悎鏀硅繘鐨勭嚎紼嬪簱銆傜洰鍓嶆渶涓轟漢鐪嬪ソ鐨勬湁 涓や釜欏圭洰錛屼竴涓槸RedHat鍏徃鐗靛ご鐮斿彂鐨凬PTL錛圢ative Posix Thread Library錛夛紝鍙︿竴涓垯鏄疘BM鎶曡祫寮鍙戠殑NGPT錛圢ext Generation Posix Threading錛夛紝浜岃呴兘鏄洿緇曞畬鍏ㄥ吋瀹筆OSIX 1003.1c錛屽悓鏃跺湪鏍稿唴鍜屾牳澶栧仛宸ヤ綔浠ヨ屽疄鐜板瀵瑰綰跨▼妯″瀷銆傝繖涓ょ妯″瀷閮藉湪涓瀹氱▼搴︿笂寮ヨˉ浜哃inuxThreads鐨勭己鐐癸紝涓旈兘鏄噸璧風倝鐏跺叏鏂拌 璁$殑銆?/p>

1.NPTL

NPTL鐨勮璁$洰鏍囧綊綰沖彲褰掔撼涓轟互涓嬪嚑鐐癸細

  • POSIX鍏煎鎬?/li>
  • SMP緇撴瀯鐨勫埄鐢?/li>
  • 浣庡惎鍔ㄥ紑閿
  • 浣庨摼鎺ュ紑閿錛堝嵆涓嶄嬌鐢ㄧ嚎紼嬬殑紼嬪簭涓嶅簲褰撳彈綰跨▼搴撶殑褰卞搷錛?/li>
  • 涓嶭inuxThreads搴旂敤鐨勪簩榪涘埗鍏煎鎬?/li>
  • 杞‖浠剁殑鍙墿灞曡兘鍔?/li>
  • 澶氫綋緋葷粨鏋勬敮鎸?/li>
  • NUMA鏀寔
  • 涓嶤++闆嗘垚

鍦? 鎶鏈疄鐜頒笂錛孨PTL浠嶇劧閲囩敤1:1鐨勭嚎紼嬫ā鍨嬶紝騫墮厤鍚坓libc鍜屾渶鏂扮殑Linux Kernel2.5.x寮鍙戠増鍦ㄤ俊鍙峰鐞嗐佺嚎紼嬪悓姝ャ佸瓨鍌ㄧ鐞嗙瓑澶氭柟闈㈣繘琛屼簡浼樺寲銆傚拰LinuxThreads涓嶅悓錛孨PTL娌℃湁浣跨敤綆$悊綰跨▼錛屾牳蹇冪嚎紼? 鐨勭鐞嗙洿鎺ユ斁鍦ㄦ牳鍐呰繘琛岋紝榪欎篃甯︿簡鎬ц兘鐨勪紭鍖栥?/p>

涓昏鏄洜涓烘牳蹇冪殑闂錛孨PTL浠嶇劧涓嶆槸100%POSIX鍏煎鐨勶紝浣嗗氨鎬ц兘鑰岃█鐩稿LinuxThreads宸茬粡鏈夊緢澶х▼搴︿笂鐨勬敼榪涗簡銆?/p>

2.NGPT

IBM鐨勫紑鏀炬簮鐮侀」鐩甆GPT鍦?003騫?鏈?0鏃ユ帹鍑轟簡紼沖畾鐨?.2.0鐗堬紝浣嗙浉鍏崇殑鏂囨。宸ヤ綔榪樺樊寰堝銆傚氨鐩墠鎵鐭ワ紝NGPT鏄熀浜嶨NU Pth錛圙NU Portable Threads錛夐」鐩屽疄鐜扮殑M:N妯″瀷錛岃孏NU Pth鏄竴涓粡鍏哥殑鐢ㄦ埛綰х嚎紼嬪簱瀹炵幇銆?/p>

鎸夌収2003騫?鏈圢GPT瀹樻柟緗戠珯涓婄殑閫氱煡錛孨GPT鑰冭檻鍒癗PTL鏃ョ泭騫挎硾鍦頒負浜烘墍鎺ュ彈錛屼負閬垮厤涓嶅悓鐨勭嚎紼嬪簱鐗堟湰寮曡搗鐨勬販涔憋紝浠婂悗灝嗕笉鍐嶈繘琛岃繘涓姝ュ紑鍙戯紝鑰屼粖榪涜鏀寔鎬х殑緇存姢宸ヤ綔銆備篃灝辨槸璇達紝NGPT宸茬粡鏀懼純涓嶯PTL绔炰簤涓嬩竴浠inux POSIX綰跨▼搴撴爣鍑嗐?/p>

3.鍏朵粬楂樻晥綰跨▼鏈哄埗

姝? 澶勪笉鑳戒笉鎻愬埌Scheduler Activations銆傝繖涓?991騫村湪ACM涓婂彂琛ㄧ殑澶氱嚎紼嬪唴鏍哥粨鏋勫獎鍝嶄簡寰堝澶氱嚎紼嬪唴鏍哥殑璁捐錛屽叾涓寘鎷琈ach3.0銆丯etBSD鍜屽晢涓氱増鏈? Digital Unix錛堢幇鍦ㄥ彨Compaq True64 Unix錛夈傚畠鐨勫疄璐ㄦ槸鍦ㄤ嬌鐢ㄧ敤鎴風駭綰跨▼璋冨害鐨勫悓鏃訛紝灝藉彲鑳藉湴鍑忓皯鐢ㄦ埛綰у鏍稿績鐨勭郴緇熻皟鐢ㄨ姹傦紝鑰屽悗鑰呭線寰鏄繍琛屽紑閿鐨勯噸瑕佹潵婧愩傞噰鐢ㄨ繖縐嶇粨鏋勭殑綰跨▼鏈? 鍒訛紝瀹為檯涓婃槸緇撳悎浜嗙敤鎴風駭綰跨▼鐨勭伒媧婚珮鏁堝拰鏍稿績綰х嚎紼嬬殑瀹炵敤鎬э紝鍥犳錛屽寘鎷琇inux銆丗reeBSD鍦ㄥ唴鐨勫涓紑鏀炬簮鐮佹搷浣滅郴緇熻璁$ぞ鍖洪兘鍦ㄨ繘琛岀浉鍏崇爺 絀訛紝鍔涘浘鍦ㄦ湰緋葷粺涓疄鐜癝cheduler Activations銆?/p>

鍙傝冭祫鏂?

  • [Linus Torvalds錛?002] Linux鍐呮牳婧愮爜v2.4.20

  • [GNU錛?002] Glibc婧愮爜v2.2.2錛堝唴鍚獿inuxThreads v0.9錛?br />
  • [Thomas E. Terrill錛?997] An Introduction to Threads Using The LinuxThreads Interface

  • [Ulrich Drepper錛孖ngo Molnar錛?003] The Native POSIX Thread Library for Linux

  • http://www.ibm.com/developerworks/oss/pthreads/錛孨GPT瀹樻柟緗戠珯

  • [Ralf S. Engelschall錛?000] Portable Multithreading

  • [Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska, Henry M. Levy錛?992] Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism

  • [pcjockey@21cn.com] Linux綰跨▼鍒濇帰


鍏充簬浣滆?/span>


鏉ㄦ矙媧詫紝鐩墠鍦ㄥ浗闃茬鎶澶у璁$畻鏈哄闄㈡敾璇昏蔣浠舵柟鍚戝崥澹浣嶃?/p>



]]>
Linux 綰跨▼瀹炵幇鏈哄埗鍒嗘瀽http://m.shnenglu.com/mydriverc/articles/29744.html鏃呴?/dc:creator>鏃呴?/author>Fri, 10 Aug 2007 17:37:00 GMThttp://m.shnenglu.com/mydriverc/articles/29744.htmlhttp://m.shnenglu.com/mydriverc/comments/29744.htmlhttp://m.shnenglu.com/mydriverc/articles/29744.html#Feedback0http://m.shnenglu.com/mydriverc/comments/commentRss/29744.htmlhttp://m.shnenglu.com/mydriverc/services/trackbacks/29744.html鑷粠澶氱嚎紼嬬紪紼嬬殑姒傚康鍑虹幇鍦?Linux 涓互鏉ワ紝Linux 澶氱嚎搴旂敤鐨勫彂灞曟繪槸涓庝袱涓棶棰樿劚涓嶅紑騫茬郴錛氬吋瀹規с佹晥鐜囥傛湰鏂囦粠綰跨▼妯″瀷鍏ユ墜錛岄氳繃鍒嗘瀽鐩墠 Linux 騫沖彴涓婃渶嫻佽鐨?LinuxThreads 綰跨▼搴撶殑瀹炵幇鍙婂叾涓嶈凍錛屾弿榪頒簡 Linux 紺懼尯鏄浣曠湅寰呭拰瑙e喅鍏煎鎬у拰鏁堢巼榪欎袱涓棶棰樼殑銆?/blockquote>

涓.鍩虹鐭ヨ瘑錛氱嚎紼嬪拰榪涚▼

鎸夌収鏁欑涔︿笂鐨勫畾涔夛紝榪涚▼鏄祫婧愮鐞嗙殑鏈灝忓崟浣嶏紝綰跨▼鏄▼搴忔墽琛岀殑鏈灝忓崟浣嶃傚湪鎿嶄綔緋葷粺璁捐涓婏紝浠庤繘紼嬫紨鍖栧嚭綰跨▼錛屾渶涓昏鐨勭洰鐨勫氨鏄洿濂界殑鏀寔SMP浠ュ強鍑忓皬錛堣繘紼?綰跨▼錛変笂涓嬫枃鍒囨崲寮閿銆?/b>

鏃? 璁烘寜鐓ф庢牱鐨勫垎娉曪紝涓涓繘紼嬭嚦灝戦渶瑕佷竴涓嚎紼嬩綔涓哄畠鐨勬寚浠ゆ墽琛屼綋錛岃繘紼嬬鐞嗙潃璧勬簮錛堟瘮濡俢pu銆佸唴瀛樸佹枃浠剁瓑絳夛級錛岃屽皢綰跨▼鍒嗛厤鍒版煇涓猚pu涓婃墽琛屻備竴涓? 榪涚▼褰撶劧鍙互鎷ユ湁澶氫釜綰跨▼錛屾鏃訛紝濡傛灉榪涚▼榪愯鍦⊿MP鏈哄櫒涓婏紝瀹冨氨鍙互鍚屾椂浣跨敤澶氫釜cpu鏉ユ墽琛屽悇涓嚎紼嬶紝杈懼埌鏈澶х▼搴︾殑騫惰錛屼互鎻愰珮鏁堢巼錛涘悓鏃訛紝鍗充嬌 鏄湪鍗昪pu鐨勬満鍣ㄤ笂錛岄噰鐢ㄥ綰跨▼妯″瀷鏉ヨ璁$▼搴忥紝姝e褰撳勾閲囩敤澶氳繘紼嬫ā鍨嬩唬鏇垮崟榪涚▼妯″瀷涓鏍鳳紝浣胯璁℃洿綆媧併佸姛鑳芥洿瀹屽錛岀▼搴忕殑鎵ц鏁堢巼涔熸洿楂橈紝渚嬪閲? 鐢ㄥ涓嚎紼嬪搷搴斿涓緭鍏ワ紝鑰屾鏃跺綰跨▼妯″瀷鎵瀹炵幇鐨勫姛鑳藉疄闄呬笂涔熷彲浠ョ敤澶氳繘紼嬫ā鍨嬫潵瀹炵幇錛岃屼笌鍚庤呯浉姣旓紝綰跨▼鐨勪笂涓嬫枃鍒囨崲寮閿灝辨瘮榪涚▼瑕佸皬澶氫簡錛屼粠璇箟涓? 鏉ヨ錛屽悓鏃跺搷搴斿涓緭鍏ヨ繖鏍風殑鍔熻兘錛屽疄闄呬笂灝辨槸鍏變韓浜嗛櫎cpu浠ュ鐨勬墍鏈夎祫婧愮殑銆?/p>

閽堝綰跨▼妯″瀷鐨勪袱澶ф剰涔夛紝鍒嗗埆寮鍙戝嚭浜嗘牳 蹇冪駭綰跨▼鍜岀敤鎴風駭綰跨▼涓ょ綰跨▼妯″瀷錛屽垎綾葷殑鏍囧噯涓昏鏄嚎紼嬬殑璋冨害鑰呭湪鏍稿唴榪樻槸鍦ㄦ牳澶栥傚墠鑰呮洿鍒╀簬騫跺彂浣跨敤澶氬鐞嗗櫒鐨勮祫婧愶紝鑰屽悗鑰呭垯鏇村鑰冭檻鐨勬槸涓婁笅鏂囧垏鎹? 寮閿銆?/b>鍦ㄧ洰鍓嶇殑鍟嗙敤緋葷粺涓紝閫氬父閮藉皢涓よ呯粨鍚堣搗鏉ヤ嬌鐢紝鏃㈡彁渚涙牳蹇冪嚎紼嬩互婊¤凍smp緋葷粺鐨勯渶瑕侊紝涔熸敮鎸佺敤綰跨▼搴撶殑鏂瑰紡鍦ㄧ敤鎴鋒佸疄鐜板彟涓濂楃嚎紼嬫満鍒訛紝姝ゆ椂涓 涓牳蹇冪嚎紼嬪悓鏃舵垚涓哄涓敤鎴鋒佺嚎紼嬬殑璋冨害鑰呫傛濡傚緢澶氭妧鏈竴鏍鳳紝"娣峰悎"閫氬父閮借兘甯︽潵鏇撮珮鐨勬晥鐜囷紝浣嗗悓鏃朵篃甯︽潵鏇村ぇ鐨勫疄鐜伴毦搴︼紝鍑轟簬"綆鍗?鐨勮璁℃濊礬錛? Linux浠庝竴寮濮嬪氨娌℃湁瀹炵幇娣峰悎妯″瀷鐨勮鍒掞紝浣嗗畠鍦ㄥ疄鐜頒笂閲囩敤浜嗗彟涓縐嶆濊礬鐨?娣峰悎"銆?/p>

鍦ㄧ嚎紼嬫満鍒剁殑鍏蜂綋瀹炵幇涓婏紝鍙互鍦? 鎿嶄綔緋葷粺鍐呮牳涓婂疄鐜扮嚎紼嬶紝涔熷彲浠ュ湪鏍稿瀹炵幇錛屽悗鑰呮樉鐒惰姹傛牳鍐呰嚦灝戝疄鐜頒簡榪涚▼錛岃屽墠鑰呭垯涓鑸姹傚湪鏍稿唴鍚屾椂涔熸敮鎸佽繘紼嬨傛牳蹇冪駭綰跨▼妯″瀷鏄劇劧瑕佹眰鍓嶈呯殑鏀? 鎸侊紝鑰岀敤鎴風駭綰跨▼妯″瀷鍒欎笉涓瀹氬熀浜庡悗鑰呭疄鐜般傝繖縐嶅樊寮傦紝姝e鍓嶆墍榪幫紝鏄袱縐嶅垎綾繪柟寮忕殑鏍囧噯涓嶅悓甯︽潵鐨勩?/p>

褰撴牳鍐呮棦鏀寔榪涚▼涔? 鏀寔綰跨▼鏃訛紝灝卞彲浠ュ疄鐜扮嚎紼?榪涚▼鐨?澶氬澶?妯″瀷錛屽嵆涓涓繘紼嬬殑鏌愪釜綰跨▼鐢辨牳鍐呰皟搴︼紝鑰屽悓鏃跺畠涔熷彲浠ヤ綔涓虹敤鎴風駭綰跨▼姹犵殑璋冨害鑰咃紝閫夋嫨鍚堥傜殑鐢ㄦ埛綰х嚎紼嬪湪 鍏剁┖闂翠腑榪愯銆傝繖灝辨槸鍓嶉潰鎻愬埌鐨?娣峰悎"綰跨▼妯″瀷錛屾棦鍙弧瓚沖澶勭悊鏈虹郴緇熺殑闇瑕侊紝涔熷彲浠ユ渶澶ч檺搴︾殑鍑忓皬璋冨害寮閿銆傜粷澶у鏁板晢涓氭搷浣滅郴緇燂紙濡侱igital Unix銆丼olaris銆両rix錛夐兘閲囩敤鐨勮繖縐嶈兘澶熷畬鍏ㄥ疄鐜癙OSIX1003.1c鏍囧噯鐨勭嚎紼嬫ā鍨嬨傚湪鏍稿瀹炵幇鐨勭嚎紼嬪張鍙互鍒嗕負"涓瀵逛竴"銆?澶氬 涓"涓ょ妯″瀷錛屽墠鑰呯敤涓涓牳蹇冭繘紼嬶紙涔熻鏄交閲忚繘紼嬶級瀵瑰簲涓涓嚎紼嬶紝灝嗙嚎紼嬭皟搴︾瓑鍚屼簬榪涚▼璋冨害錛屼氦緇欐牳蹇冨畬鎴愶紝鑰屽悗鑰呭垯瀹屽叏鍦ㄦ牳澶栧疄鐜板綰跨▼錛岃皟搴︿篃鍦ㄧ敤 鎴鋒佸畬鎴愩傚悗鑰呭氨鏄墠闈㈡彁鍒扮殑鍗曠函鐨勭敤鎴風駭綰跨▼妯″瀷鐨勫疄鐜版柟寮忥紝鏄劇劧錛岃繖縐嶆牳澶栫殑綰跨▼璋冨害鍣ㄥ疄闄呬笂鍙渶瑕佸畬鎴愮嚎紼嬭繍琛屾爤鐨勫垏鎹紝璋冨害寮閿闈炲父灝忥紝浣嗗悓鏃跺洜 涓烘牳蹇冧俊鍙鳳紙鏃犺鏄悓姝ョ殑榪樻槸寮傛鐨勶級閮芥槸浠ヨ繘紼嬩負鍗曚綅鐨勶紝鍥犺屾棤娉曞畾浣嶅埌綰跨▼錛屾墍浠ヨ繖縐嶅疄鐜版柟寮忎笉鑳界敤浜庡澶勭悊鍣ㄧ郴緇燂紝鑰岃繖涓渶姹傛鍙樺緱瓚婃潵瓚婂ぇ錛屽洜 姝わ紝鍦ㄧ幇瀹炰腑錛岀函鐢ㄦ埛綰х嚎紼嬬殑瀹炵幇錛岄櫎綆楁硶鐮旂┒鐩殑浠ュ錛屽嚑涔庡凡緇忔秷澶變簡銆?/p>

Linux鍐呮牳鍙彁渚涗簡杞婚噺榪涚▼鐨勬敮鎸侊紝闄愬埗浜? 鏇撮珮鏁堢殑綰跨▼妯″瀷鐨勫疄鐜幫紝浣哃inux鐫閲嶄紭鍖栦簡榪涚▼鐨勮皟搴﹀紑閿錛屼竴瀹氱▼搴︿笂涔熷譏琛ヤ簡榪欎竴緙洪櫡銆傜洰鍓嶆渶嫻佽鐨勭嚎紼嬫満鍒禠inuxThreads鎵閲囩敤鐨勫氨 鏄嚎紼?榪涚▼"涓瀵逛竴"妯″瀷錛岃皟搴︿氦緇欐牳蹇冿紝鑰屽湪鐢ㄦ埛綰у疄鐜頒竴涓寘鎷俊鍙峰鐞嗗湪鍐呯殑綰跨▼綆$悊鏈哄埗銆侺inux-LinuxThreads鐨勮繍琛屾満鍒舵鏄湰 鏂囩殑鎻忚堪閲嶇偣銆?/p>

]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              国产在线观看91精品一区| 免费观看久久久4p| 久久在线播放| 久久久午夜视频| 久久精品一区二区三区中文字幕| 欧美亚洲视频一区二区| 久久精品国亚洲| 久久这里只有| 91久久国产综合久久| 亚洲激情成人在线| 亚洲深夜av| 欧美在线亚洲| 欧美欧美午夜aⅴ在线观看| 国产精品v欧美精品v日韩精品| 国产精品久久久久91| 国产真实乱子伦精品视频| 亚洲国内欧美| 亚洲欧美国产精品va在线观看 | 亚洲电影在线| 99国内精品久久| 欧美在线1区| 欧美日韩久久精品| 韩国av一区二区| 亚洲一级片在线观看| 久久精品国产清自在天天线| 亚洲福利国产精品| 午夜精品免费| 欧美日韩国产在线看| 狠狠色狠色综合曰曰| 亚洲资源av| 亚洲欧洲一区二区在线观看| 欧美亚洲综合在线| 欧美日韩黄视频| 亚洲成人自拍视频| 久久精品国产一区二区三区| 一区二区欧美日韩视频| 久久影院午夜论| 国产日韩av在线播放| 亚洲网站在线看| 亚洲人成在线观看| 免费中文日韩| 激情懂色av一区av二区av| 亚洲欧美中文字幕| 亚洲精品国精品久久99热| 久久夜色精品一区| 玉米视频成人免费看| 久久精品国产第一区二区三区| 一区二区三区高清在线| 欧美日韩国产探花| 亚洲色图在线视频| av不卡免费看| 国产精品v欧美精品∨日韩| 一本色道**综合亚洲精品蜜桃冫| 欧美激情中文不卡| 欧美1区3d| 日韩特黄影片| 亚洲精品视频免费观看| 欧美激情第1页| 99精品视频免费观看| 亚洲精品免费一二三区| 欧美激情欧美狂野欧美精品| 亚洲精品国产精品国自产观看浪潮| 欧美风情在线观看| 欧美电影在线| 亚洲视频一二| 亚洲欧美日韩精品久久久| 国产欧美精品一区| 久久久精品国产一区二区三区| 性视频1819p久久| 狠狠色丁香婷婷综合久久片| 另类成人小视频在线| 久久亚洲免费| 日韩一级免费观看| 亚洲一区二区在线播放| 国产农村妇女精品一区二区| 久久久欧美精品sm网站| 老鸭窝亚洲一区二区三区| 欧美成人黄色小视频| 91久久线看在观草草青青| 亚洲精品美女91| 国产精品一区二区三区四区| 久久久久久穴| 欧美国产日韩在线观看| 亚洲欧美另类在线观看| 久久国产主播| 99热这里只有精品8| 亚洲综合精品一区二区| 亚洲福利免费| 一本色道精品久久一区二区三区| 国产精品亚洲а∨天堂免在线| 免费在线看成人av| 欧美日韩一区二区在线| 久久另类ts人妖一区二区| 欧美精品日韩www.p站| 欧美一区亚洲二区| 欧美国产一区二区在线观看| 欧美一区精品| 欧美日本中文字幕| 久久这里只有| 国产精品一区二区你懂得| 亚洲电影在线免费观看| 国产人成一区二区三区影院| 亚洲欧洲日产国码二区| 伊人狠狠色j香婷婷综合| 一区二区三区www| 亚洲人体一区| 久久精品人人| 羞羞答答国产精品www一本| 欧美极品色图| 欧美不卡三区| 狠狠v欧美v日韩v亚洲ⅴ| 一区二区三区四区五区视频| 亚洲欧洲日韩女同| 久久aⅴ国产紧身牛仔裤| 亚洲免费网站| 欧美日韩综合不卡| 亚洲国产另类 国产精品国产免费| 国产视频亚洲| 在线午夜精品自拍| 99视频精品在线| 蜜臀久久99精品久久久久久9| 久久精品av麻豆的观看方式| 国产精品一区二区在线观看不卡| 日韩一级黄色av| 99re热精品| 欧美激情综合网| 亚洲国产高清一区二区三区| 尤物在线精品| 久久亚洲综合色| 嫩草影视亚洲| 亚洲第一偷拍| 美乳少妇欧美精品| 欧美黑人在线播放| 亚洲精品日日夜夜| 欧美激情在线| 日韩午夜在线观看视频| 在线亚洲自拍| 午夜电影亚洲| 国产精品一区二区三区成人| 亚洲欧美一区二区视频| 欧美一区二区三区播放老司机| 国产精品女主播在线观看 | 久久久久久有精品国产| 1024成人| 欧美成人按摩| 99re6这里只有精品| 亚洲天堂久久| 国产伦精品一区二区三区| 亚洲欧美日韩精品| 久久综合精品国产一区二区三区| 伊人久久亚洲热| 欧美极品欧美精品欧美视频| aa成人免费视频| 欧美一区二区三区视频免费| 国产亚洲欧洲997久久综合| 欧美专区中文字幕| 亚洲电影毛片| 亚洲一区日本| 国内精品视频一区| 另类春色校园亚洲| 99精品久久久| 久久久国产精品一区二区三区| 极品日韩久久| 欧美日韩免费| 久久都是精品| 亚洲精品小视频| 久久精品国产亚洲一区二区三区| 国内精品嫩模av私拍在线观看| 欧美大片在线观看| 午夜精品久久久久久久久久久久久 | 欧美成人r级一区二区三区| av成人手机在线| 六月丁香综合| 亚洲网址在线| 亚洲高清毛片| 国产精品区一区| 欧美成人免费一级人片100| 一本一本久久| 免费不卡在线视频| 午夜精品久久久久久久白皮肤 | 久久精品女人| 一本色道久久综合亚洲精品不| 久久精品一区二区三区四区| 亚洲人成人一区二区在线观看| 国产欧美日韩专区发布| 欧美精品免费看| 久久久亚洲成人| 亚洲尤物在线视频观看| 亚洲娇小video精品| 久久免费视频一区| 午夜在线成人av| 亚洲一区二区三区四区五区午夜| 在线观看av不卡| 国产乱子伦一区二区三区国色天香| 欧美高清日韩| 久久蜜桃av一区精品变态类天堂| 亚洲午夜一区二区三区| 91久久精品国产91性色tv| 久久综合九色欧美综合狠狠| 久久精品国亚洲|