• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      淺談開(kāi)源操作系統(tǒng)的歷史

      2021-01-16 06:22:29齊兵輝鄭州航空工業(yè)管理學(xué)院智能工程學(xué)院
      環(huán)球市場(chǎng) 2021年15期
      關(guān)鍵詞:源碼編譯器源代碼

      齊兵輝 鄭州航空工業(yè)管理學(xué)院智能工程學(xué)院

      開(kāi)源操作系統(tǒng)(open source operating system),就是公開(kāi)源代碼的操作系統(tǒng)軟件,可以遵循開(kāi)源協(xié)議(GNU)進(jìn)行使用、編譯和再發(fā)布。在遵守GNU協(xié)議的前提下,任何人都可以免費(fèi)使用,隨意控制軟件的運(yùn)行方式。

      開(kāi)源操作系統(tǒng)(open-source operating system)具有源碼,而非只有編譯過(guò)的二進(jìn)制碼。Linux是最為著名的開(kāi)源操作系統(tǒng),而Microsoft Windows則是一個(gè)著名的閉源(closed source)的系統(tǒng)。Apple公司的Mac OS X和iOS操作系統(tǒng)采用一種混合方式。它們有開(kāi)源的內(nèi)核,稱為Darwin,也有閉源的專用組件。

      從源碼可以生成二進(jìn)制碼,以便在系統(tǒng)上運(yùn)行。而反著干,即從二進(jìn)制碼到源碼的逆向工程(reverse engineering),則很費(fèi)力,并且也無(wú)法恢復(fù)一些有用信息,如注釋。通過(guò)閱讀源碼學(xué)習(xí)操作系統(tǒng)還有很多好處。有了源碼,學(xué)生可以修改操作系統(tǒng),再編譯和運(yùn)行源碼,觀 察修改結(jié)果,這是很好的學(xué)習(xí)方式。

      計(jì)算機(jī)和軟件公司試圖限制軟件使用,如只限于授權(quán)計(jì)算機(jī)和付費(fèi)客戶。僅發(fā)布二進(jìn)制代碼而非源代碼,可讓這些公司實(shí)現(xiàn)這一目標(biāo);對(duì)競(jìng)爭(zhēng)對(duì)手來(lái)說(shuō),也保護(hù)了代碼及其方法。還有一個(gè)問(wèn)題是關(guān)于知識(shí)產(chǎn)權(quán)的。操作系統(tǒng)和其他程序可以實(shí)施限制,只有授權(quán)計(jì)算機(jī)才可播放視頻和音樂(lè)、閱讀電子書(shū)等。如果實(shí)現(xiàn)這些限制的源碼公開(kāi)了,那么復(fù)制保護(hù)(copy protection)和數(shù)字版權(quán)管理(Digital Rights Management,DRM)就無(wú)效了。許多國(guó)家 的法律,包括美國(guó)的千禧年數(shù)字版權(quán)法案(Digital Millennium Copyright Act,DMCA),都認(rèn)定DRM代碼的逆向工程或試圖繞過(guò)復(fù)制保護(hù)是違法的。

      為反對(duì)限制軟件使用與再發(fā)布,Richard Stallman于1983年設(shè)立了GNU項(xiàng)目,以創(chuàng)建一個(gè)免費(fèi)的、開(kāi)源的、兼容UNIX的操作系統(tǒng)。1985年,他發(fā)表了GNU宣言,主張軟件應(yīng)是免費(fèi)的和開(kāi)源的。他也設(shè)立了自由軟件基金會(huì)(Free Software Foundation,F(xiàn)SF),以鼓勵(lì)自由交流軟件源碼和免費(fèi)使用軟件。FSF不是對(duì)軟件施加版權(quán)(copyright),而是對(duì)軟件施加著佐權(quán)(copyleft),鼓勵(lì)共享和改進(jìn)。GNU通用公共許可證(Gnu General Pubic License,GPL)為著佐權(quán)的條文,這是一個(gè)發(fā)行軟件的公共許可證。從根本上說(shuō),GPL規(guī)定:軟件源代碼應(yīng)與二進(jìn)制一起分布,軟件源代碼的任何修改應(yīng)按同樣的GPL許可來(lái)發(fā)布。

      GNU/Linux是開(kāi)源操作系統(tǒng)的范例。GNU項(xiàng)目開(kāi)發(fā)了許多與UNIX兼容的工具,包括編譯器、編輯器及其他實(shí)用程序,但從未發(fā)布內(nèi)核。1991年,一位名叫Linus Torvalds 的芬蘭大學(xué)生,利用GNU編譯器和工具,開(kāi)發(fā)并發(fā)布了一個(gè)類似UNIX的簡(jiǎn)單內(nèi)核,并邀請(qǐng)大家一起開(kāi)發(fā)。有了Internet,任何有興趣的人員都可下載源碼,可修改它,可向Torvalds遞交修改。每周更新一次,加上數(shù)千程序員的共同努力,使得這個(gè)稱為L(zhǎng)inux的操作系統(tǒng)迅速發(fā)展起來(lái)。

      這樣形成的GNU/Linux操作系統(tǒng)有數(shù)百個(gè)的不同發(fā)布(distribution)和定制。主流的發(fā)布有RedHat、SUSE、Fedora、Debian、Slackware和Ubuntu。在功能、實(shí)用程序、應(yīng)用程序、硬件支持、用戶界面和用途等方面,這些發(fā)布不盡相同。例如,RedH Enterorise Linux針對(duì)的是大企業(yè)的應(yīng)用。PCLinuxOS為L(zhǎng)iveCD,該操作系統(tǒng)可以從CD-ROM上直接引導(dǎo)并運(yùn)行,而無(wú)須安裝到系統(tǒng)硬盤(pán)。一種稱為“PCLinuxOS Supergamer DVD”的PCLinuxOS為L(zhǎng)iveDVD,它包括圖形驅(qū)動(dòng)程序和游戲。玩家可以在任何兼容系統(tǒng)上,直接從DVD引導(dǎo)并開(kāi)始游戲。游戲結(jié)束后,系統(tǒng)重新引導(dǎo)就會(huì)回到原來(lái)安裝的操作系統(tǒng)。

      正如Linux一樣,BSD UNIX也有許多發(fā)布,如FreeBSD、NetBSD、OpenBSD和DragonflyBSD等。為了研究FreeBSD源碼,只要下載感興趣版本的虛擬機(jī)鏡像,并從VMware中引導(dǎo)即可,具體步驟與Linux相似。

      自由軟件運(yùn)動(dòng)使得眾多程序員創(chuàng)建了數(shù)千個(gè)開(kāi)源項(xiàng)目,包括操作系統(tǒng)。網(wǎng)站如http://freshmeat.neg/和 http://distrowatch.com/為許多這些項(xiàng)目提供了門(mén)戶網(wǎng)站。正如以上所述,開(kāi)源項(xiàng)目讓學(xué)生利用源碼作為學(xué)習(xí)工具。他們可以修改程序,測(cè)試程序,幫助查錯(cuò)和糾錯(cuò),也可研究全功能的成熟操作系統(tǒng)、編譯器、工具、用戶界面和許多其他類型的程序。以前項(xiàng)目(如Multics)的源碼有助于學(xué)生學(xué)習(xí)這些項(xiàng)目,增長(zhǎng)知識(shí),實(shí)現(xiàn)新的項(xiàng)目。

      雖然GNU/Linux和BSD UNIX都是開(kāi)源操作系統(tǒng),但是它們有自己的目標(biāo)、工具、版權(quán)和用途。有時(shí),版權(quán)并不互斥,也會(huì)出現(xiàn)交叉,這也加快了開(kāi)源操作系統(tǒng)項(xiàng)目的改進(jìn)。例如,OpenSolaris的多個(gè)組件就移植到BSD UNIX。免費(fèi)和開(kāi)源的優(yōu)點(diǎn)可能是:提高了開(kāi)源項(xiàng)目的數(shù)量和質(zhì)量,使用這些項(xiàng)目的個(gè)人和公司也增加了。

      猜你喜歡
      源碼編譯器源代碼
      人工智能下復(fù)雜軟件源代碼缺陷精準(zhǔn)校正
      基于網(wǎng)頁(yè)源碼結(jié)構(gòu)理解的自適應(yīng)爬蟲(chóng)代碼生成方法
      基于圖神經(jīng)網(wǎng)絡(luò)的軟件源碼漏洞檢測(cè)方法
      基于TXL的源代碼插樁技術(shù)研究
      企業(yè)如何保護(hù)源碼
      基于相異編譯器的安全計(jì)算機(jī)平臺(tái)交叉編譯環(huán)境設(shè)計(jì)
      軟件源代碼非公知性司法鑒定方法探析
      基于數(shù)據(jù)結(jié)構(gòu)教輔系統(tǒng)的實(shí)驗(yàn)課程改革
      揭秘龍湖產(chǎn)品“源代碼”
      通用NC代碼編譯器的設(shè)計(jì)與實(shí)現(xiàn)
      武安市| 镇坪县| 凭祥市| 鹿泉市| 彭阳县| 柯坪县| 铜山县| 东阳市| 彰武县| 博乐市| 涟水县| 南宫市| 额济纳旗| 平武县| 康平县| 麻栗坡县| 巨野县| 革吉县| 怀远县| 延安市| 仙居县| 绵阳市| 福鼎市| 铜川市| 新巴尔虎右旗| 靖边县| 尤溪县| 平乐县| 静乐县| 淄博市| 乌兰县| 祥云县| 武功县| 文登市| 武冈市| 贵港市| 崇左市| 邯郸市| 濉溪县| 洪泽县| 祁东县|