GNU的歷史

姓名:楊誼? ? 學(xué)號(hào):16130120200

【嵌牛導(dǎo)讀】

GNU就是GNU's Not Unix的縮寫(xiě)。目前的linux操作系統(tǒng)應(yīng)該叫做 GNU/linux 。

【嵌牛鼻子】GNU,GNU計(jì)劃, linux ,stallman,自由軟件運(yùn)動(dòng)。

【嵌牛提問(wèn)】什么是GNU,它的歷史是什么,它與linux系統(tǒng)有什么關(guān)系?

【嵌牛正文】

GNU 的創(chuàng)始人Stallman 認(rèn)為UNIX 雖然不是最好的操作系統(tǒng),但是至少不會(huì)太差,而他自信有能力把UNIX 不足的地方加以改進(jìn),使它成為一個(gè)優(yōu)良的操作系統(tǒng), 就是名為 GNU的一個(gè)同UNIX兼容的操作系統(tǒng),并且開(kāi)發(fā)這 個(gè)系統(tǒng)的目的就是為了讓所有計(jì)算機(jī)用戶都可以自由地獲得這個(gè)系統(tǒng)。

任何人都可以免費(fèi)地獲得這個(gè)系統(tǒng)的源代碼,并且可以相互自由拷貝。因而在使用GNU軟件的時(shí)候我們可以理直氣壯地說(shuō)我們使用的是正版軟件。當(dāng)然GNU也是有自己的版權(quán)聲明(即GPL,見(jiàn)附 錄A)的,就是它有名的Copyleft(相對(duì)于版權(quán)的英文Copyright),就是用戶獲得GNU 軟件后可以自由使用和修改,但是用戶在散布GNU軟件時(shí),必須讓下一個(gè)用戶有獲得源代 碼的權(quán)利并且必須告知他這一點(diǎn)。這一條看似古怪的規(guī)定是為了防止有些別有用心的人或 公司將GNU軟件稍加修改就去申請(qǐng)版權(quán),說(shuō)成是自己的產(chǎn)品。其目的就是要讓GNU永遠(yuǎn) 是免費(fèi)和公開(kāi)的。

GNU是誰(shuí)發(fā)起的? GNU 是由自由軟件基金會(huì) (Free Software Foundation, FSF) 的董事長(zhǎng)Richard M. Stallman (RMS)于1984年發(fā)起的,如今已經(jīng)有多年的歷史了。

Stallman本來(lái)是在美國(guó)麻省理工學(xué)院的人工智能實(shí)驗(yàn)室從事研究工作的研究員, 同時(shí)也是 世界上可數(shù)的幾個(gè)頂尖程序員之一,他的最著名的作品也是GNU的第一個(gè)軟件就是GNU Emacs,UNIX平臺(tái)上的一個(gè)編輯器。這個(gè)軟件推出后受到廣大UNIX用戶的熱烈歡迎, 由于它同時(shí)提供源代碼,大家都熱心地替它排除錯(cuò)誤,增加功能,它的功能越來(lái)越強(qiáng)大, 終于成為UNIX平臺(tái)上最好的編輯器,上至CRAY超級(jí)計(jì)算機(jī),下至最普遍的 PC機(jī),從 DOS到Windows,從VMS到UNIX都可以使用這個(gè)Emacs。

受到這個(gè)軟件成功的鼓勵(lì), Stallman成立了自由軟件基金會(huì),以推廣GNU計(jì)劃。 基金會(huì)成立之后,主要靠一些廠家的捐獻(xiàn)和出售GNU程序的使用手冊(cè),以及拷貝GNU軟件的電腦磁帶和光盤(pán)來(lái)維持,不過(guò)許多硬件廠家開(kāi)始為基金會(huì)提供高性能的工作站,這其中包括HP和 SONY,AT&T這樣的國(guó)際性大公司。

GNU目前已經(jīng)推出的軟件主要由Emacs──功能強(qiáng)大的編輯環(huán)境,GCC──性能優(yōu)異的多平臺(tái)的C,C++,F(xiàn)ortran編譯器和其他40多種軟件。其中GCC的成功為GNU帶來(lái)了前所未有的影響。GCC是一種可以在11種硬件平臺(tái)上編譯出可執(zhí)行程序的超級(jí)編譯 器,而且其執(zhí)行效率更是驚人,與一般的編譯器相比平均效率要高20%-30%。這使得很多商業(yè)公司也采用GCC來(lái)開(kāi)發(fā)軟件,其中包括像HP公司這樣的專業(yè)大公司。 而現(xiàn)在回到蘋(píng)果公司的前NeXT公司總裁斯蒂夫·喬布斯也對(duì)Stallman尊敬有加,因?yàn)镹eXT公司的軟件都是用GCC開(kāi)發(fā)的,在PC游戲中最好的3D射擊游戲quake(由ID Software公司開(kāi)發(fā)) 也是用GCC的DOS移植版本djgpp編寫(xiě)的。

