• <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>

            小默

            Linux內(nèi)核完全注釋 趙炯 第1章 概述 //50min

              

            1   概述

             本章回顧 Linux  操作系統(tǒng)開(kāi)發(fā)長(zhǎng)過(guò)書為會(huì)選 Linux 系統(tǒng)學(xué)習(xí)對(duì)象的說(shuō)明 Linux 內(nèi)核版進(jìn)學(xué)習(xí)優(yōu)點(diǎn)不 足之開(kāi)進(jìn)步的學(xué)習(xí)對(duì)內(nèi)容進(jìn)簡(jiǎn)

             1.1 Linux 的誕生和發(fā)展

             Linux 操作統(tǒng) UNIX 操作統(tǒng)統(tǒng)。它 1991 10 5 日(正 式向時(shí)此后 Internet 網(wǎng)絡(luò)經(jīng)過(guò)全世計(jì)機(jī)愛(ài)的共現(xiàn)已為當(dāng) 今世使的一 UNIX 統(tǒng)使用數(shù)長(zhǎng)。

            Linux  統(tǒng)發(fā)展長(zhǎng)過(guò)下五個(gè)柱:UNIX 操作統(tǒng)MINIX  操作 系統(tǒng)GNU 計(jì)POSIX 標(biāo)準(zhǔn) Internet 網(wǎng)絡(luò)根據(jù)個(gè)來(lái) Linux 的開(kāi)發(fā)歷程、 它的過(guò)發(fā)展經(jīng)其中個(gè)據(jù) Linux 的創(chuàng) Linus Toravlds 對(duì)計(jì)機(jī)感興趣而學(xué)計(jì)機(jī)識(shí)心里開(kāi)個(gè)己的系統(tǒng) Linux 內(nèi) 0.01 如何個(gè)地在 hacker 幫助下最完善1.0版本時(shí)發(fā)經(jīng)過(guò),也對(duì) Linux 發(fā)展歷進(jìn)細(xì)

            當(dāng)然 Linux 內(nèi)核版本已經(jīng)開(kāi)發(fā) 2.5.52 。而數(shù) Linux 統(tǒng)中所用內(nèi)穩(wěn)2.4.20 內(nèi) 2 個(gè)數(shù)字數(shù)在開(kāi)發(fā)系統(tǒng)穩(wěn)對(duì) Linux的一發(fā)和書不重復(fù)

            1.1.1 UNIX 操作統(tǒng)的誕生

            Linux  系統(tǒng)UNIX 作系統(tǒng)個(gè)克隆 UNIX  系統(tǒng)國(guó)貝爾實(shí)驗(yàn)Ken.Thompson  Dennis Ritchie  1969  DEC PDP-7 計(jì)機(jī)開(kāi)發(fā)的一個(gè)時(shí)統(tǒng)

            Ken  Thompson 在閑置不 PDP-7 計(jì)機(jī)上運(yùn)行行(Space  travel)游 戲 1969 他夫鄉(xiāng)渡假個(gè)內(nèi)開(kāi)發(fā) UNIX 統(tǒng)型。當(dāng)時(shí)使用的 BCPL 語(yǔ)言語(yǔ),后經(jīng) Dennis  Ritchie 1972 強(qiáng) C 語(yǔ)言進(jìn)使 UNIX 系統(tǒng)到了推廣。

            1.1.2 MINIX 操作系統(tǒng) 

            MINIX 系統(tǒng) Andrew S. TanenbaumAST開(kāi)發(fā)AST Amsterdam Vrije 學(xué)數(shù)學(xué) 與計(jì)機(jī)學(xué)統(tǒng) ACM IEEE 深會(huì)(兩會(huì)會(huì)員)發(fā) 100 5 計(jì)算機(jī)籍。

            AST  雖出在美國(guó)紐約,但卻是荷蘭(1914  他的祖輩來(lái)美國(guó))。他紐約上的中學(xué)M.I.T 上的大學(xué)學(xué) Berkeley 分校念學(xué)于讀緣故他來(lái)到了鄉(xiāng)荷蘭與 家鄉(xiāng)來(lái)來(lái) Vrije 學(xué)開(kāi)研究 Amsterdam 是個(gè)常綿綿的 城市對(duì) AST 來(lái)說(shuō)這最過(guò)樣的環(huán)經(jīng)待在計(jì)機(jī)了MINIX 1987 的,學(xué)學(xué)習(xí)作系統(tǒng)理。 1991 時(shí) 1.5要 有兩個(gè)使用1.5 2.0 當(dāng)時(shí)統(tǒng)在大學(xué)使費(fèi)其它當(dāng) MINIX 統(tǒng)經(jīng)免費(fèi)的,從許 FTP 上下
            對(duì)
            Linux 系統(tǒng),來(lái)曾表對(duì)開(kāi)發(fā) Linus 的稱認(rèn) Linux 的發(fā)于 他為 MINIX 小型化,學(xué)個(gè)學(xué)內(nèi)就學(xué)沒(méi)納全對(duì) MINIX 的擴(kuò)的前激發(fā) Linus Linux 系統(tǒng)當(dāng) Linus 也正個(gè)時(shí)機(jī)。 作為個(gè)統(tǒng)MINIX 優(yōu)時(shí)提供 C 語(yǔ)編語(yǔ)言編統(tǒng)。 這是使負(fù)程序 hacker 操作統(tǒng)當(dāng)時(shí)一直護(hù)密。

            1.1.3 GNU 計(jì)劃 

            GNU 計(jì)基金會(huì) FSF(the Free Software Foundation) Richard M. Stallman 1984 年一 手創(chuàng)開(kāi)發(fā)個(gè) UNIX 件的統(tǒng)GNU 系統(tǒng)GNU "GNU'Not Unix"的發(fā)音為"guh-NEW"種使 Linux 作為 GNU 操作統(tǒng)的使 用。統(tǒng)稱作"Linux",但 Stallman 認(rèn)為嚴(yán)說(shuō)它們應(yīng)該 GNU/Linux 統(tǒng)。

            到上紀(jì)90 GNU 項(xiàng)經(jīng)開(kāi)發(fā)質(zhì)量費(fèi)括有 emacs 編輯系 統(tǒng)bash shell gcc 列編gdb 調(diào)程序等等 Linux 操作統(tǒng)開(kāi)發(fā)創(chuàng)了一個(gè) 合適 環(huán)境  Linux  生的礎(chǔ)之一 以至 目前  Linux  系統(tǒng) GNU/Linux”操作統(tǒng)。

            1.1.4 POSIX 標(biāo)準(zhǔn) 

            POSIXPortable Operating System Interface for Computing Systems)是 IEEE ISO/IEC 開(kāi)發(fā)的一 簇標(biāo)準(zhǔn)標(biāo)準(zhǔn)現(xiàn) UNIX 實(shí)經(jīng)驗(yàn)描述統(tǒng)調(diào)務(wù)接應(yīng) 用程序可以在源代碼一級(jí)上在多種操作系統(tǒng)上移植和運(yùn)行。它是  1980  早期一個(gè)  UNIX  用戶組(usr/group)基礎(chǔ)上取 UNIX 戶組原來(lái) AT&T System V 操作系統(tǒng) BerkeleyCSRG  BSD 統(tǒng)的調(diào)用區(qū)調(diào)和。并 1984 年定制出了/usr/group 標(biāo)準(zhǔn)

            1985 IEEE 系統(tǒng)技術(shù)會(huì)標(biāo)準(zhǔn)會(huì)TCOS-SS開(kāi)始 ANSI 的支下責(zé) IEEE 標(biāo)準(zhǔn)會(huì)關(guān)源代統(tǒng)服務(wù)標(biāo)準(zhǔn) 1986 4 月,IEEE 出 了試標(biāo)準(zhǔn)。第一個(gè)正式標(biāo)準(zhǔn)  1988    9  月份批準(zhǔn)IEEE  1003.1-1988,也既以經(jīng)常提到的 POSIX.1 標(biāo)準(zhǔn)

            1989 POSIX 被轉(zhuǎn) ISO/IEC 團(tuán) 15 續(xù)制定 ISO 標(biāo)準(zhǔn) 1990POSIX.1 經(jīng)過(guò) C 語(yǔ)標(biāo)準(zhǔn)聯(lián)準(zhǔn) IEEE 1003.1-1990 ANSI 標(biāo)準(zhǔn) ISO/IEC9945-1:1990 標(biāo)準(zhǔn)

            POSIX.1 規(guī)統(tǒng)服務(wù)應(yīng)口(API統(tǒng)服務(wù)標(biāo)準(zhǔn)作組 期望對(duì)統(tǒng)制定標(biāo)準(zhǔn) IEEE  POSIX 開(kāi)開(kāi)。剛開(kāi)個(gè)準(zhǔn)的計(jì) 劃在進(jìn) 300 參加會(huì)工具標(biāo)準(zhǔn)(POSIX.2)測(cè)法標(biāo)準(zhǔn)(POSIX.3、實(shí)時(shí) APIPOSIX.4。到 1990 經(jīng) 25 個(gè)計(jì)進(jìn) 16 個(gè)工進(jìn)來(lái)此同時(shí)在制標(biāo)準(zhǔn) X/OpenAT&TOSF 等。 

            90 POSIX 標(biāo)準(zhǔn)的制定的時(shí)候 1991-1993 時(shí) Linux 剛剛時(shí)個(gè) UNIX 標(biāo)準(zhǔn) Linux 提供極為使 Linux 標(biāo)準(zhǔn)導(dǎo)下進(jìn) 行開(kāi)發(fā)數(shù) UNIX 統(tǒng)兼容。在最 Linux 內(nèi)核源代碼中0.01 版、0.11 就 已經(jīng) Linux 系統(tǒng) POSIX 標(biāo)準(zhǔn)準(zhǔn)備 Linux 0.01 內(nèi)核的/include/unistd.h 中 就已經(jīng)個(gè)關(guān) POSXI 標(biāo)準(zhǔn)號(hào)常數(shù) Linus 在注釋中已寫道OK是個(gè)玩 笑,

            1991 年7 月3 日在comp.os.minix 上發(fā)布的post 上就已經(jīng)提到了正在搜集POSIX 的資料。其中透露了他正在著手一個(gè)操作系統(tǒng)的開(kāi)發(fā),并且在開(kāi)發(fā)之初已經(jīng)想到要實(shí)現(xiàn)與POSIX 相兼容的問(wèn)題了。

            1.1.5 Linux 操作系統(tǒng)的誕生

            在 1981 年,IBM 公司推出了享譽(yù)全球的微型計(jì)算機(jī)IBM PC。在1981-1991 年間,MS-DOS 操作系統(tǒng)一直是微型計(jì)算機(jī)操作系統(tǒng)的主宰。此時(shí)計(jì)算機(jī)硬件價(jià)格雖然逐年下降,但軟件價(jià)格仍然居高不下。當(dāng)時(shí)Apple 的MACs 操作系統(tǒng)可以說(shuō)是性能最好的,但是其天價(jià)使得沒(méi)人能夠輕易靠近。

            當(dāng)時(shí)的另一個(gè)計(jì)算機(jī)技術(shù)陣營(yíng)就是UNIX 世界。但是UNIX 操作系統(tǒng)就不僅是價(jià)格昂貴的問(wèn)題了。為了尋求高利潤(rùn)率,UNIX 經(jīng)銷商們把價(jià)格抬得極高,PC 小用戶根本不能靠近它。曾經(jīng)一度收到Bell Labs許可而能在大學(xué)中用于教學(xué)的UNIX 源代碼也一直被小心地守衛(wèi)著不許公開(kāi)。對(duì)于廣大的PC 用戶,軟件行業(yè)的大型供應(yīng)商們始終沒(méi)有給出有效的解決這個(gè)問(wèn)題的手段。

            正在此時(shí),出現(xiàn)了MINIX 操作系統(tǒng),并且有一本描述其設(shè)計(jì)實(shí)現(xiàn)原理的書同時(shí)發(fā)行。由于AST 的這本書寫的非常詳細(xì),并且敘述得有條有理,于是幾乎全世界的計(jì)算機(jī)愛(ài)好者都開(kāi)始看這本書,以期能理解操作系統(tǒng)的工作原理。其中也包括Linux 系統(tǒng)的創(chuàng)始者Linus Benedict Torvalds。

            當(dāng)時(shí)(1991 年),Linus Benedict Torvalds 是赫爾辛基大學(xué)計(jì)算機(jī)科學(xué)系的二年級(jí)學(xué)生,也是一個(gè)自學(xué)的計(jì)算機(jī)hacker。這個(gè)21 歲的芬蘭年輕人喜歡鼓搗他的計(jì)算機(jī),測(cè)試計(jì)算機(jī)的性能和限制。但當(dāng)時(shí)他所缺乏的就是一個(gè)專業(yè)級(jí)的操作系統(tǒng)。

            在同一年間,GNU 計(jì)劃已經(jīng)開(kāi)發(fā)出了許多工具軟件。其中最受期盼的GNU C 編譯器已經(jīng)出現(xiàn),但還沒(méi)有開(kāi)發(fā)出免費(fèi)的GNU 操作系統(tǒng)。即使是教學(xué)使用的MINIX 操作系統(tǒng)也開(kāi)始有了版權(quán),需要購(gòu)買才能得到源代碼。雖然GNU 的操作系統(tǒng)HURD 一直在開(kāi)發(fā)之中,但在當(dāng)時(shí)看來(lái)不能在幾年內(nèi)完成。

            為了能更好地學(xué)習(xí)計(jì)算機(jī)知識(shí)(或許也只是為了興趣?),Linus 使用圣誕節(jié)的壓歲錢和貸款購(gòu)買了一臺(tái)386 兼容電腦,并從美國(guó)郵購(gòu)了一套MINIX 系統(tǒng)軟件。就在等待MINIX 軟件期間,Linus 認(rèn)真學(xué)習(xí)了有關(guān)Intel 80386 的硬件知識(shí)。為了能通過(guò)Modem 撥號(hào)連接到學(xué)校的主機(jī)上,他使用匯編語(yǔ)言并利用80386 CPU 的多任務(wù)特性編制出一個(gè)終端仿真程序。此后為了將自己一臺(tái)老式電腦上的軟件復(fù)制到新電腦上,他還為軟盤驅(qū)動(dòng)器、鍵盤等硬件設(shè)備編制出相應(yīng)的驅(qū)動(dòng)程序

            通過(guò)編程實(shí)踐,并在學(xué)習(xí)過(guò)程中認(rèn)識(shí)到MINIX 系統(tǒng)的諸多限制(MINIX 雖然很好,但只是一個(gè)用于教學(xué)目的簡(jiǎn)單操作系統(tǒng),而不是一個(gè)強(qiáng)有力的實(shí)用操作系統(tǒng)),而且通過(guò)上述實(shí)踐Linus 已經(jīng)有了一些類似于操作系統(tǒng)硬件設(shè)備驅(qū)動(dòng)程序的代碼,于是他開(kāi)始有了編制一個(gè)新操作系統(tǒng)的想法。此時(shí)GNU 計(jì)劃已經(jīng)開(kāi)發(fā)出許多工具軟件,其中最受期盼的GNU C 編譯器已經(jīng)出現(xiàn)。雖然GNU的免費(fèi)操作系統(tǒng)HURD正在開(kāi)發(fā)中。但Linus 已經(jīng)等不急了。

            從 1991 年4 月份起,他通過(guò)修改終端仿真程序和硬件驅(qū)動(dòng)程序,開(kāi)始編制起自己的操作系統(tǒng)來(lái)。剛開(kāi)始,他的目的很簡(jiǎn)單,只是為了學(xué)習(xí)Intel 386 體系結(jié)構(gòu)保護(hù)模式運(yùn)行方式下的編程技術(shù)。但后來(lái)Linux的發(fā)展卻完全改變了初衷。根據(jù)Linus 在comp.os.minix 新聞組上發(fā)布的消息,我們可以知道他逐步從學(xué)習(xí)MINIX 系統(tǒng)階段發(fā)展到開(kāi)發(fā)自己的Linux 系統(tǒng)的過(guò)程。

            Linus 第1 次向comp.os.minix 投遞消息是在1991 年3 月29 日。所發(fā)帖子的題目是“gcc on minix-386 doesn't optimize”,是有關(guān)gcc 編譯器在MINIX-386 系統(tǒng)上運(yùn)行優(yōu)化的問(wèn)題(MINIX-386 是一個(gè)由Bruce Evans 改進(jìn)的利用Intel 386 特性的32 位MINIX 系統(tǒng))。由此可知,Linus 在1991 年初期就已經(jīng)開(kāi)始深入研究了MINIX 系統(tǒng),并在這段時(shí)間有了改進(jìn)MINIX 操作系統(tǒng)的思想。在進(jìn)一步學(xué)習(xí)MINIX 系統(tǒng)之后,這個(gè)想法逐步演變成想重新設(shè)計(jì)一個(gè)基于Intel 80386 體系結(jié)構(gòu)的新操作系統(tǒng)的構(gòu)思。

            他在回答有人提出MINIX 上的一個(gè)問(wèn)題時(shí),所說(shuō)的第一句話就是“閱讀源代碼”(“RTFSC (Read the F**ing Source Code :-)”)。他認(rèn)為答案就在源程序中。這也說(shuō)明了對(duì)于學(xué)習(xí)系統(tǒng)軟件來(lái)說(shuō),我們不光需要懂得系統(tǒng)的工作基本原理,還需要結(jié)合實(shí)際系統(tǒng),學(xué)習(xí)實(shí)際系統(tǒng)的實(shí)現(xiàn)方法。因?yàn)槔碚摦吘故抢碚摚渲惺÷粤嗽S多枝節(jié),而這些枝節(jié)問(wèn)題雖然沒(méi)有太多的理論含量,但卻是一個(gè)系統(tǒng)必要的組成部分,就象麻雀身上的一根羽毛。
            從 1991 年4 月份開(kāi)始,Linus 幾乎花費(fèi)了全部時(shí)間研究MINIX-386 系統(tǒng)(Hacking the kernel),并且嘗試著移植GNU 的軟件到該系統(tǒng)上(GNU gcc、bash、gdb 等)。并于4 月13 日在comp.os.minix 上發(fā)布說(shuō)自己已經(jīng)成功地將bash 移植到了MINIX 上,而且已經(jīng)愛(ài)不釋手、不能離開(kāi)這個(gè)shell 軟件了。

            第一個(gè)與Linux 有關(guān)的消息是在1991 年7 月3 日在comp.os.minix 上發(fā)布的(當(dāng)然,那時(shí)還不存在Linux 這個(gè)名稱,當(dāng)時(shí)Linus 腦子里想的名稱可能是FREAX ?,F(xiàn)REAX 的英文含義是怪誕的、怪物、異想天開(kāi)等)。其中透露了他正在進(jìn)行Linux 系統(tǒng)的開(kāi)發(fā),并且已經(jīng)想到要實(shí)現(xiàn)與POSIX 兼容的問(wèn)題了。

            在 Linus 另一個(gè)發(fā)布的消息中(1991 年8 月25 日 comp.os.minix),他向所有MINIX 用戶詢問(wèn)“What would you like to see in minix?”(“你最想在MINIX 系統(tǒng)中見(jiàn)到什么?”),在該消息中他首次透露出正在開(kāi)發(fā)一個(gè)(免費(fèi)的)386(486)操作系統(tǒng),并且說(shuō)只是興趣而已,代碼不會(huì)很大,也不會(huì)象GNU 的那樣專業(yè)。

            希望大家反饋一些對(duì)于MINIX 系統(tǒng)中喜歡哪些特色不喜歡什么等信息,并且說(shuō)明由于實(shí)際和其它一些原因,新開(kāi)發(fā)的系統(tǒng)剛開(kāi)始與MINIX 很象(并且使用了MINIX 的文件系統(tǒng))。并且已經(jīng)成功地將bash(1.08版)和gcc(1.40 版)移植到了新系統(tǒng)上,而且在過(guò)幾個(gè)月就可以實(shí)用了。

            最后,Linus 申明他開(kāi)發(fā)的操作系統(tǒng)沒(méi)有使用一行MINIX 的源代碼;而且由于使用了386 的任務(wù)切換特性,所以該操作系統(tǒng)不好移植(沒(méi)有可移植性),并且只能使用AT 硬盤。對(duì)于Linux 的移植性問(wèn)題,Linus 當(dāng)時(shí)并沒(méi)有考慮。但是目前Linux 幾乎可以運(yùn)行在任何一種硬件體系結(jié)構(gòu)上。


            到了 1991 年的10 月5 日,Linus 在comp.os.minix 新聞組上發(fā)布消息,正式向外宣布Linux 內(nèi)核系統(tǒng)的誕生(Free minix-like kernel sources for 386-AT)。這段消息可以稱為L(zhǎng)inux 的誕生宣言,并且一直廣為流傳。因此10 月5 日對(duì)Linux 社區(qū)來(lái)說(shuō)是一個(gè)特殊的日子,許多后來(lái)Linux 的新版本發(fā)布時(shí)都選擇了這個(gè)日子。所以RedHat 公司選擇這個(gè)日子發(fā)布它的新系統(tǒng)也不是偶然的。

            1.1.6 Linux 操作系統(tǒng)版本的變遷

            Linux 操作系統(tǒng)從誕生到1.0 版正式出現(xiàn),共發(fā)布了表1–1 中所示的一些主要版本。
            表 1–1 內(nèi)核的主要版本
             

            版本號(hào)

            發(fā)布日期

            說(shuō)明

            0.00

            (1991.2-4)

            兩個(gè)進(jìn)程,分別在屏幕上顯示’AAA’BBB’

             

            0.01

             

            (1991.8)

            第一個(gè)正式向外公布的 Linux 內(nèi)核版本多線程文件系統(tǒng)分段

            和分頁(yè)內(nèi)存管理。

            0.02

            (1991.10.5)

            該版本以及 0.03 版是內(nèi)部版,目前已經(jīng)無(wú)法找到特點(diǎn)同上。

            0.10

            (1991.10)

            Ted Ts’o 發(fā)布的 Linux 內(nèi)版本。增加了內(nèi)存分配庫(kù)函數(shù)。

            0.11

            (1991.12.8)

            基本可以正常運(yùn)行的內(nèi)核版本。至此硬盤和軟驅(qū)驅(qū)動(dòng)。

             

            0.12

             

            (1992.1.15)

            主要增加了數(shù)學(xué)協(xié)處理器的軟件模擬程序增加了作業(yè)控制

            擬控制臺(tái)、文件符號(hào)鏈接和虛擬內(nèi)存對(duì)換功能。

             

            0.95(0.13)

             

            (1992.3.8)

            加入虛擬文件系統(tǒng)支持增加了登錄功能改善了軟盤驅(qū)動(dòng)程序

            和文件系統(tǒng)的性能。改變了硬盤編號(hào)方式。支持 CDROM

             

            0.96

             

            (1992.5.12)

            開(kāi)始加入網(wǎng)絡(luò)支持改善了串行驅(qū)動(dòng)高速緩沖內(nèi)存管的性

            能,支持動(dòng)態(tài)鏈接庫(kù),并能運(yùn)行 X-Windows 程序。

            0.97

            (1992.8.1)

            增加了對(duì)新的 SCSI 驅(qū)動(dòng)程序支持。

            0.98

            (1992.9.29)

            改善了對(duì) TCP/IP0.8.1)網(wǎng)絡(luò)的支持,糾正了 extfs 的錯(cuò)誤。

            0.99

            (1992.12.13)

            重新設(shè)計(jì)進(jìn)程對(duì)內(nèi)存的使用分配,每個(gè)進(jìn)程有 4G 線性空間。

            1.0

            (1994.3.14)

            第一個(gè)正式版。

             

             Linux 統(tǒng) 0.13 內(nèi)直接 0.95 版,Linus 的意覺(jué) 1.0 遠(yuǎn)時(shí) 0.95 開(kāi)對(duì)內(nèi)核的進(jìn)(補(bǔ)序的) Linus 的主任務(wù) 開(kāi)始對(duì)內(nèi)護(hù)決定個(gè)補(bǔ)現(xiàn)為止新的內(nèi)核版本 2003 12 18 日公 2.6.2 中包 15000 個(gè)使 gz 后源件包 40MB !到現(xiàn)在見(jiàn) 1–2  

            12 內(nèi)字節(jié)數(shù)

            內(nèi)核版本號(hào)

            發(fā)布日期

            源代碼大小(經(jīng) gz 壓縮后)

            2.4.22

            2004.2.4

            35MB

            2.6.5

            2004.4.4

            41MB

              

            1.1.7 Linux 稱的由來(lái)

             Linux 統(tǒng)開(kāi)時(shí)并沒(méi)有被稱 LinuxLinus 給他統(tǒng) FREAX怪誕開(kāi)等意操作系統(tǒng)上載 ftp.funet.fi 務(wù)器上時(shí) Ari Lemke 很不個(gè)認(rèn)為既 Linus 的操作統(tǒng)就 Linux 作為該操統(tǒng)Linux 個(gè)開(kāi)流傳下來(lái)。

            Linus 的自傳Just for FunLinus 解釋說(shuō)1

            “坦說(shuō)來(lái)沒(méi)想到過(guò)要 Linux 這個(gè)稱發(fā)個(gè)統(tǒng)為這個(gè)負(fù) 了發(fā)版準(zhǔn)備的呢?Freax實(shí)內(nèi)中某些早 Makefile -  用于描 述如  -  文件中經(jīng)含有Freax”個(gè)了,大在了左右。但實(shí)這 也沒(méi)關(guān)當(dāng)時(shí)不需個(gè)還沒(méi)發(fā)過(guò)內(nèi)核代

            Ari Lemke,他堅(jiān)持用自內(nèi) ftp 點(diǎn)上,非常 Freax 這個(gè)名 字堅(jiān)現(xiàn)這個(gè)名字(Linux)認(rèn)當(dāng)時(shí)我并沒(méi)爭(zhēng)這都名字。所以我 可以說(shuō)自負(fù)說(shuō)我并沒(méi)但我個(gè)名 字,能說(shuō)現(xiàn)做的

             1.1.8 Linux 系統(tǒng)開(kāi)發(fā)的要貢獻(xiàn)者

              Linux 早期以看Linux 統(tǒng)早期主要開(kāi)發(fā) Linus 本人以外員之一就 Theodore Ts'o (Ted Ts'o) 1990 年畢業(yè) MIT 計(jì)機(jī)學(xué)業(yè)。在學(xué)時(shí)積極參 加學(xué)學(xué)活動(dòng)行車當(dāng)有就 Hacking  on  Linux來(lái)開(kāi)始 喜歡業(yè)無(wú)報(bào)運(yùn)動(dòng) IBM 從事系統(tǒng)務(wù)國(guó)網(wǎng)絡(luò)設(shè)計(jì)操 作、開(kāi)團(tuán) IETF 成員。

            Linux  內(nèi)行也 Linux  操作統(tǒng)問(wèn)時(shí),熱 情 linux 發(fā) Maillist,幾乎是 Linux 剛開(kāi)發(fā)時(shí) Linux 做出獻(xiàn)他 也是最早 Linux 內(nèi)核加程Linux 內(nèi) 0.10 驅(qū)動(dòng) ramdisk.c 和內(nèi)核內(nèi)配 程 kmalloc.c)目前為止事著 Linux 關(guān)洲地區(qū)他設(shè)立 Linux ftp 點(diǎn)tsx-11.mit.edu而且點(diǎn) Linux 用戶務(wù)對(duì) Linux 獻(xiàn) 之一實(shí)現(xiàn) ext2 文件統(tǒng)統(tǒng)現(xiàn) Linux 世界實(shí)上的統(tǒng)標(biāo)準(zhǔn)他 又推 ext3 統(tǒng)。該系統(tǒng)統(tǒng)的穩(wěn)問(wèn)作為對(duì) 97 2002 5 Linux Journal 了封面人對(duì)進(jìn)了采 IBM Linux   技術(shù)關(guān) Linux 標(biāo)準(zhǔn)庫(kù) LSB(Linux Standard Base)工作。 

            Linux  區(qū)  Alan  Cox作于國(guó)西學(xué)(Swansea  University College)開(kāi)別喜歡玩游戲 MUDMulti-User Dungeon or Dimension網(wǎng)絡(luò) 游戲 90 games.mud 新聞組 posts 中你可發(fā)帖子還寫了 一 MUD 發(fā)展史(rec.games.mud 新聞1992 3 9 A history of MUD)

            MUD 網(wǎng)絡(luò)切相關(guān)開(kāi)對(duì)計(jì)算機(jī)網(wǎng)絡(luò)來(lái)了玩運(yùn) 行游網(wǎng)絡(luò)輸速個(gè)最為滿臺(tái)是他開(kāi)操 作系統(tǒng)沒(méi)使 MINIX 統(tǒng)不起當(dāng) Linux 0.11 386BSD 發(fā)時(shí)算 購(gòu)置了一臺(tái) 386SX 386BSD 數(shù)學(xué)協(xié)處理而采 Intel 386SX CPU 不帶 數(shù)學(xué)協(xié) Linux 系統(tǒng)于是他開(kāi)學(xué)習(xí)費(fèi) Linux開(kāi)對(duì) Linux 系統(tǒng)產(chǎn)有關(guān)網(wǎng)絡(luò)實(shí)現(xiàn)關(guān) Linux 運(yùn)式問(wèn) Linux 實(shí)現(xiàn)巧妙(beautifully)

            Linux 0.95 發(fā),他開(kāi) Linux 系統(tǒng)補(bǔ)丁程記得他最個(gè)補(bǔ)丁程 序,沒(méi) Linus 采納,并 Linux 統(tǒng) TCP/IP 網(wǎng)絡(luò)使用人之來(lái)加入 Linux 的開(kāi)發(fā)隊(duì)成為護(hù) Linux 內(nèi)碼的負(fù)責(zé)可以說(shuō)成 Linux 社團(tuán)Linus 之后 Microsoft 曾經(jīng)邀請(qǐng)拒絕 2001 開(kāi)始, 他負(fù)責(zé)護(hù) Linux 內(nèi) 2.4.x Linus 主要負(fù)責(zé)開(kāi)發(fā)開(kāi)發(fā)內(nèi)的研制(數(shù) 2.5.x)

            《內(nèi)冊(cè)The Linux Kernel Hackers' Guide)一 Michael K. Johnson 接觸 Linux 統(tǒng)之一( 0.97 )。他 Linux 計(jì)劃Linux Document Project - LDP發(fā) 起者經(jīng) Linux Journel 現(xiàn) RedHat 公司作。 

            Linux  統(tǒng)些中堅(jiān)發(fā)天這個(gè)計(jì)算機(jī)對(duì) Linux  出了獻(xiàn)里就不一舉了貢獻(xiàn)者的可參見(jiàn) Linux 內(nèi) CREDITS 文件, 其中出了對(duì) Linux 獻(xiàn)的 400 括他 email 地址和信地 址、頁(yè)獻(xiàn)跡等息。 

            通過(guò)說(shuō)對(duì) Linux 的五歸納下:
            UNIX 統(tǒng)  --  UNIX  1969  Bell 實(shí)驗(yàn)室。Linux  UNIX 的一種克統(tǒng)。UNIX的重說(shuō)了。
            MINIX 操作統(tǒng)  --  MINIX 統(tǒng) UNIX 一種統(tǒng),它 1987 年由計(jì)機(jī)教授 Andrew  S.  Tanenbaum 開(kāi)發(fā)完 MINIX 系統(tǒng)的出現(xiàn)(能免費(fèi)學(xué)內(nèi))界的學(xué)學(xué)習(xí) UNIX 系統(tǒng)風(fēng)。Linux 開(kāi)始就是參 MINIX 統(tǒng) 1991 開(kāi)開(kāi)發(fā)
            GNU 計(jì)劃--  開(kāi)發(fā) Linux 操作統(tǒng) Linux 上所用數(shù) GNU 計(jì)劃。Linux只是統(tǒng)個(gè)內(nèi)沒(méi) GNU 環(huán)境(說(shuō) bash shell) Linux 將寸
            POSIX 標(biāo)準(zhǔn)  --  該標(biāo)準(zhǔn)動(dòng) Linux 操作系統(tǒng)朝著規(guī)發(fā)要的 Linux 進(jìn)的塔。INTERNET --  如果沒(méi) Intenet 網(wǎng)沒(méi)界的無(wú)數(shù)計(jì)機(jī)無(wú)獻(xiàn) Linux 最多 只能發(fā)展 0.13(0.95)水平。

             1.2 內(nèi)容綜述

             本文對(duì) Linux 內(nèi) 0.11 進(jìn)細(xì)描述和釋。Linux-0.11 1991 12 日發(fā)發(fā)時(shí)以下件: 

            bootimage.Z           -  具有美國(guó)鍵盤碼的動(dòng)映像件;
            rootimage.Z            -   1200kB 壓縮的根文件統(tǒng)映像件;
            linux-0.11.tar.Z       -  內(nèi)核源碼文。大 94KB,展開(kāi)后也 325KB
            as86.tar.Z               -  Bruce  Evans'二進(jìn)制執(zhí)行件。是 16 位的匯程序裝入程
            INSTALL-0.11      -  更新過(guò)安裝息文 

            目前原來(lái) rootimage.Z 文件其它個(gè)能找到。不過(guò)經(jīng) Internet 上的源為Linux  0.11  出了一個(gè)使用 rootimage-0.11  統(tǒng)重新出能 0.11 環(huán)境使 gcc 1.40 實(shí)驗(yàn)開(kāi)發(fā)環(huán)境些文件均可以 oldlinux.org 網(wǎng)站 上下 

            本文細(xì)  linux-0.11  內(nèi)序,對(duì)個(gè)進(jìn)行細(xì),包 括對(duì) Makefile 注釋過(guò)計(jì)算機(jī)動(dòng)過(guò)進(jìn)結(jié) 束內(nèi)開(kāi)始調(diào) shell 個(gè)序均針對(duì)進(jìn)沒(méi)有連貫性根據(jù)自 己的進(jìn)分析時(shí)應(yīng)用實(shí) 

            所有過(guò)如果認(rèn)理解語(yǔ)時(shí)關(guān)知識(shí)細(xì)比 如, C 語(yǔ)內(nèi)時(shí),對(duì) GNU  C 語(yǔ)內(nèi)嵌匯編語(yǔ)進(jìn)細(xì)介 紹;對(duì)進(jìn)行/時(shí)對(duì) Intel 中斷控8259A細(xì)說(shuō)并列使。這對(duì)碼的解所使作 者認(rèn)單獨(dú)內(nèi)來(lái)介紹識(shí)率高多。 

            Linux 0.11 內(nèi)來(lái)開(kāi)們認(rèn)識(shí) Linux 運(yùn)行機(jī)Linux-0.11 版整個(gè)內(nèi)核 源代碼只 325K 節(jié)左內(nèi)基本 Linux 的精目前最新 2.5.XX 內(nèi)核非 常大 188 節(jié),即使經(jīng)來(lái)閱讀。也問(wèn)簡(jiǎn) 入手 Linux  0.01 內(nèi)碼呢 240K 節(jié)左右 0.01 版的內(nèi)足之沒(méi)對(duì)驅(qū)動(dòng)沒(méi)有很數(shù)學(xué)協(xié) 的使對(duì)說(shuō)導(dǎo)動(dòng)程序的結(jié)構(gòu)不太一樣 0.11 的引導(dǎo) 啟動(dòng)結(jié)構(gòu)現(xiàn)基本外一個(gè)原 0.11 早期經(jīng)內(nèi) (bootimage)來(lái)進(jìn)導(dǎo)示。簡(jiǎn)文件統(tǒng)(rootimage)那么進(jìn)運(yùn)行 

             Linux  0.11  進(jìn)學(xué)習(xí)處。內(nèi)不包關(guān)進(jìn)待隊(duì)TCP/IP 網(wǎng)絡(luò)當(dāng)前對(duì)內(nèi)存使現(xiàn)的內(nèi)區(qū)Linux  網(wǎng)絡(luò)上是內(nèi)機(jī)制關(guān)此可了解 Linux  工作 的基這些碼。 

            對(duì) Linux 內(nèi)核的代進(jìn)說(shuō)了保結(jié)構(gòu)對(duì)代碼說(shuō)內(nèi)中 源代結(jié)構(gòu)來(lái)進(jìn)的,個(gè)碼中內(nèi)進(jìn)行介件 的次見(jiàn)列表。整個(gè) Linux 內(nèi)核源結(jié)構(gòu) 1.1 結(jié) 構(gòu)均 linux 當(dāng)目錄

            列表  1-1 Linux/目錄 


            本書內(nèi)個(gè) 1  4 內(nèi)導(dǎo)動(dòng) 32 位運(yùn)行方準(zhǔn)為學(xué)習(xí)內(nèi)學(xué)應(yīng)全部進(jìn) 5 10 內(nèi)核代碼 5 章內(nèi)分后續(xù)節(jié)來(lái)進(jìn) 11 13 三部內(nèi)讀 第二

            2 章概 Linux 操作統(tǒng)結(jié)構(gòu)內(nèi)核織結(jié)構(gòu)個(gè)大 致功 Linux 對(duì)內(nèi)使內(nèi)使用使用開(kāi)內(nèi)核  Linux/下的個(gè),也內(nèi)Makefile 內(nèi)文件內(nèi)編譯譯管具軟 make 使

            3 細(xì) boot/錄下個(gè)中包導(dǎo)程 bootsect.s BIOS 中參 數(shù) setup.s 32 位運(yùn)動(dòng) head.s個(gè)了把內(nèi)設(shè)引導(dǎo) 加載內(nèi)工作并對(duì)系統(tǒng)數(shù)進(jìn)探測(cè)完成了進(jìn) 32 護(hù)模式運(yùn)行內(nèi) 核系統(tǒng)執(zhí)進(jìn)化工準(zhǔn)備。

            4 要介 init/中內(nèi)統(tǒng) main.c。它是內(nèi)所有初始進(jìn)入正 常運(yùn)關(guān)地方在完成了統(tǒng)創(chuàng) shell 進(jìn)時(shí)將需 要查調(diào)序,對(duì)續(xù)節(jié)讀可調(diào)序進(jìn)內(nèi)序 的函數(shù)內(nèi)使內(nèi)應(yīng)該最先選當(dāng)看懂 main.c 的所有 程序時(shí)應(yīng)經(jīng)對(duì) Linux  內(nèi),可說(shuō)經(jīng)?對(duì)統(tǒng)、統(tǒng)調(diào)驅(qū)動(dòng)程序進(jìn)讀。

            5 要介 kenel/目錄中的程序最重要的進(jìn)調(diào)度函數(shù) schedule()sleep_on()函數(shù)關(guān)統(tǒng)調(diào)序。時(shí)應(yīng)經(jīng)對(duì)中的解。

            6  對(duì) kernel/dev_blk/目錄設(shè)進(jìn)了注說(shuō)有硬設(shè)備 的驅(qū)動(dòng)來(lái)文件統(tǒng)區(qū)交道關(guān)的內(nèi)這 章內(nèi)時(shí)資料下文統(tǒng)節(jié)。

            7  對(duì) kernel/dev_chr/目錄設(shè)驅(qū)動(dòng)序進(jìn)說(shuō)中主驅(qū) 動(dòng)程驅(qū)動(dòng)序和顯示驅(qū)動(dòng)些驅(qū)動(dòng)程構(gòu) 0.11 內(nèi)核支持的臺(tái)端 設(shè)備多與關(guān)內(nèi)閱讀時(shí)關(guān)硬件

            8 章介 kernel/math/目錄中數(shù)學(xué)協(xié)仿真程注釋的內(nèi)沒(méi)有真 正開(kāi)協(xié)此本內(nèi)較簡(jiǎn)了解可。

             9  內(nèi)  fs/目錄件系統(tǒng)序,在看內(nèi)時(shí)夠暫閱讀 Andrew S. Tanenbaum 《操作統(tǒng)設(shè)計(jì)實(shí)現(xiàn)書中關(guān) MINIX 系統(tǒng)的章節(jié) Linux 系統(tǒng) MINIX 一種文件統(tǒng),Linux 0.11 版也不例

             10 說(shuō) mm/目錄中內(nèi)存理解內(nèi)對(duì) Intel 80X86 器的護(hù)運(yùn)足夠適當(dāng)整的關(guān) 80X86 保護(hù)運(yùn)行方的說(shuō)明,這知識(shí)基上都可以 Intel  80386  程序編程手冊(cè)(Intel  80386  Programmer's Reference  Manual)。但此章中以源碼中的運(yùn)用實(shí)例對(duì)象進(jìn)行解說(shuō),應(yīng)該可更好理解它的工 作原

            現(xiàn) Linux 內(nèi)核籍都對(duì)內(nèi)描述對(duì)個(gè)學(xué)者來(lái)內(nèi)程 序時(shí)會(huì) 11 對(duì) include/錄中進(jìn)詳細(xì)說(shuō)對(duì)個(gè) 定義個(gè)數(shù)據(jù)結(jié)構(gòu)進(jìn)細(xì)為了便時(shí)對(duì)些 經(jīng)常數(shù)據(jù)結(jié)構(gòu)進(jìn)釋,內(nèi)實(shí)能在該 章內(nèi)章節(jié)使的,內(nèi)核的運(yùn)機(jī)了 解這細(xì)節(jié)。

            12 Linux 0.11 版內(nèi) lib/所有庫(kù)數(shù)件主統(tǒng)等 系統(tǒng)數(shù),對(duì)統(tǒng)會(huì)有較個(gè)版本內(nèi)容 并不看完 0.11

            13 tools/錄下 build.c 個(gè)不會(huì)內(nèi)核映像(image)中, 它僅內(nèi)引導(dǎo)內(nèi)核模個(gè)內(nèi)核kernel image)文件。

            14 學(xué)習(xí)內(nèi)核源代碼時(shí)實(shí)驗(yàn)環(huán)實(shí)驗(yàn)方 Bochs 仿統(tǒng)使用和 編 Linux 內(nèi)核法以及磁法。說(shuō) Linux  0.11 語(yǔ)使其 RedHat 9 統(tǒng)順利編譯內(nèi)來(lái)

            最后中給 Linux 內(nèi)一些數(shù)數(shù)據(jù)結(jié)構(gòu)護(hù)模 式運(yùn)機(jī)簡(jiǎn)述。 

            為了便附錄獨(dú)內(nèi)中要關(guān) PC  機(jī)考 文獻(xiàn)閱讀時(shí)書籍沒(méi)有包萬(wàn)的 繁雜獻(xiàn)如在 Linux 項(xiàng) LDPLinux Document Project)中時(shí)會(huì) 明確 HOWTO ,而并不僅給 LDP 網(wǎng)站地

            Linus 在最開(kāi)發(fā) Linux 作系統(tǒng)內(nèi)時(shí) 3 M. J. Bach UNIX 操作 系統(tǒng)設(shè)計(jì) UNIX System V 內(nèi)核原理數(shù)據(jù)結(jié)構(gòu)Linus 使用了數(shù)的算 法,Linux 內(nèi)核源代碼很多重要數(shù)的名自該書。此,在書時(shí),這一本必的 內(nèi)核書籍一本 John H. Crawford 的《Programming the 80386講解80x86 護(hù)法的好書 Andrew S.Tanenbaum MINIX 統(tǒng)設(shè)計(jì)與實(shí) 現(xiàn) 1 Linus 主要使 MINIX 文件系統(tǒng) 1.0 版,而且 Linux 內(nèi)核 中也統(tǒng)所以關(guān)系統(tǒng)內(nèi)時(shí)統(tǒng)的識(shí)完 全可 Tanenbaum 中獲 

            在對(duì)個(gè)進(jìn)說(shuō)時(shí),我簡(jiǎn)說(shuō)的主輸出數(shù)程 序的關(guān)的完對(duì)碼進(jìn)細(xì)時(shí)對(duì)原任 何方動(dòng) C 語(yǔ)語(yǔ)類語(yǔ)文注對(duì)數(shù)號(hào)名 等也息。對(duì)更為對(duì)碼中現(xiàn)語(yǔ)件 方面關(guān)識(shí)進(jìn)說(shuō)。如回頭會(huì)有會(huì)

            對(duì)于些基識(shí)散布個(gè)節(jié)應(yīng)方,了 能夠便結(jié)合時(shí)對(duì)些基解。

            最后說(shuō)當(dāng)經(jīng)完全說(shuō)一切時(shí)經(jīng)成個(gè) Linux 行家了,你只剛踏 Linux 的征途個(gè) Linux  GURU 知識(shí)時(shí)應(yīng)多的漸進(jìn) 1.0  開(kāi)到最開(kāi)發(fā)數(shù)編號(hào)本 書時(shí) Linux 內(nèi)核 2.5.44 當(dāng)速理解這開(kāi)發(fā)甚至補(bǔ) 丁(patch時(shí)我也甘拜風(fēng)?

             1.3 本章小結(jié) 

            首先 Linux 誕生發(fā)展個(gè)UNIX 開(kāi)放原代碼版 Linux 提供了 實(shí)現(xiàn)Rechard Stallman GNU 計(jì) Linux 統(tǒng)富且費(fèi)實(shí)POSIX 標(biāo)準(zhǔn)出現(xiàn) Linux 提供實(shí)現(xiàn)標(biāo)準(zhǔn)兼容系統(tǒng)南、A.S.T MINIX 操作系統(tǒng) Linux 的誕參考Internet Linux 成長(zhǎng)和環(huán)后本內(nèi)容。

            posted on 2010-02-06 03:00 小默 閱讀(457) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Linux

            導(dǎo)航

            統(tǒng)計(jì)

            留言簿(13)

            隨筆分類(287)

            隨筆檔案(289)

            漏洞

            搜索

            積分與排名

            最新評(píng)論

            閱讀排行榜

            性做久久久久久久| 国产999精品久久久久久| 精品久久久久中文字| 欧美精品一区二区久久| 国产精品亚洲综合久久 | 久久九九全国免费| 久久99精品国产| 人人狠狠综合88综合久久| 亚洲va久久久噜噜噜久久狠狠| 韩国无遮挡三级久久| 久久强奷乱码老熟女| 色妞色综合久久夜夜| 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲 | 情人伊人久久综合亚洲| 久久久精品国产亚洲成人满18免费网站| 亚洲国产成人久久综合野外| 99久久er这里只有精品18| 久久se精品一区二区影院| 狠狠88综合久久久久综合网 | 波多野结衣中文字幕久久| 久久97久久97精品免视看| 久久Av无码精品人妻系列| 日本高清无卡码一区二区久久| 丁香五月网久久综合| 亚洲精品国产美女久久久| 婷婷久久综合| 久久亚洲精品无码播放| 青青青国产精品国产精品久久久久 | 一本久久a久久精品综合香蕉| 久久精品国产亚洲精品2020| 久久精品亚洲AV久久久无码| 亚洲国产精品嫩草影院久久| 久久精品国产欧美日韩| 国产激情久久久久影院| 国产精品免费久久久久久久久 | 国产精品久久自在自线观看| 亚洲日韩中文无码久久| 久久精品国产AV一区二区三区| 伊人久久一区二区三区无码| 99久久免费国产精品特黄| 久久精品人妻中文系列|