GCC是C,C++,Objective C(由NeXT公司貢獻(xiàn))三者合一的編譯器,它的編譯原理同大多數(shù)編譯器不一樣,它先有一個(gè)前端處理 程序?qū),C++,Ovjective C的語(yǔ)句轉(zhuǎn)換成為一個(gè)類似于Lisp的內(nèi)部語(yǔ)言--RTL,再由一個(gè)后端處理程序?qū)⑵鋬?yōu)化后產(chǎn)生目的CPU可以執(zhí)行的機(jī)器代碼,因而對(duì)于每種新語(yǔ)言來(lái)說(shuō),只要寫(xiě)好一個(gè)新的前端處理程序就可以立刻將此語(yǔ)言移植到GCC已經(jīng)支持的不同硬件平臺(tái)上去,而且編譯出來(lái)的就已經(jīng)是經(jīng)過(guò)優(yōu)化的二進(jìn)制代碼。除了C系列以外,GCC還有Fortran 77,ada9x,Pascal的前端處理程序。GCC的多平臺(tái)的實(shí)現(xiàn)方法同JAVA的虛 擬機(jī)技術(shù)不太一樣,因而其運(yùn)行速度遠(yuǎn)非JAVA能望其項(xiàng)背。

GNU 開(kāi)始的策略就是先開(kāi)發(fā) UNIX 已經(jīng)有的程序(因?yàn)橛?jì)劃中GNU將會(huì)是一個(gè)與 UNIX兼容的操作系統(tǒng),而UNIX下的標(biāo)準(zhǔn)使用界面已經(jīng)非常完善了,所以先依照這個(gè)標(biāo)準(zhǔn)開(kāi)發(fā)應(yīng)用程序,將來(lái) GNU 自己的系統(tǒng)核心一出來(lái),就立即可以使用所有先前開(kāi)發(fā)的GNU應(yīng)用程序),因此會(huì)先有 emacs,GCC 等工具軟件開(kāi)發(fā)出來(lái)。

其中 GCC 更是GNU計(jì)劃自立更生的一個(gè)重要步驟(不需要依靠商業(yè)軟件來(lái)產(chǎn)生/編譯整個(gè)GNU系統(tǒng)),如今這套程序開(kāi)發(fā)工具已經(jīng)很成熟了。下一步要做的就是開(kāi)發(fā)GNU的核心--Hurd了,只要Hurd一開(kāi)發(fā)出來(lái),GNU 就是一套能夠自我開(kāi)機(jī),真正自給自足,完整的自由操作系統(tǒng)。

Hurd是基于Mach這個(gè)微內(nèi)核(micro kernel)上的操作系統(tǒng)核心。 以后會(huì)使用尤他大學(xué)的Mach4 (一個(gè)更為方便和快速的微內(nèi)核),由于Hurd基于Mach,所以只要Mach移植到什么機(jī)器上,Hurd也立刻就是這種硬件平臺(tái)的操作系統(tǒng),就這一點(diǎn)而言,它是一種很前衛(wèi)的操作系統(tǒng)。 但是 Linux 在短短的幾年內(nèi)崛起,也使用 GNU 的版權(quán)聲明,大有取代 Hurd 之勢(shì)。 在網(wǎng)絡(luò)上甚至有不少人認(rèn)為Hurd 應(yīng)該停止開(kāi)發(fā), 因?yàn)?Linux 系統(tǒng)已經(jīng)十分成熟,GNU 實(shí)際上可以使用Linux 當(dāng)作核心,也能構(gòu)成一套完整的操作系統(tǒng)。甚至連自由軟件基金會(huì) 的技術(shù)人員也承認(rèn),要是 Linux早幾年出現(xiàn),也許就不用發(fā)展 Hurd 了。

但是 Linux 還是晚了一步,Hurd 已經(jīng)計(jì)劃很久了,技術(shù)上有很多非常領(lǐng)先的地方,能夠支持的硬件平臺(tái)也 比Linux多,不完成就太可惜了。1994 年 11 月,Hurd 的第一個(gè)雛形已經(jīng)發(fā)表; 1995 年 4 月,也發(fā)表了第二次snapshot。Hurd目前的版本是0.2,是1997年6月發(fā)布的,已經(jīng)可 以獨(dú)立安裝與穩(wěn)定運(yùn)行了,GNU版本的Mach 目前的版本是1.1.3。

與此同時(shí),已經(jīng)開(kāi)發(fā) 出一個(gè)基于微內(nèi)核的Linux版本了,目前有一個(gè)可以在HP-PA RISC機(jī)器上運(yùn)行的Linux系統(tǒng)。 實(shí)際上,自由軟件基金會(huì)目前有一套以 Linux 為核心的 GNU 系統(tǒng)計(jì)劃。這個(gè)計(jì)劃 就是自由軟件基金會(huì)支持的 Debian Linux。 Debian Linux 是 GNU軟件與公共軟件 (Public Domain Software )最徹底的結(jié)合,它是一套完全由GNU 和公共軟件配置起來(lái)的, 而且具有商業(yè)操作系統(tǒng)水平的操作系統(tǒng)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容